Skip to content
Commit f52fefb5 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Merge branch 'symengine-fixes' into 'master'

Fix SymEngine code generation. Closes #24.

Closes #24

See merge request !54
parents 9ebdc0d0 9397eafa
Loading
Loading
Loading
Pipeline #8469 failed with stage
in 12 minutes and 5 seconds
Loading
  • Author Owner

    @mattwala @isuruf Ouch. The conda build died with a segfault, after passing in !54 (merged). Any clue what might be happening?

  • Maintainer

    Test node ran out of memory?

  • Author Owner

    Unlikely--porter has 64 GiB.

  • Author Owner

    Plus swap.

  • Maintainer

    Stack trace. Looks like something to do with loading SymEngine:

    #0  0x00000000000570d6 in ?? ()
    #1  0x00007fffc6cea258 in PyInit_symengine_wrapper ()
       from /home/wala1/sumpy-test/sumpy/.miniconda3/envs/testing/lib/python3.5/site-packages/symengine/lib/symengine_wrapper.cpython-35m-x86_64-linux-gnu.so
    #2  0x00007ffff7a2d4a7 in _PyImport_LoadDynamicModuleWithSpec (spec=spec@entry=0x7fffc5f5e550, fp=fp@entry=0x0) at ./Python/importdl.c:154
    #3  0x00007ffff7a2b45b in _imp_create_dynamic_impl (module=<optimized out>, file=<optimized out>, spec=0x7fffc5f5e550) at Python/import.c:2031
    #4  _imp_create_dynamic (module=<optimized out>, args=<optimized out>) at Python/clinic/import.c.h:282
    #5  0x00007ffff79740f9 in PyCFunction_Call (func=func@entry=0x7ffff6984ee8, args=args@entry=0x7fffc5f5e128, kwds=kwds@entry=0x7fffc5f69b88)
        at Objects/methodobject.c:109
    #6  0x00007ffff7a0fed1 in ext_do_call (nk=<optimized out>, na=0, flags=<optimized out>, pp_stack=0x7fffffff1b20, func=0x7ffff6984ee8) at Python/ceval.c:5084
    #7  PyEval_EvalFrameEx (f=f@entry=0x7fffc5f63930, throwflag=throwflag@entry=0) at Python/ceval.c:3328
    #8  0x00007ffff7a11416 in _PyEval_EvalCodeWithName (_co=0x7ffff69790c0, globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, argcount=2, 
        kws=0x7fffc9024b00, kwcount=0, defs=0x0, defcount=0, kwdefs=kwdefs@entry=0x0, closure=0x0, name=name@entry=0x7ffff69727b0, qualname=0x7ffff69727b0)
        at Python/ceval.c:4071
    #9  0x00007ffff7a0e515 in fast_function (nk=<optimized out>, na=<optimized out>, n=2, pp_stack=0x7fffffff1d40, func=<optimized out>) at Python/ceval.c:4866
    #10 call_function (oparg=<optimized out>, pp_stack=0x7fffffff1d40) at Python/ceval.c:4783
    #11 PyEval_EvalFrameEx (f=f@entry=0x7fffc9024958, throwflag=throwflag@entry=0) at Python/ceval.c:3289
    #12 0x00007ffff7a0f130 in fast_function (nk=<optimized out>, na=<optimized out>, n=2, pp_stack=0x7fffffff1ec0, func=<optimized out>) at Python/ceval.c:4856
    #13 call_function (oparg=<optimized out>, pp_stack=0x7fffffff1ec0) at Python/ceval.c:4783
    #14 PyEval_EvalFrameEx (f=f@entry=0x7fffc9024788, throwflag=throwflag@entry=0) at Python/ceval.c:3289
    #15 0x00007ffff7a0f130 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffffff2040, func=<optimized out>) at Python/ceval.c:4856
    #16 call_function (oparg=<optimized out>, pp_stack=0x7fffffff2040) at Python/ceval.c:4783
    #17 PyEval_EvalFrameEx (f=f@entry=0x7fffc7009a48, throwflag=throwflag@entry=0) at Python/ceval.c:3289
    #18 0x00007ffff7a0f130 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0x7fffffff21c0, func=<optimized out>) at Python/ceval.c:4856
    #19 call_function (oparg=<optimized out>, pp_stack=0x7fffffff21c0) at Python/ceval.c:4783
    #20 PyEval_EvalFrameEx (f=f@entry=0x12779b8, throwflag=throwflag@entry=0) at Python/ceval.c:3289
    #21 0x00007ffff7a0f130 in fast_function (nk=<optimized out>, na=<optimized out>, n=2, pp_stack=0x7fffffff2340, func=<optimized out>) at Python/ceval.c:4856
    #22 call_function (oparg=<optimized out>, pp_stack=0x7fffffff2340) at Python/ceval.c:4783
    #23 PyEval_EvalFrameEx (f=f@entry=0x7fffc7018438, throwflag=throwflag@entry=0) at Python/ceval.c:3289
    #24 0x00007ffff7a11416 in _PyEval_EvalCodeWithName (_co=0x7ffff6985420, globals=<optimized out>, locals=locals@entry=0x0, args=args@entry=0x7fffc7429860, 
        argcount=2, kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, kwdefs=kwdefs@entry=0x0, 
        closure=closure@entry=0x0, name=name@entry=0x0, qualname=qualname@entry=0x0) at Python/ceval.c:4071
    #25 0x00007ffff7a11508 in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0, args=args@entry=0x7fffc7429860, 
        argcount=<optimized out>, kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, kwdefs=0x0, closure=0x0)
        at Python/ceval.c:4092
    #26 0x00007ffff7950b06 in function_call (func=0x7ffff6992f28, arg=0x7fffc7429848, kw=0x0) at Objects/funcobject.c:627
    #27 0x00007ffff791f33a in PyObject_Call (func=func@entry=0x7ffff6992f28, arg=arg@entry=0x7fffc7429848, kw=kw@entry=0x0) at Objects/abstract.c:2166
    #28 0x00007ffff7920249 in _PyObject_CallMethodIdObjArgs (callable=0x7ffff6992f28, name=name@entry=0x7ffff7d76860 <PyId__find_and_load.11927>)
        at Objects/abstract.c:2424
    #29 0x00007ffff7a2c808 in PyImport_ImportModuleLevelObject (name=0x7fffc7420228, given_globals=<optimized out>, locals=<optimized out>, 
        given_fromlist=<optimized out>, level=1) at Python/import.c:1595
    #30 0x00007ffff7a0335f in builtin___import__ (self=<optimized out>, args=<optimized out>, kwds=<optimized out>) at Python/bltinmodule.c:213
    #31 0x00007ffff7974119 in PyCFunction_Call (func=0x7ffff69d3e58, args=0x7fffc7043c50, kwds=<optimized out>) at Objects/methodobject.c:98
    #32 0x00007ffff791f33a in PyObject_Call (func=func@entry=0x7ffff69d3e58, arg=arg@entry=0x7fffc7043c50, kw=<optimized out>) at Objects/abstract.c:2166
    #33 0x00007ffff7a06d27 in PyEval_CallObjectWithKeywords (func=func@entry=0x7ffff69d3e58, arg=arg@entry=0x7fffc7043c50, kw=kw@entry=0x0)
        at Python/ceval.c:4633
  • Maintainer

    Issue is with symengine and python-symengine being pulled from different channels. This was fixed with !54 (merged)

  • Maintainer

    Good catch - it does look like the build that died pulled SymEngine from conda-forge. I am not sure why but I am assuming it has to do with gitlab.

  • Author Owner

    This was fixed with !54 (merged) (merged)

    This is the merge commit for !54 (merged), so if anything was fixed with that, this commit should have it...

  • Maintainer

    Is the conda environment cached? If not, I don't see why conda would be doing this.

  • Maintainer

    The conda environment is not cached. However, the test script is not doing anything about .condarc. Could that be causing the problem?

  • Maintainer

    Something wrong with the conda solver. I was able to reproduce this locally. When some of the other packages are removed, conda will use both symengine and python-symengine from symengine. Also channel prefixing channel::package_name doesn't seem to have any effect. I just pushed conda-forge::symengine=0.3.0 and now both packages are getting pulled from symengine. Weird. Can somebody restart the build?

  • Maintainer

    Thanks for looking into it. I don't know if there is a way to restart this build. The best thing to do would be to change the environment file to get rid of the symengine channel now that conda-forge has 0.3.0

  • Maintainer
  • Author Owner

    Thanks to the both of you for looking into this.

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment