Skip to content

Mysterious CI crash #4503

@scoder

Description

@scoder

Seems to occur randomly in Py3.9, e.g.
https://github.com/cython/cython/runs/4569558060?check_suite_focus=true
https://github.com/cython/cython/runs/4571038859?check_suite_focus=true

Error compiling Cython file:
------------------------------------------------------------
...
        self.reductions = set()

        self.in_inplace_assignment = False
        self.env_stack = []
        self.env = node.scope
        self.stack = []
                    ^
------------------------------------------------------------

Cython/Compiler/FlowControl.py:687:21: Compiler crash in AnalyseExpressionsTransform

ModuleNode.body = StatListNode(FlowControl.py:4:0)
StatListNode.stats[31] = StatListNode(FlowControl.py:674:0)
StatListNode.stats[0] = CClassDefNode(FlowControl.py:674:0,
    class_name = 'ControlFlowAnalysis',
    punycode_class_name = 'ControlFlowAnalysis',
    visibility = 'private')
CClassDefNode.body = StatListNode(FlowControl.py:676:4)
StatListNode.stats[0] = DefNode(FlowControl.py:676:4,
    is_cyfunction = True,
    modifiers = [...]/0,
    name = 'visit_ModuleNode',
    np_args_idx = [...]/0,
    num_required_args = 2,
    outer_attrs = [...]/2,
    py_wrapper_required = True,
    reqd_kw_flags_cname = '0',
    used = True)
File 'Nodes.py', line 396, in analyse_expressions: StatListNode(FlowControl.py:677:8,
    is_terminator = True)
File 'Nodes.py', line 5725, in analyse_expressions: SingleAssignmentNode(FlowControl.py:687:21)
File 'Nodes.py', line 5845, in analyse_types: SingleAssignmentNode(FlowControl.py:687:21)
File 'ExprNodes.py', line 8227, in analyse_types: ListNode(FlowControl.py:687:21,
    constant_result = [...]/0,
    is_sequence_constructor = 1,
    is_temp = 1,
    obj_conversion_errors = [...]/0,
    original_args = [...]/0,
    result_is_used = True,
    use_managed_ref = True)

Compiler crash traceback from this point on:
  File "/home/runner/work/cython/cython/Cython/Compiler/ExprNodes.py", line 8227, in analyse_types
    node = SequenceNode.analyse_types(self, env)
  File "/opt/hostedtoolcache/Python/3.9.9/x64/lib/python3.9/contextlib.py", line 126, in __exit__
    next(self.gen)
  File "/home/runner/work/cython/cython/Cython/Compiler/Errors.py", line 260, in local_errors
    release_errors(ignore=ignore)
  File "/home/runner/work/cython/cython/Cython/Compiler/Errors.py", line 241, in release_errors
    held_errors = error_stack.pop()
IndexError: pop from empty list

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions