More context about this: I'm here with Buck at PyCon and he said he actually had this line running a few years ago. I don't know anything about this stuff so it's difficult to track what's wrong now.
But it's really bad, as you can see, it's not just a usual exception, it's actually crashing Sage... (also, this is on Sage 6.6 and I believe it was there before. Buck had the error on the previous version and updated it to see if was fixed on 6.6) Best Viviane 2015-04-15 14:04 GMT-04:00 Vincent Delecroix <[email protected]>: > Already the following fails > > sage: integrated = -(gamma(1/2*k, 1/2*R*k) - gamma(1/2*k))/gamma(1/2*k) > sage: plot(integrated.subs(k=41), (R,0,6)) > /home/vincent/bin/sage: line 134: 13683 Segmentation fault > "$SAGE_ROOT/src/bin/sage" "$@" > > > > On 15/04/15 18:55, Buck Evan wrote: > >> I'm trying to plot a function involving the gamma function. It's this one: >> >> -(gamma(1/2*k, 1/2*R*k) - gamma(1/2*k))/gamma(1/2*k) >> >> >> >> If I try to plot the function with a k value any greater than 40, I get a >> segfault: >> >> >> sum( >> plot( >> integrated(k=k), >> (x, 0, 2.5), >> ymax=1.6, >> color=color, >> legend_label='k=%i' % k, >> figsize=6, >> aspect_ratio=1.0, >> ) >> for k, color in zip( >> [21, 22, 23, 26, 31, 41], >> ['blue', 'brown', 'red', 'green', 'black', 'yellow', 'orange'], >> ) >> ) >> >> /Users/buck/trees/mine/sage/sage: line 134: 12283 Segmentation fault: >> 11 "$SAGE_ROOT/src/bin/sage" "$@" >> [I 12:15:10.735 NotebookApp] KernelRestarter: restarting kernel (1/5) >> >> >> This is extremely similar to the behavior I was getting with the pre-built >> 6.5 sage, so I think it's an old bug rather than a problem with my build. >> In 6.5 there was no output (I suspect the Segmentation Fault message was >> gobbled somehow), so I never tried to enable / debug a core dump in 6.5. >> >> Inspecting the 6.6 core dump, I see that it used 27528, mostly calling >> back >> and forth between two functions. >> Smells like stack overflow to me. >> >> (lldb) bt >> [27503/47384] >> * thread #1: tid = 0x0000, 0x0000000103588007 >> libpython2.7.dylib`vgetargskeywords + 23, stop reason = signal SIGSTOP >> * frame #0: 0x0000000103588007 libpython2.7.dylib`vgetargskeywords + >> 23 >> frame #1: 0x000000010358890e >> libpython2.7.dylib`PyArg_ParseTupleAndKeywords + 174 >> frame #2: 0x000000010356c40e libpython2.7.dylib`builtin___import__ >> + 94 >> frame #3: 0x00000001034a377f >> libpython2.7.dylib`PyObject_CallFunctionObjArgs + 367 >> frame #4: 0x000000010774c1c4 coerce.so`__Pyx_Import(name=< >> unavailable>, >> from_list=0x0000000117da7560, level=<unavailable>) + 180 at coerce.c: >> 20339 >> frame #5: 0x000000010774d08e >> coerce.so`__pyx_f_4sage_9structure_6coerce_py_scalar_ >> parent(__pyx_v_py_type=<unavailable>, >> __pyx_skip_dispatch=< >> unavailable>) + 510 at coerce.c:2938 >> frame #6: 0x0000000107760318 >> coerce.so`__pyx_f_4sage_9structure_6coerce_24CoercionModel_cache_maps_ >> canonical_coercion(__pyx_v_self=0x00000001 >> 07648d50, __pyx_v_x=0x00007f8fbfc37238, __pyx_v_y=0x0000000118c5f390, >> __pyx_skip_dispatch=<unavailable>) + 3128 at coerce.c:9585 >> frame #7: 0x0000000107763cfe >> coerce.so`__pyx_pw_4sage_9structure_6coerce_24CoercionModel_cache_maps_ >> 25canonical_coercion >> + 13 at coerce.c:105 >> 64 >> frame #8: 0x0000000107763cf1 >> coerce.so`__pyx_pw_4sage_9structure_6coerce_24CoercionModel_cache_maps_ >> 25canonical_coercion(__pyx_v_self=0x00000 >> 00107648d50, __pyx_args=0x0000000117e5f248, __pyx_kwds=0x0000000000000000) >> + 65 >> frame #9: 0x0000000103574f10 libpython2.7.dylib`PyEval_EvalFrameEx + >> 26208 >> frame #10: 0x0000000103575fb0 libpython2.7.dylib`PyEval_EvalCodeEx + >> 2144 >> frame #11: 0x00000001034dae0c libpython2.7.dylib`function_call + 124 >> frame #12: 0x000000010d680381 >> pynac.so`__Pyx_PyObject_Call(func=0x0000000108f0c410, arg=<unavailable>, >> kw=PyObject * at scalar) + 65 at pynac >> .cpp:26785 >> frame #13: 0x000000010d6a76e9 >> pynac.so`py_gcd(__pyx_v_n=0x00007f8fbfc37238, >> __pyx_v_k=0x0000000118c5f390) >> + 521 at pynac.cpp:8416 >> frame #14: 0x000000010d7d0f28 >> libpynac.1.dylib`GiNaC::gcd(GiNaC::numeric const&, GiNaC::numeric >> const&) + >> 56 >> frame #15: 0x000000010d7ad100 >> libpynac.1.dylib`GiNaC::add::integer_content() const + 496 >> frame #16: 0x000000010d7acef0 >> libpynac.1.dylib`GiNaC::ex::integer_content() const + 16 >> frame #17: 0x000000010d79fe01 libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 1377 >> frame #18: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #19: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> frame #20: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #21: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> frame #22: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #23: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> frame #24: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #25: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> frame #26: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> frame #28: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #29: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul::eval(int) >> const + 2507 >> ... >> frame #27502: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27503: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27504: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27505: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27506: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27507: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27508: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27509: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27510: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27511: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27512: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27513: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27514: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27515: 0x000000010d7a026b libpynac.1.dylib`GiNaC::mul:: >> eval(int) >> const + 2507 >> frame #27516: 0x000000010d71ba91 >> libpynac.1.dylib`GiNaC::ex::construct_from_basic(GiNaC::basic const&) + >> 113 >> frame #27517: 0x000000010d7d1ccd >> libpynac.1.dylib`GiNaC::operator*(GiNaC::ex const&, GiNaC::ex const&) + >> 77 >> frame #27518: 0x000000010da76768 >> expression.so`__pyx_f_4sage_8symbolic_10expression_ >> 10Expression__mul_(__pyx_v_left=0x0000000117db6cb0, >> __pyx_v_right=0x0000000117db6ea8, __pyx_skip_dispatch=<unavailable>) + >> 2504 >> at expression.cpp:18109 >> frame #27519: 0x00000001075bed30 >> element.so`__pyx_pw_4sage_9structure_7element_11RingElement_11__mul__ + >> 64 >> at element.c:17301 >> frame #27520: 0x00000001075becf0 >> element.so`__pyx_pw_4sage_9structure_7element_ >> 11RingElement_11__mul__(__pyx_v_left=0x0000000117db6cb0, >> __pyx_v_right=0x0000000117db6ea8) + 14 >> frame #27521: 0x000000010349ff8b libpython2.7.dylib`PyNumber_Multiply >> + >> 187 >> frame #27522: 0x0000000117bceb47 >> wrapper_py.so`interp_py(args=0x0000000117dbeda8, >> constants=0x00007f8fbd980f30, stack=<unavailable>, >> code=0x00007f8fbd9a8eac) >> + 519 at interp_py.c:110 >> frame #27523: 0x0000000117bc1cca >> wrapper_py.so`__pyx_pw_4sage_3ext_12interpreters_10wrapper_ >> py_10Wrapper_py_5__call__(__pyx_v_self=0x00000001181db380, >> __pyx_args=0x0000000117dbed90, __pyx_kwds=0x0000000000000000) + 138 at >> wrapper_py.c:1478 >> frame #27524: 0x00000001034a2bd3 libpython2.7.dylib`PyObject_Call + >> 67 >> frame #27525: 0x00000001035727bd libpython2.7.dylib`PyEval_ >> EvalFrameEx >> + 16141 >> frame #27526: 0x0000000103575fb0 libpython2.7.dylib`PyEval_EvalCodeEx >> + >> 2144 >> frame #27527: 0x000000010357513d libpython2.7.dylib`PyEval_ >> EvalFrameEx >> + 26765 >> frame #27528: 0x000000010e399354 >> >> > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
