[Cython] Cython 0.23.4: Crash with Template Stuff

Kevin Thornton krthornt at uci.edu
Mon Feb 1 20:08:30 EST 2016


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20160202/b46d6ad6/attachment.html>


More information about the cython-devel mailing list