[Cython] Cython 0.23.4: Crash with Template Stuff

Robert Bradshaw robertwb at gmail.com
Tue Feb 2 03:39:01 EST 2016


+1 to a better error message. Pull requests accepted :). As for
actually implementing this feature, the pull request has been bogged
down in trying to accept expressions and types in exactly the right
places. (It's messy because one needs both Fizzle[bubble*] and
Fizzle[bubble*bubble] to parse...

On Mon, Feb 1, 2016 at 9:32 PM, Kevin Thornton <krthornt at uci.edu> wrote:
> That'd be nice, but the main developers will have to weigh in on that.
>
> On Mon, Feb 1, 2016 at 21:14 Elizabeth Fischer <rpf2116 at columbia.edu> wrote:
>>
>> I think you've figured out what's going on.  Short of adding the feature,
>> is it possible to add a better error message, rather than what looks like a
>> random crash?
>>
>> -- Elizabeth
>>
>>
>>
>> On Mon, Feb 1, 2016 at 8:08 PM, Kevin Thornton <krthornt at uci.edu> wrote:
>>>
>>> Without knowing more about the "blitz" stuff, it is hard to provide
>>> detailed help.
>>>
>>> However, it looks like you have a template taking a non-typename as a
>>> parameter, which is not currently supported in Cython.
>>>
>>> In other words, the 1 in [double,1] is not a type name, and that causes
>>> Cython to give up.  There is a pull request in progress to fix this issue on
>>> GitHub, but I'm not sure what the latest is on that.
>>>
>>> On Sun, Jan 31, 2016 at 11:07 PM Elizabeth Fischer <rpf2116 at columbia.edu>
>>> wrote:
>>>>
>>>> Cython is crashing on me when I compile.  See below.
>>>>
>>>> -- Elizabeth
>>>>
>>>> cython --version
>>>>
>>>> Cython version 0.23.4
>>>>
>>>>
>>>> Error compiling Cython file:
>>>> ------------------------------------------------------------
>>>> ...
>>>> #        cdef int flags
>>>>
>>>> def test_double_blitz(a):
>>>> cdef vector[int] v
>>>> cdef cblitz.Array[double,1] a_b
>>>> a_b = cibmisc.np_to_blitz[double,1](a, b'var', [-1])
>>>>                          ^
>>>> ------------------------------------------------------------
>>>>
>>>> /Users/rpfische/git/ibmisc/pylib/ibmisc.pyx:38:26: Compiler crash in
>>>> AnalyseExpressionsTransform
>>>>
>>>> ModuleNode.body = StatListNode(ibmisc.pyx:1:0)
>>>> StatListNode.stats[3] = StatListNode(ibmisc.pyx:35:0)
>>>> StatListNode.stats[0] = DefNode(ibmisc.pyx:35:0,
>>>>     modifiers = [...]/0,
>>>>     name = 'test_double_blitz',
>>>>     num_required_args = 1,
>>>>     py_wrapper_required = True,
>>>>     reqd_kw_flags_cname = '0',
>>>>     used = True)
>>>> File 'Nodes.py', line 430, in analyse_expressions:
>>>> StatListNode(ibmisc.pyx:36:1)
>>>> File 'Nodes.py', line 4775, in analyse_expressions:
>>>> SingleAssignmentNode(ibmisc.pyx:38:36)
>>>> File 'Nodes.py', line 4887, in analyse_types:
>>>> SingleAssignmentNode(ibmisc.pyx:38:36)
>>>> File 'ExprNodes.py', line 4640, in analyse_types:
>>>> SimpleCallNode(ibmisc.pyx:38:36,
>>>>     analysed = True,
>>>>     result_is_used = True,
>>>>     use_managed_ref = True)
>>>> File 'ExprNodes.py', line 3109, in analyse_types:
>>>> IndexNode(ibmisc.pyx:38:26,
>>>>     is_called = 1,
>>>>     is_subscript = True,
>>>>     result_is_used = True,
>>>>     use_managed_ref = True)
>>>> File 'ExprNodes.py', line 3419, in analyse_base_and_index_types:
>>>> IndexNode(ibmisc.pyx:38:26,
>>>>     is_called = 1,
>>>>     is_subscript = True,
>>>>     result_is_used = True,
>>>>     use_managed_ref = True)
>>>>
>>>> Compiler crash traceback from this point on:
>>>>   File
>>>> "/Users/rpfische/macports/mpgompi-4.9.3/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/Cython/Compiler/ExprNodes.py",
>>>> line 3419, in analyse_base_and_index_types
>>>>     elif len(base_type.templates) != len(self.type_indices):
>>>> TypeError: object of type 'NoneType' has no len()
>>>> make[2]: *** [pylib/ibmisc.cpp] Error 1
>>>> make[2]: *** Deleting file `pylib/ibmisc.cpp'
>>>> make[1]: *** [pylib/CMakeFiles/ibmisc_so.dir/all] Error 2
>>>> make: *** [all] Error 2
>>>>
>>>> _______________________________________________
>>>> cython-devel mailing list
>>>> cython-devel at python.org
>>>> https://mail.python.org/mailman/listinfo/cython-devel
>>>
>>>
>>> _______________________________________________
>>> cython-devel mailing list
>>> cython-devel at python.org
>>> https://mail.python.org/mailman/listinfo/cython-devel
>>>
>>
>> _______________________________________________
>> cython-devel mailing list
>> cython-devel at python.org
>> https://mail.python.org/mailman/listinfo/cython-devel
>
>
> _______________________________________________
> cython-devel mailing list
> cython-devel at python.org
> https://mail.python.org/mailman/listinfo/cython-devel
>


More information about the cython-devel mailing list