xpra icon
Bug tracker and wiki

Opened 5 months ago

Closed 5 months ago

#1564 closed task (fixed)

Cython 0.26 compatibility

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: critical Milestone: 2.1
Component: packaging Version: trunk
Keywords: Cc:

Description

r16176 added the latest 0.26b0 to the rpm specfile.
Problem is that all versions now fail to build, the bug has been reported upstream: carray_from_* unused-function warnings with 0.26b0

Change History (9)

comment:1 Changed 5 months ago by Antoine Martin

Status: newassigned

r16177 detects the cython version and turns the error back into a warning.
Hopefully the upstream bug will be fixed, or we will be told how to change our code to not trigger the warning.
If not, then r16177 will need to be backported.

comment:2 Changed 5 months ago by Antoine Martin

Fixed in r16179 by disabling the auto_pickle feature, which we do not use.

comment:3 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed

comment:4 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: closedreopened

New problem: we cannot build older branches... first we have to backport r16179 and then we hit this one with the nvenc module:

Compiling xpra/codecs/nvenc7/encoder.pyx because it changed.
[1/1] Cythonizing xpra/codecs/nvenc7/encoder.pyx
Traceback (most recent call last):
  File "./setup.py", line 2484, in <module>
    setup_options["ext_modules"] = cythonize(ext_modules, gdb_debug=False)
  File "/usr/lib64/python2.7/site-packages/Cython/Build/Dependencies.py", line 1016, in cythonize
    cythonize_one(*args)
  File "/usr/lib64/python2.7/site-packages/Cython/Build/Dependencies.py", line 1121, in cythonize_one
    result = compile([pyx_file], options)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Main.py", line 690, in compile
    return compile_multiple(source, options)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Main.py", line 668, in compile_multiple
    result = run_pipeline(source, options, context=context)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Main.py", line 494, in run_pipeline
    err, enddata = Pipeline.run_pipeline(pipeline, source)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Pipeline.py", line 341, in run_pipeline
    data = phase(data)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Pipeline.py", line 53, in generate_pyx_code_stage
    module_node.process_implementation(options, result)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/ModuleNode.py", line 141, in process_implementation
    self.generate_c_code(env, options, result)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/ModuleNode.py", line 369, in generate_c_code
    self.body.generate_function_definitions(env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 419, in generate_function_definitions
    stat.generate_function_definitions(env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 419, in generate_function_definitions
    stat.generate_function_definitions(env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 4668, in generate_function_definitions
    self.body.generate_function_definitions(self.scope, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 419, in generate_function_definitions
    stat.generate_function_definitions(env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 3073, in generate_function_definitions
    FuncDefNode.generate_function_definitions(self, env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 1923, in generate_function_definitions
    self.generate_function_body(env, code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 1686, in generate_function_body
    self.body.generate_execution_code(code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 425, in generate_execution_code
    stat.generate_execution_code(code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 5887, in generate_execution_code
    if_clause.generate_execution_code(code, end_label, is_last=i == last)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 5930, in generate_execution_code
    self.body.generate_execution_code(code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 425, in generate_execution_code
    stat.generate_execution_code(code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 7053, in generate_execution_code
    fresh_finally_clause().generate_execution_code(code)
  File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Nodes.py", line 7041, in fresh_finally_clause
    node_copy = copy.deepcopy(node)
  File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
(...)
  File "/usr/lib64/python2.7/copy.py", line 166, in deepcopy
    issc = issubclass(cls, type)
RuntimeError: maximum recursion depth exceeded while calling a Python object

comment:5 Changed 5 months ago by Antoine Martin

Priority: majorcritical

This looks very similar to #947.

comment:7 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: reopenedclosed

The "recursion depth" issue has been fixed:

https://github.com/cython/cython/commit/114fe16bdaa527bb5024c975a8accfc1e052ab68 and will be included in the 0.26 release.

comment:8 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: closedreopened

And a new issue popped up with the latest beta build (bumped spec file to 0.26b2 in r16282): attribute ‘fallthrough’ not preceding a case label or default label

Last edited 5 months ago by Antoine Martin (previous) (diff)

comment:9 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.