Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#13324 closed defect (fixed)

Upgrade ECL to 12.12.1 and let it build on (recent) Cygwins

Reported by: jpflori Owned by: tbd
Priority: major Milestone: sage-5.7
Component: porting: Cygwin Keywords: cygwin ecl spkg
Cc: fbissey Merged in: sage-5.7.beta0
Authors: Jean-Pierre Flori Reviewers: François Bissey, Karl-Dieter Crisman, Dmitrii Pasechnik
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: Commit:
Dependencies: #13860 Stopgaps:

Description (last modified by jpflori)

On my 1.7.16 installation of Cygwin, the ecl spkg does not build because it defines unconditionaly _WINSOCKAPI_ in h/ecl-cmp.h which then prevents the definition of fd_set in /usr/include/sys/types.h. I guess this is harmless on Linux, intended on Windows, but on Cygwin this breaks the build of ECL.

The proposed spkg patches h/ecl-cmp.h so that _WINSOCKAPI_ is not defined on CYGWIN. This has been merged upstream and is in 12.12.1: https://sourceforge.net/p/ecls/ecl/ci/07c4ab7db83eda2eed7fa4a5ddeec2e28c7eb58b/

Moreover comes patches from upstream to get correct signal handling and is in 12.12.1:

We build ECL single threaded to get hopefully more correct signal handling in library mode and avoid problems with the pexpect interface.

And a later patch to avoid infinite loops while compiling lisp to C: http://sourceforge.net/p/ecls/ecl/ci/13459a98f0c0c58ccc4e9241c3bf0625e39f2383/

Older patches which are now upstream have been removed.

Be sure to use Sage 5.6.beta2 or higher, so that the Maxima spkg is ready for this.

Try spkg at http://boxen.math.washington.edu/home/jpflori/ecl-12.12.1.p0.spkg

Apply:

Attachments (7)

trac_13324.patch (614 bytes) - added by jpflori 7 years ago.
Doctests fixes.
ecl-12.7.1.p0.diff (12.9 KB) - added by jpflori 7 years ago.
Spkg diff, for review only.
ecl-12.12.1.p0.diff (3.8 KB) - added by jpflori 7 years ago.
Spkg diff, for review only.
ecl-12.2.1.p0.diff (11.2 KB) - added by jpflori 7 years ago.
Spkg diff, for review only.
ecl-12.12.1.p0.2.diff (12.2 KB) - added by jpflori 7 years ago.
Spkg diff, for review only.
ecl-12.12.1.p0.3.diff (12.5 KB) - added by jpflori 7 years ago.
Spkg diff, for review only.
trac_13324.2.patch (11.2 KB) - added by jpflori 7 years ago.
Cleanup lisp.py and remove problematic \n from synchronize

Download all attachments as: .zip

Change History (188)

comment:1 Changed 7 years ago by jpflori

  • Status changed from new to needs_review

comment:2 Changed 7 years ago by leif

  • Keywords spkg added

comment:3 Changed 7 years ago by jpflori

  • Report Upstream changed from Not yet reported upstream; Will do shortly. to Workaround found; Bug reported upstream.

comment:4 Changed 7 years ago by jpflori

Wrong ticket...

Last edited 7 years ago by jpflori (previous) (diff)

comment:5 Changed 7 years ago by dimpase

Good, this also works on my Cygwin (and this change of spkg is needed, too).

comment:6 Changed 7 years ago by dimpase

however, after the whole Sage build on my Cygwin is almost done, I get

...
building 'sage.ext.interpreters.wrapper_py' extension
building 'sage.ext.interpreters.wrapper_el' extension
Executing 241 commands (using 1 thread)
gcc -I/usr/include/ncurses -fno-strict-aliasing -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/home/Dima/sage-5.2.rc1/local/include/ecl/ -I/home/Dima/sage-5.2.rc1/local/include -I/home/Dima/sage-5.2.rc1/local/include/csage -I/home/Dima/sage-5.2.rc1/devel/sage/sage/ext -I/home/Dima/sage-5.2.rc1/local/include/python2.7 -c sage/libs/ecl.c -o build/temp.cygwin-1.7.16-i686-2.7/sage/libs/ecl.o -w
gcc -shared -Wl,--enable-auto-image-base -L/home/Dima/sage-5.2.rc1/local/lib build/temp.cygwin-1.7.16-i686-2.7/sage/libs/ecl.o -L/home/Dima/sage-5.2.rc1/local/lib -L/home/Dima/sage-5.2.rc1/local/lib/python2.7/config -lcsage -lecl -lstdc++ -lntl -lpython2.7 -o build/lib.cygwin-1.7.16-i686-2.7/sage/libs/ecl.dll
build/temp.cygwin-1.7.16-i686-2.7/sage/libs/ecl.o: In function `ecl_bignum_from_mpz':
/home/Dima/sage-5.2.rc1/devel/sage/sage/libs/eclsig.c:52: undefined reference to `__imp____gmpz_set'
/home/Dima/sage-5.2.rc1/devel/sage/sage/libs/eclsig.c:52: undefined reference to `__imp____gmpz_set'
collect2: ld returned 1 exit status
gcc -I/usr/include/ncurses -fno-strict-aliasing -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/home/Dima/sage-5.2.rc1/local/include/FLINT/ -I/home/Dima/sage-5.2.rc1/local/include -I/home/Dima/sage-5.2.rc1/local/include/csage -I/home/Dima/sage-5.2.rc1/devel/sage/sage/ext -I/home/Dima/sage-5.2.rc1/local/include/python2.7 -c sage/libs/flint/flint.c -o build/temp.cygwin-1.7.16-i686-2.7/sage/libs/flint/flint.o -std=c99 -D_XPG6 -w
error: command 'gcc' failed with exit status 1
Error installing modified sage library code.

A missing library somewhere?

comment:7 Changed 7 years ago by jpflori

That was expected. In fact I guess the build is not nearing the end at all.

You can rerun "./sage -b" and you'll see that a lot of cpp files produced from pyx files still have to be compiled. The first that should refail then is ecl.cpp. See #13334 for that one.

For the following ones I've not opened tockets yet, but there should be instructions enough on the CygwinPort page (although you'll have to implement the ideas evoked there yourself, no code provided).

comment:8 Changed 7 years ago by jpflori

  • Report Upstream changed from Workaround found; Bug reported upstream. to Fixed upstream, but not in a stable release.

comment:9 Changed 7 years ago by jpflori

  • Description modified (diff)

comment:10 Changed 7 years ago by jpflori

Wrong ticket...

Last edited 7 years ago by jpflori (previous) (diff)

comment:11 follow-up: Changed 7 years ago by jpflori

  • Description modified (diff)
  • Summary changed from Ecl does not build on (recent) Cygwins to Upgrade ECL to 12.7.1 and let it build on (recent) Cygwins

I've upped an updated ECL spkg which includes upstream version 12.7.1 plus the git commit corresponding to the fix originally proposed here. It's at http://perso.telecom-paristech.fr/~flori/sage/ecl-12.7.1.p0.spkg

I've updated the spkg-make file and homogenized the indentation in the spkg-install file as well.

Two trivial doctests had to be changed, and it passes make ptestlong on Ubuntu 12.04 64 bits. No time to retest Cygwin yet.

comment:12 in reply to: ↑ 11 Changed 7 years ago by dimpase

Replying to jpflori:

I've upped an updated ECL spkg which includes upstream version 12.7.1 plus the git commit corresponding to the fix originally proposed here.

I think you are cloning ECL from an old repo, no longer updated (they recently switched). In the right repo 12.7.1 does have your commit already applied.

comment:13 Changed 7 years ago by jpflori

My point was to use a released version, not a git clone, and add only the needed commit on top of that. We could rather use a fresh git clone with the needed commit and further bug fixes, but I'm less inclined to do so, as it might be confusing. When upstream release ECL 12.7.2 or whatever the next stable release will be, let's get rid of the patch to ecl-cmp.h in the patches/directory.

comment:14 Changed 7 years ago by jpflori

For example, such an approach was used for Singular in #13237 IIRC.

comment:15 Changed 7 years ago by jpflori

The spkg I uploaded has some problems I'll upload a better one in a few moments.

comment:16 Changed 7 years ago by jpflori

Should be ok now.

comment:17 Changed 7 years ago by fbissey

  • Cc fbissey added

comment:18 Changed 7 years ago by fbissey

I see you disabled unicode outright. Is this to avoid the problems mentioned in #12985? I haven't seen the problem you fix in gsl/integration.pyx last time I tried ecl 12.7.1 so it may be slightly platform dependent. As a general rule I don't think adding decimal places to a result is the right way to fix numerical noise in a doctest. The other patch to ecl.pyx is absolutely necessary. The spkg looks ok otherwise.

comment:19 Changed 7 years ago by jpflori

I did not change the unicode behavior, Im aware there's a ticket open about that, but I definitely did not modify the spkg-install for that purpose, it was already as such (something about Maxima IIRC).

I agree about the numerical noise, I planned to put ... there but it ended up as 44.

comment:20 Changed 7 years ago by fbissey

Looking at the diff you provided it was indeed already there. I may even have put it there one of the last time I touched the spkg on knowledge from sage-on-gentoo that it was causing problems. Haven't tested the whole thing yet you didn't see any problems with sage/calculus/calculus.py? That would mean it was entirely caused by enabling unicode when I saw it in #12985.

comment:21 Changed 7 years ago by jpflori

It passed make ptestlong on 64 bits Ubuntu 12.04. (Now it's stuck on Cygwin rebuilding Maxima, but that may be Cygwin voodoo...).

comment:22 Changed 7 years ago by jpflori

I've committed the changes in the spkg and puts dots to take care of the numerical noise in the Sage library patch.

comment:23 Changed 7 years ago by fbissey

  • Milestone changed from sage-5.3 to sage-5.4
  • Reviewers set to François Bissey
  • Status changed from needs_review to positive_review

I am happy to give this a positive review but I am putting this on sage-5.4 as 5.3 is in the rc stage it won't make the cut unless Jeroen changes his mind about the release schedule.

comment:24 Changed 7 years ago by jdemeyer

  • Status changed from positive_review to needs_work

I get doctest timeouts when not using --long:

jdemeyer@sage:/release/merger/sage-5.4.beta0$ ./sage -t devel/sage/sage/libs/ecl.pyx
sage -t  "devel/sage/sage/libs/ecl.pyx"
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

         [360.2 s]

----------------------------------------------------------------------
The following tests failed:


        sage -t  "devel/sage/sage/libs/ecl.pyx" # Time out
Total time for all tests: 360.3 seconds

comment:25 Changed 7 years ago by fbissey

Could we have the verbose output Jeroen? It will show where it is stuck. Mind you I have a suspicion but I haven't been hit by that personally with this particular version. In fact if it is what I suspect it should only happen if you had unicode enabled in ecl and the spkg explicitly disable it.

comment:26 Changed 7 years ago by jpflori

Indeed, this seems to happen randomly. In sage.interfaces.lisp.py as well

comment:27 Changed 7 years ago by jpflori

In lisp.py it got stuck twice at

    lisp.eval('2')

and once at

    lisp.function_call('sin', ['2'])

In ecl.pyx, it got stuck several times at

    inf_loop()

comment:28 Changed 7 years ago by jpflori

As far as ecl.pyx inf_loop test is concerned, if you run it in an interactive session, it sometimes hangs as well, but can be interrupted if you press CTRL+C. So ECL seems to be missing some interrupts.

The lisp one is more mysterious.

comment:29 follow-up: Changed 7 years ago by jpflori

The inf_loop problem seems to be upstream. If I directly launch ECL and run the corresponding piece of code, some times pressing CTRL+C just print C...

comment:30 in reply to: ↑ 29 Changed 7 years ago by nbruin

Replying to jpflori:

The inf_loop problem seems to be upstream. If I directly launch ECL and run the corresponding piece of code, some times pressing CTRL+C just print ^C...

Our interfacing with ECL got behind the times a little (and perhaps was never fully with it). Google e.g. "Making an external signal handler play nice with embedded ECL" to get to this. There are more places where we could use a face-lift. ECL has really improved its thread-ready API and we should really be using that (e.g., look up return values and other things on a "ecl_process_env()" data structure).

Anyway, there are some improvements we could make to handling interrupts and catching other stuff.

comment:31 Changed 7 years ago by jpflori

  • Description modified (diff)

comment:32 Changed 7 years ago by kcrisman

This works on Cygwin on XP! (At least, it builds and Maxima builds.)

comment:33 Changed 7 years ago by jpflori

  • Description modified (diff)
  • Work issues set to test if issues remain with new patches

I had a look into the signal issue and came up with a patch (submitted upstream). Inbetween, here comes an updated spkg based on the latest sage spkg: http://boxen.math.washington.edu/home/jpflori/ecl-12.7.1.p0.spkg containing patches for Cygwin and the signal problem.

The patch to the Sage library is no longer necessary (or seems so on my install), must have been done somewhere else.

comment:34 Changed 7 years ago by jpflori

  • Description modified (diff)

oops, half the patch was still needed.

Changed 7 years ago by jpflori

Doctests fixes.

comment:35 Changed 7 years ago by jpflori

For me now ecl.pyx passes 100 in a row, now going to test the other ones.

comment:36 Changed 7 years ago by jpflori

This still gets stuck in lisp.py sometimes it seems, too bad, twice in a hundred of runs, hope this is just pexpect crap.

comment:37 Changed 7 years ago by jpflori

A backtrace of lisp.py randomly stuck:

Trying:
    b.cos()###line 18:_sage_    >>> b.cos()
Expecting:
    0.2836622
^C
Program received signal SIGINT, Interrupt.
0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff0fcc228 in select_select (self=<optimized out>, 
    args=<optimized out>)
    at /home/jp/boulot/sage/sage-5.5.rc0/spkg/build/python-2.7.3.p2/src/Modules/selectmodule.c:271
#2  0x00007ffff7af0da2 in call_function (oparg=<optimized out>, 
    pp_stack=0x7fffffff8840) at Python/ceval.c:4021
#3  PyEval_EvalFrameEx (f=f@entry=0x2bdb5b0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#4  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=3, kws=0x2bdb560, kwcount=0, defs=0x7fffef901c38, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#5  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffff8b30, func=0x7fffef904500)
    at Python/ceval.c:4117
#6  call_function (oparg=<optimized out>, pp_stack=0x7fffffff8b30)
    at Python/ceval.c:4042
#7  PyEval_EvalFrameEx (f=f@entry=0x2bdb370, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#8  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2bdb130, kwcount=0, defs=0x7fffef901cc8, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#9  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffff8e20, func=0x7fffef483050)
    at Python/ceval.c:4117
#10 call_function (oparg=<optimized out>, pp_stack=0x7fffffff8e20)
    at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=f@entry=0x2bdaf70, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#12 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bd5570, kwcount=0, defs=0x7fffef901c80, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#13 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffff9110, func=0x7fffef904f50)
    at Python/ceval.c:4117
#14 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9110)
    at Python/ceval.c:4042
#15 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#16 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=1, pp_stack=0x7fffffff9350, func=0x7fffe7aa1140)
    at Python/ceval.c:4107
#17 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9350)
    at Python/ceval.c:4042
#18 PyEval_EvalFrameEx (f=f@entry=0x2bd4fb0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#19 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bdccf0, kwcount=0, defs=0x7fffe7a9c3a8, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#20 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffff9640, func=0x7fffe7a96e60)
    at Python/ceval.c:4117
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9640)
    at Python/ceval.c:4042
#22 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#23 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffff9880, func=0x7fffe7a96f50)
    at Python/ceval.c:4107
#24 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9880)
    at Python/ceval.c:4042
#25 PyEval_EvalFrameEx (f=f@entry=0x2bdc780, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#26 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bdc708, kwcount=1, defs=0x7fffedcb4d68, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#27 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffff9b70, func=0x7fffedcea668)
    at Python/ceval.c:4117
#28 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9b70)
    at Python/ceval.c:4042
#29 PyEval_EvalFrameEx (f=f@entry=0x2bdc550, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#30 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc780da18, argcount=3, kws=kws@entry=0x7fffc4fed848, 
    kwcount=kwcount@entry=1, defs=defs@entry=0x7fffecde56e0, 
    defcount=defcount@entry=2, closure=0x0) at Python/ceval.c:3253
#31 0x00007ffff7a74217 in function_call (func=0x7fffecde6ed8, 
    arg=0x7fffc780da00, kw=0x2b47e10) at Objects/funcobject.c:526
#32 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffecde6ed8, 
    arg=arg@entry=0x7fffc780da00, kw=kw@entry=0x2b47e10)
    at Objects/abstract.c:2529
#33 0x00007ffff7a57630 in instancemethod_call (func=0x7fffecde6ed8, 
    arg=0x7fffc780da00, kw=0x2b47e10) at Objects/classobject.c:2578
#34 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270320, 
    arg=arg@entry=0x7fffc4fffdd0, kw=kw@entry=0x2b47e10)
    at Objects/abstract.c:2529
#35 0x00007ffff7aacde0 in slot_tp_init (self=0x7fffc500c910, 
    args=0x7fffc4fffdd0, kwds=0x2b47e10) at Objects/typeobject.c:5663
#36 0x00007ffff7aa964c in type_call (type=<optimized out>, 
    args=0x7fffc4fffdd0, kwds=0x2b47e10) at Objects/typeobject.c:737
#37 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0xd5c8b0, 
    arg=arg@entry=0x7fffc4fffdd0, kw=kw@entry=0x2b47e10)
    at Objects/abstract.c:2529
#38 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffa250, func=0xd5c8b0) at Python/ceval.c:4239
#39 call_function (oparg=<optimized out>, pp_stack=0x7fffffffa250)
    at Python/ceval.c:4044
#40 PyEval_EvalFrameEx (f=f@entry=0x2bde0f0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#41 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fed968, argcount=2, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x7fffedcb4ce8, 
    defcount=defcount@entry=1, closure=0x0) at Python/ceval.c:3253
#42 0x00007ffff7a74106 in function_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fed950, kw=0x0) at Objects/funcobject.c:526
#43 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffedce8b90, 
    arg=arg@entry=0x7fffc4fed950, kw=kw@entry=0x0) at Objects/abstract.c:2529
#44 0x00007ffff7a57630 in instancemethod_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fed950, kw=0x0) at Objects/classobject.c:2578
#45 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc526cb90, 
    arg=arg@entry=0x7fffc500bed0, kw=kw@entry=0x0) at Objects/abstract.c:2529
#46 0x00007ffff7aad1ec in slot_tp_call (self=0xd5d500, args=0x7fffc500bed0, 
    kwds=0x0) at Objects/typeobject.c:5403
#47 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0xd5d500, 
    arg=arg@entry=0x7fffc500bed0, kw=kw@entry=0x0) at Objects/abstract.c:2529
#48 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffa900, func=0xd5d500) at Python/ceval.c:4239
#49 call_function (oparg=<optimized out>, pp_stack=0x7fffffffa900)
    at Python/ceval.c:4044
#50 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#51 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffab40, func=0x7fffedce8cf8)
    at Python/ceval.c:4107
#52 call_function (oparg=<optimized out>, pp_stack=0x7fffffffab40)
    at Python/ceval.c:4042
#53 PyEval_EvalFrameEx (f=f@entry=0x27f8010, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#54 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x27f7fd0, kwcount=0, defs=0x7fffe7a9d1d0, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#55 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffae30, func=0x7fffe7aa18c0)
    at Python/ceval.c:4117
#56 call_function (oparg=<optimized out>, pp_stack=0x7fffffffae30)
    at Python/ceval.c:4042
#57 PyEval_EvalFrameEx (f=f@entry=0x27f7e20, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#58 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4ffd428, argcount=1, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#59 0x00007ffff7a74106 in function_call (func=0x7fffedceb050, 
    arg=0x7fffc4ffd410, kw=0x0) at Objects/funcobject.c:526
#60 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffedceb050, 
    arg=arg@entry=0x7fffc4ffd410, kw=kw@entry=0x0) at Objects/abstract.c:2529
#61 0x00007ffff7a57630 in instancemethod_call (func=0x7fffedceb050, 
    arg=0x7fffc4ffd410, kw=0x0) at Objects/classobject.c:2578
#62 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270370, 
    arg=arg@entry=0x7ffff7f8e050, kw=kw@entry=0x0) at Objects/abstract.c:2529
#63 0x00007ffff7aad1ec in slot_tp_call (self=0x7fffc500be90, 
    args=0x7ffff7f8e050, kwds=0x0) at Objects/typeobject.c:5403
#64 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc500be90, 
    arg=arg@entry=0x7ffff7f8e050, kw=kw@entry=0x0) at Objects/abstract.c:2529
#65 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffb4e0, func=0x7fffc500be90) at Python/ceval.c:4239
#66 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb4e0)
    at Python/ceval.c:4044
#67 PyEval_EvalFrameEx (f=f@entry=0x2b594b0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#68 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#69 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470)
    at Python/ceval.c:667
#70 0x00007ffff7aef9f9 in exec_statement (locals=0x2dac470, 
    globals=0x2dac470, prog=0x7fffc4ff4d30, f=0x2b42780)
    at Python/ceval.c:4718
#71 PyEval_EvalFrameEx (f=f@entry=0x2b42780, throwflag=throwflag@entry=0)
    at Python/ceval.c:1880
#72 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc527bf68, argcount=5, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#73 0x00007ffff7a74106 in function_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/funcobject.c:526
#74 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002500, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#75 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/classobject.c:2578
#76 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270230, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#77 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffbe40, func=0x7fffc5270230) at Python/ceval.c:4239
#78 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbe40)
    at Python/ceval.c:4044
#79 PyEval_EvalFrameEx (f=f@entry=0x2b4c410, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#80 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=5, kws=0x2b1d6e8, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#81 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=5, pp_stack=0x7fffffffc130, func=0x7fffc5005050)
    at Python/ceval.c:4117
#82 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc130)
    at Python/ceval.c:4042
#83 PyEval_EvalFrameEx (f=f@entry=0x2b1d480, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#84 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc54db640, argcount=4, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#85 0x00007ffff7a74106 in function_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/funcobject.c:526
#86 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002578, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#87 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/classobject.c:2578
#88 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffd3015f00, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#89 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffc770, func=0x7fffd3015f00) at Python/ceval.c:4239
#90 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc770)
    at Python/ceval.c:4044
#91 PyEval_EvalFrameEx (f=f@entry=0x2b47c10, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#92 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2f61c90, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#93 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffca60, func=0x7fffc5004f50)
    at Python/ceval.c:4117
#94 call_function (oparg=<optimized out>, pp_stack=0x7fffffffca60)
    at Python/ceval.c:4042
#95 PyEval_EvalFrameEx (f=f@entry=0x2f61ac0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#96 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fed7b8, argcount=2, kws=kws@entry=0x7fffc526d548, 
    kwcount=kwcount@entry=3, defs=defs@entry=0x7fffc4ffe1f8, 
    defcount=defcount@entry=3, closure=0x0) at Python/ceval.c:3253
#97 0x00007ffff7a74217 in function_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/funcobject.c:526
#98 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc50026e0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#99 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/classobject.c:2578
#100 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5ba3af0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#101 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffd0a0, func=0x7fffc5ba3af0) at Python/ceval.c:4239
#102 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd0a0)
    at Python/ceval.c:4044
#103 PyEval_EvalFrameEx (f=f@entry=0x2b1de50, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#104 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2b3ced0, kwcount=0, defs=0x7fffc4ff2748, defcount=3, 
    closure=0x0) at Python/ceval.c:3253
#105 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffd390, func=0x7fffc5004ed8)
    at Python/ceval.c:4117
#106 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd390)
    at Python/ceval.c:4042
#107 PyEval_EvalFrameEx (f=f@entry=0x2b3cce0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#108 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=0, kws=0x2b3d410, kwcount=10, defs=0x7fffc54dd860, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#109 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=20, pp_stack=0x7fffffffd680, func=0x7fffc4ff98c0)
    at Python/ceval.c:4117
#110 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd680)
    at Python/ceval.c:4042
#111 PyEval_EvalFrameEx (f=f@entry=0x2b3d240, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#112 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=1, kws=0x6ed7e8, kwcount=3, defs=0x7fffc54dda80, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#113 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=7, pp_stack=0x7fffffffd970, func=0x7fffc5004de8)
    at Python/ceval.c:4117
#114 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd970)
    at Python/ceval.c:4042
#115 PyEval_EvalFrameEx (f=f@entry=0x6ed660, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#116 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#117 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820)
    at Python/ceval.c:667
#118 0x00007ffff7b134ea in run_mod (arena=0x6c9cd0, flags=0x7fffffffdbb0, 
    locals=0x640820, globals=0x640820, filename=<optimized out>, 
    mod=<optimized out>) at Python/pythonrun.c:1353
#119 PyRun_FileExFlags (fp=fp@entry=0x6c9a80, 
    filename=filename@entry=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8717.py", start=start@entry=257, globals=globals@entry=0x640820, 
    locals=locals@entry=0x640820, closeit=closeit@entry=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:1339
#120 0x00007ffff7b13f1b in PyRun_SimpleFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8717.py", closeit=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:943
#121 0x00007ffff7b14b89 in PyRun_AnyFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=<optimized out>, closeit=<optimized out>, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:747
#122 0x00007ffff7b29972 in Py_Main (argc=<optimized out>, 
    argv=<optimized out>) at Modules/main.c:639
#123 0x00007ffff6d576ad in __libc_start_main (main=0x400720 <main>, argc=2, 
    ubp_av=0x7fffffffdd68, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffdd58) at libc-start.c:227
#124 0x0000000000400751 in _start ()
(gdb) 

comment:38 Changed 7 years ago by jpflori

Another one:

Trying:
    lisp(Integer(10)).factorial()###line 31:_sage_    >>> lisp(10).factorial()
Expecting:
    3628800
^C
Program received signal SIGINT, Interrupt.
0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff0fcc228 in select_select (self=<optimized out>, 
    args=<optimized out>)
    at /home/jp/boulot/sage/sage-5.5.rc0/spkg/build/python-2.7.3.p2/src/Modules/selectmodule.c:271
#2  0x00007ffff7af0da2 in call_function (oparg=<optimized out>, 
    pp_stack=0x7fffffff8b30) at Python/ceval.c:4021
#3  PyEval_EvalFrameEx (f=f@entry=0x2bdb5b0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#4  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=3, kws=0x2bdb560, kwcount=0, defs=0x7fffef901c38, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#5  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffff8e20, func=0x7fffef904500)
    at Python/ceval.c:4117
#6  call_function (oparg=<optimized out>, pp_stack=0x7fffffff8e20)
    at Python/ceval.c:4042
#7  PyEval_EvalFrameEx (f=f@entry=0x2bdb370, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#8  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2bdb130, kwcount=0, defs=0x7fffef901cc8, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#9  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffff9110, func=0x7fffef483050)
    at Python/ceval.c:4117
#10 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9110)
    at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=f@entry=0x2bdaf70, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#12 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bd5570, kwcount=0, defs=0x7fffef901c80, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#13 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffff9400, func=0x7fffef904f50)
    at Python/ceval.c:4117
#14 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9400)
    at Python/ceval.c:4042
#15 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#16 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=1, pp_stack=0x7fffffff9640, func=0x7fffe7aa1140)
    at Python/ceval.c:4107
#17 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9640)
    at Python/ceval.c:4042
#18 PyEval_EvalFrameEx (f=f@entry=0x2bd4fb0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#19 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bdccf0, kwcount=0, defs=0x7fffe7a9c3a8, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#20 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffff9930, func=0x7fffe7a96e60)
    at Python/ceval.c:4117
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9930)
    at Python/ceval.c:4042
#22 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#23 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffff9b70, func=0x7fffe7a96f50)
    at Python/ceval.c:4107
#24 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9b70)
    at Python/ceval.c:4042
#25 PyEval_EvalFrameEx (f=f@entry=0x2bdc780, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#26 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bdc708, kwcount=1, defs=0x7fffedcb4d68, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#27 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffff9e60, func=0x7fffedcea668)
    at Python/ceval.c:4117
#28 call_function (oparg=<optimized out>, pp_stack=0x7fffffff9e60)
    at Python/ceval.c:4042
#29 PyEval_EvalFrameEx (f=f@entry=0x2bdc550, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#30 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc780da68, argcount=3, kws=kws@entry=0x7fffc4fffde8, 
    kwcount=kwcount@entry=1, defs=defs@entry=0x7fffecde56e0, 
    defcount=defcount@entry=2, closure=0x0) at Python/ceval.c:3253
#31 0x00007ffff7a74217 in function_call (func=0x7fffecde6ed8, 
    arg=0x7fffc780da50, kw=0x27f77f0) at Objects/funcobject.c:526
#32 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffecde6ed8, 
    arg=arg@entry=0x7fffc780da50, kw=kw@entry=0x27f77f0)
    at Objects/abstract.c:2529
#33 0x00007ffff7a57630 in instancemethod_call (func=0x7fffecde6ed8, 
    arg=0x7fffc780da50, kw=0x27f77f0) at Objects/classobject.c:2578
#34 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270320, 
    arg=arg@entry=0x7fffc4fedfc8, kw=kw@entry=0x27f77f0)
    at Objects/abstract.c:2529
#35 0x00007ffff7aacde0 in slot_tp_init (self=0x7fffc500c780, 
    args=0x7fffc4fedfc8, kwds=0x27f77f0) at Objects/typeobject.c:5663
#36 0x00007ffff7aa964c in type_call (type=<optimized out>, 
    args=0x7fffc4fedfc8, kwds=0x27f77f0) at Objects/typeobject.c:737
#37 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0xd5c8b0, 
    arg=arg@entry=0x7fffc4fedfc8, kw=kw@entry=0x27f77f0)
    at Objects/abstract.c:2529
#38 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffa540, func=0xd5c8b0) at Python/ceval.c:4239
#39 call_function (oparg=<optimized out>, pp_stack=0x7fffffffa540)
    at Python/ceval.c:4044
#40 PyEval_EvalFrameEx (f=f@entry=0x27f8b50, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#41 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fff260, argcount=2, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x7fffedcb4ce8, 
    defcount=defcount@entry=1, closure=0x0) at Python/ceval.c:3253
#42 0x00007ffff7a74106 in function_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fff248, kw=0x0) at Objects/funcobject.c:526
#43 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffedce8b90, 
    arg=arg@entry=0x7fffc4fff248, kw=kw@entry=0x0) at Objects/abstract.c:2529
#44 0x00007ffff7a57630 in instancemethod_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fff248, kw=0x0) at Objects/classobject.c:2578
#45 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc526cb90, 
    arg=arg@entry=0x7fffc4ffd410, kw=kw@entry=0x0) at Objects/abstract.c:2529
#46 0x00007ffff7aad1ec in slot_tp_call (self=0xd5d500, args=0x7fffc4ffd410, 
    kwds=0x0) at Objects/typeobject.c:5403
#47 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0xd5d500, 
    arg=arg@entry=0x7fffc4ffd410, kw=kw@entry=0x0) at Objects/abstract.c:2529
#48 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffabf0, func=0xd5d500) at Python/ceval.c:4239
#49 call_function (oparg=<optimized out>, pp_stack=0x7fffffffabf0)
    at Python/ceval.c:4044
#50 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#51 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffae30, func=0x7fffedce8c08)
    at Python/ceval.c:4107
#52 call_function (oparg=<optimized out>, pp_stack=0x7fffffffae30)
    at Python/ceval.c:4042
#53 PyEval_EvalFrameEx (f=f@entry=0x2bde0f0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#54 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fff9b0, argcount=2, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x7fffedcb4ce8, 
    defcount=defcount@entry=1, closure=0x0) at Python/ceval.c:3253
#55 0x00007ffff7a74106 in function_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fff998, kw=0x0) at Objects/funcobject.c:526
#56 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffedce8b90, 
    arg=arg@entry=0x7fffc4fff998, kw=kw@entry=0x0) at Objects/abstract.c:2529
#57 0x00007ffff7a57630 in instancemethod_call (func=0x7fffedce8b90, 
    arg=0x7fffc4fff998, kw=0x0) at Objects/classobject.c:2578
#58 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270370, 
    arg=arg@entry=0x7ffff7ebdd10, kw=kw@entry=0x0) at Objects/abstract.c:2529
#59 0x00007ffff7aad1ec in slot_tp_call (self=0xd5d500, args=0x7ffff7ebdd10, 
    kwds=0x0) at Objects/typeobject.c:5403
#60 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0xd5d500, 
    arg=arg@entry=0x7ffff7ebdd10, kw=kw@entry=0x0) at Objects/abstract.c:2529
#61 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffb4e0, func=0xd5d500) at Python/ceval.c:4239
#62 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb4e0)
    at Python/ceval.c:4044
#63 PyEval_EvalFrameEx (f=f@entry=0x2bddb10, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#64 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#65 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470)
    at Python/ceval.c:667
#66 0x00007ffff7aef9f9 in exec_statement (locals=0x2dac470, 
    globals=0x2dac470, prog=0x7fffc4ff4d30, f=0x2b42780)
    at Python/ceval.c:4718
#67 PyEval_EvalFrameEx (f=f@entry=0x2b42780, throwflag=throwflag@entry=0)
    at Python/ceval.c:1880
#68 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc527bf68, argcount=5, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#69 0x00007ffff7a74106 in function_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/funcobject.c:526
#70 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002500, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#71 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/classobject.c:2578
#72 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270230, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#73 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffbe40, func=0x7fffc5270230) at Python/ceval.c:4239
#74 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbe40)
    at Python/ceval.c:4044
#75 PyEval_EvalFrameEx (f=f@entry=0x2b4c410, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#76 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=5, kws=0x2b1d6e8, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#77 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=5, pp_stack=0x7fffffffc130, func=0x7fffc5005050)
    at Python/ceval.c:4117
#78 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc130)
    at Python/ceval.c:4042
#79 PyEval_EvalFrameEx (f=f@entry=0x2b1d480, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#80 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc54db640, argcount=4, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#81 0x00007ffff7a74106 in function_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/funcobject.c:526
#82 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002578, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#83 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/classobject.c:2578
#84 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffd3015f00, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#85 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffc770, func=0x7fffd3015f00) at Python/ceval.c:4239
#86 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc770)
    at Python/ceval.c:4044
#87 PyEval_EvalFrameEx (f=f@entry=0x2b47c10, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#88 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2f61c90, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#89 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffca60, func=0x7fffc5004f50)
    at Python/ceval.c:4117
#90 call_function (oparg=<optimized out>, pp_stack=0x7fffffffca60)
    at Python/ceval.c:4042
#91 PyEval_EvalFrameEx (f=f@entry=0x2f61ac0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#92 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fed7b8, argcount=2, kws=kws@entry=0x7fffc526d548, 
    kwcount=kwcount@entry=3, defs=defs@entry=0x7fffc4ffe1f8, 
    defcount=defcount@entry=3, closure=0x0) at Python/ceval.c:3253
#93 0x00007ffff7a74217 in function_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/funcobject.c:526
#94 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc50026e0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#95 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/classobject.c:2578
#96 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5ba3af0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#97 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffd0a0, func=0x7fffc5ba3af0) at Python/ceval.c:4239
#98 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd0a0)
    at Python/ceval.c:4044
#99 PyEval_EvalFrameEx (f=f@entry=0x2b1de50, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#100 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2b3ced0, kwcount=0, defs=0x7fffc4ff2748, defcount=3, 
    closure=0x0) at Python/ceval.c:3253
#101 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffd390, func=0x7fffc5004ed8)
    at Python/ceval.c:4117
#102 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd390)
    at Python/ceval.c:4042
#103 PyEval_EvalFrameEx (f=f@entry=0x2b3cce0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#104 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=0, kws=0x2b3d410, kwcount=10, defs=0x7fffc54dd860, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#105 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=20, pp_stack=0x7fffffffd680, func=0x7fffc4ff98c0)
    at Python/ceval.c:4117
#106 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd680)
    at Python/ceval.c:4042
#107 PyEval_EvalFrameEx (f=f@entry=0x2b3d240, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#108 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=1, kws=0x6ed7e8, kwcount=3, defs=0x7fffc54dda80, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#109 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=7, pp_stack=0x7fffffffd970, func=0x7fffc5004de8)
    at Python/ceval.c:4117
#110 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd970)
    at Python/ceval.c:4042
#111 PyEval_EvalFrameEx (f=f@entry=0x6ed660, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#112 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#113 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820)
    at Python/ceval.c:667
#114 0x00007ffff7b134ea in run_mod (arena=0x6c9cd0, flags=0x7fffffffdbb0, 
    locals=0x640820, globals=0x640820, filename=<optimized out>, 
    mod=<optimized out>) at Python/pythonrun.c:1353
#115 PyRun_FileExFlags (fp=fp@entry=0x6c9a80, 
    filename=filename@entry=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8796.py", start=start@entry=257, globals=globals@entry=0x640820, 
    locals=locals@entry=0x640820, closeit=closeit@entry=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:1339
#116 0x00007ffff7b13f1b in PyRun_SimpleFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8796.py", closeit=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:943
#117 0x00007ffff7b14b89 in PyRun_AnyFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=<optimized out>, closeit=<optimized out>, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:747
#118 0x00007ffff7b29972 in Py_Main (argc=<optimized out>, 
    argv=<optimized out>) at Modules/main.c:639
#119 0x00007ffff6d576ad in __libc_start_main (main=0x400720 <main>, argc=2, 
    ubp_av=0x7fffffffdd68, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffdd58) at libc-start.c:227
#120 0x0000000000400751 in _start ()
(gdb) 

comment:39 Changed 7 years ago by jpflori

Another one

Trying:
    one < two###line 394:_sage_    >>> one < two
Expecting:
    True

Program received signal SIGINT, Interrupt.
0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type.
(gdb) (gdb) #0  0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff0fcc228 in select_select (self=<optimized out>, 
    args=<optimized out>)
    at /home/jp/boulot/sage/sage-5.5.rc0/spkg/build/python-2.7.3.p2/src/Modules/selectmodule.c:271
#2  0x00007ffff7af0da2 in call_function (oparg=<optimized out>, 
    pp_stack=0x7fffffff9f50) at Python/ceval.c:4021
#3  PyEval_EvalFrameEx (f=f@entry=0x2bdb5b0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#4  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=3, kws=0x2bdb560, kwcount=0, defs=0x7fffef901c38, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#5  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffffa240, func=0x7fffef904500)
    at Python/ceval.c:4117
#6  call_function (oparg=<optimized out>, pp_stack=0x7fffffffa240)
    at Python/ceval.c:4042
#7  PyEval_EvalFrameEx (f=f@entry=0x2bdb370, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#8  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2bdb130, kwcount=0, defs=0x7fffef901cc8, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#9  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffa530, func=0x7fffef483050)
    at Python/ceval.c:4117
#10 call_function (oparg=<optimized out>, pp_stack=0x7fffffffa530)
    at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=f@entry=0x2bdaf70, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#12 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bd5570, kwcount=0, defs=0x7fffef901c80, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#13 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffa820, func=0x7fffef904f50)
    at Python/ceval.c:4117
#14 call_function (oparg=<optimized out>, pp_stack=0x7fffffffa820)
    at Python/ceval.c:4042
#15 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#16 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=1, pp_stack=0x7fffffffaa60, func=0x7fffe7aa1140)
    at Python/ceval.c:4107
#17 call_function (oparg=<optimized out>, pp_stack=0x7fffffffaa60)
    at Python/ceval.c:4042
#18 PyEval_EvalFrameEx (f=f@entry=0x2bd4fb0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#19 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2c0eb70, kwcount=0, defs=0x7fffe7a9c3a8, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#20 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffad50, func=0x7fffe7a96e60)
    at Python/ceval.c:4117
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffad50)
    at Python/ceval.c:4042
#22 PyEval_EvalFrameEx (f=f@entry=0x2c0e9d0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#23 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4feda40, argcount=2, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#24 0x00007ffff7a74106 in function_call (func=0x7fffe7aa1938, 
    arg=0x7fffc4feda28, kw=0x0) at Objects/funcobject.c:526
#25 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffe7aa1938, 
    arg=arg@entry=0x7fffc4feda28, kw=kw@entry=0x0) at Objects/abstract.c:2529
#26 0x00007ffff7a57630 in instancemethod_call (func=0x7fffe7aa1938, 
    arg=0x7fffc4feda28, kw=0x0) at Objects/classobject.c:2578
#27 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc526cc80, 
    arg=<optimized out>, kw=kw@entry=0x0) at Objects/abstract.c:2529
#28 0x00007fffee377423 in __pyx_f_4sage_9structure_7element_7Element__richcmp
    (__pyx_v_left=0x7fffc4f38aa0, __pyx_v_right=0x7fffc4f38a00, __pyx_v_op=0)
    at sage/structure/element.c:8390
#29 0x00007fffee35e1fb in __pyx_pf_4sage_9structure_7element_7Element_64__richcmp__ (__pyx_v_op=<optimized out>, __pyx_v_right=<optimized out>, 
    __pyx_v_left=<optimized out>) at sage/structure/element.c:8528
#30 __pyx_pw_4sage_9structure_7element_7Element_65__richcmp__ (
    __pyx_v_left=<optimized out>, __pyx_v_right=<optimized out>, 
    __pyx_v_op=<optimized out>) at sage/structure/element.c:8498
#31 0x00007ffff7a8dcc3 in PyObject_RichCompare (v=v@entry=0x7fffc4f38aa0, 
    w=w@entry=0x7fffc4f38a00, op=<optimized out>) at Objects/object.c:956
#32 0x00007ffff7aee18b in cmp_outcome (w=0x7fffc4f38a00, v=0x7fffc4f38aa0, 
    op=<optimized out>) at Python/ceval.c:4526
#33 PyEval_EvalFrameEx (f=f@entry=0x2beb030, throwflag=throwflag@entry=0)
    at Python/ceval.c:2287
#34 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7fffc4ff4630, 
    globals=globals@entry=0x2ceedc0, locals=locals@entry=0x2ceedc0, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#35 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7fffc4ff4630, 
    globals=globals@entry=0x2ceedc0, locals=locals@entry=0x2ceedc0)
    at Python/ceval.c:667
#36 0x00007ffff7aef9f9 in exec_statement (locals=0x2ceedc0, 
    globals=0x2ceedc0, prog=0x7fffc4ff4630, f=0x2b42780)
    at Python/ceval.c:4718
#37 PyEval_EvalFrameEx (f=f@entry=0x2b42780, throwflag=throwflag@entry=0)
    at Python/ceval.c:1880
#38 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc527bf68, argcount=5, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#39 0x00007ffff7a74106 in function_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/funcobject.c:526
#40 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002500, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#41 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/classobject.c:2578
#42 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270320, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#43 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffbe40, func=0x7fffc5270320) at Python/ceval.c:4239
#44 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbe40)
    at Python/ceval.c:4044
#45 PyEval_EvalFrameEx (f=f@entry=0x2b4c410, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#46 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=5, kws=0x2be8fa8, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#47 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=5, pp_stack=0x7fffffffc130, func=0x7fffc5005050)
    at Python/ceval.c:4117
#48 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc130)
    at Python/ceval.c:4042
#49 PyEval_EvalFrameEx (f=f@entry=0x2be8d40, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#50 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc54db640, argcount=4, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#51 0x00007ffff7a74106 in function_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/funcobject.c:526
#52 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002578, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#53 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/classobject.c:2578
#54 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffd3015f00, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#55 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffc770, func=0x7fffd3015f00) at Python/ceval.c:4239
#56 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc770)
    at Python/ceval.c:4044
#57 PyEval_EvalFrameEx (f=f@entry=0x2c0ca50, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#58 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2c0ca10, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#59 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffca60, func=0x7fffc5004f50)
    at Python/ceval.c:4117
#60 call_function (oparg=<optimized out>, pp_stack=0x7fffffffca60)
    at Python/ceval.c:4042
#61 PyEval_EvalFrameEx (f=f@entry=0x2c0c840, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#62 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fed7b8, argcount=2, kws=kws@entry=0x7fffc526d548, 
    kwcount=kwcount@entry=3, defs=defs@entry=0x7fffc4ffe1f8, 
    defcount=defcount@entry=3, closure=0x0) at Python/ceval.c:3253
#63 0x00007ffff7a74217 in function_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/funcobject.c:526
#64 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc50026e0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#65 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/classobject.c:2578
#66 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5ba3af0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#67 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffd0a0, func=0x7fffc5ba3af0) at Python/ceval.c:4239
#68 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd0a0)
    at Python/ceval.c:4044
#69 PyEval_EvalFrameEx (f=f@entry=0x2beb270, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#70 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2b3ced0, kwcount=0, defs=0x7fffc4ff2748, defcount=3, 
    closure=0x0) at Python/ceval.c:3253
#71 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffd390, func=0x7fffc5004ed8)
    at Python/ceval.c:4117
#72 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd390)
    at Python/ceval.c:4042
#73 PyEval_EvalFrameEx (f=f@entry=0x2b3cce0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#74 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=0, kws=0x2b3d410, kwcount=10, defs=0x7fffc54dd860, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#75 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=20, pp_stack=0x7fffffffd680, func=0x7fffc4ff98c0)
    at Python/ceval.c:4117
#76 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd680)
    at Python/ceval.c:4042
#77 PyEval_EvalFrameEx (f=f@entry=0x2b3d240, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#78 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=1, kws=0x6ed7e8, kwcount=3, defs=0x7fffc54dda80, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#79 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=7, pp_stack=0x7fffffffd970, func=0x7fffc5004de8)
    at Python/ceval.c:4117
#80 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd970)
    at Python/ceval.c:4042
#81 PyEval_EvalFrameEx (f=f@entry=0x6ed660, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#82 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#83 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820)
    at Python/ceval.c:667
#84 0x00007ffff7b134ea in run_mod (arena=0x6c9cd0, flags=0x7fffffffdbb0, 
    locals=0x640820, globals=0x640820, filename=<optimized out>, 
    mod=<optimized out>) at Python/pythonrun.c:1353
#85 PyRun_FileExFlags (fp=fp@entry=0x6c9a80, 
    filename=filename@entry=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8969.py", start=start@entry=257, globals=globals@entry=0x640820, 
    locals=locals@entry=0x640820, closeit=closeit@entry=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:1339
#86 0x00007ffff7b13f1b in PyRun_SimpleFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=0x7fffffffe227 "/home/jp/.sage//tmp/lisp_8969.py", closeit=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:943
#87 0x00007ffff7b14b89 in PyRun_AnyFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=<optimized out>, closeit=<optimized out>, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:747
#88 0x00007ffff7b29972 in Py_Main (argc=<optimized out>, argv=<optimized out>)
    at Modules/main.c:639
#89 0x00007ffff6d576ad in __libc_start_main (main=0x400720 <main>, argc=2, 
    ubp_av=0x7fffffffdd68, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffdd58) at libc-start.c:227
#90 0x0000000000400751 in _start ()
(gdb) 

comment:40 Changed 7 years ago by jpflori

A last and quick one

Trying:
    lisp.eval('(* 4 5)')###line 5:_sage_    >>> lisp.eval('(* 4 5)')
Expecting:
    '20'

Program received signal SIGINT, Interrupt.
0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type.
(gdb) #0  0x00007ffff6e168c3 in __select_nocancel ()
    at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff0fcc228 in select_select (self=<optimized out>, 
    args=<optimized out>)
    at /home/jp/boulot/sage/sage-5.5.rc0/spkg/build/python-2.7.3.p2/src/Modules/selectmodule.c:271
#2  0x00007ffff7af0da2 in call_function (oparg=<optimized out>, 
    pp_stack=0x7fffffffa6e0) at Python/ceval.c:4021
#3  PyEval_EvalFrameEx (f=f@entry=0x2bdb5b0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#4  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=3, kws=0x2bdb560, kwcount=0, defs=0x7fffef901c38, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#5  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=3, pp_stack=0x7fffffffa9d0, func=0x7fffef904500)
    at Python/ceval.c:4117
#6  call_function (oparg=<optimized out>, pp_stack=0x7fffffffa9d0)
    at Python/ceval.c:4042
#7  PyEval_EvalFrameEx (f=f@entry=0x2bdb370, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#8  0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2bdb130, kwcount=0, defs=0x7fffef901cc8, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#9  0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffacc0, func=0x7fffef483050)
    at Python/ceval.c:4117
#10 call_function (oparg=<optimized out>, pp_stack=0x7fffffffacc0)
    at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=f@entry=0x2bdaf70, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#12 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2bd5570, kwcount=0, defs=0x7fffef901c80, defcount=2, 
    closure=0x0) at Python/ceval.c:3253
#13 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffafb0, func=0x7fffef904f50)
    at Python/ceval.c:4117
#14 call_function (oparg=<optimized out>, pp_stack=0x7fffffffafb0)
    at Python/ceval.c:4042
#15 PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#16 0x00007ffff7af1099 in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=1, pp_stack=0x7fffffffb1f0, func=0x7fffe7aa1140)
    at Python/ceval.c:4107
#17 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb1f0)
    at Python/ceval.c:4042
#18 PyEval_EvalFrameEx (f=f@entry=0x2bd4fb0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#19 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2b48328, kwcount=0, defs=0x7fffe7a9c3a8, defcount=1, 
    closure=0x0) at Python/ceval.c:3253
#20 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffb4e0, func=0x7fffe7a96e60)
    at Python/ceval.c:4117
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffb4e0)
    at Python/ceval.c:4042
#22 PyEval_EvalFrameEx (f=f@entry=0x2b481a0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#23 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#24 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7fffc4ff4d30, 
    globals=globals@entry=0x2dac470, locals=locals@entry=0x2dac470)
    at Python/ceval.c:667
#25 0x00007ffff7aef9f9 in exec_statement (locals=0x2dac470, 
    globals=0x2dac470, prog=0x7fffc4ff4d30, f=0x2b42780)
    at Python/ceval.c:4718
#26 PyEval_EvalFrameEx (f=f@entry=0x2b42780, throwflag=throwflag@entry=0)
    at Python/ceval.c:1880
#27 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc527bf68, argcount=5, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#28 0x00007ffff7a74106 in function_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/funcobject.c:526
#29 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002500, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#30 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002500, 
    arg=0x7fffc527bf50, kw=0x0) at Objects/classobject.c:2578
#31 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5270230, 
    arg=arg@entry=0x7fffc527bf50, kw=kw@entry=0x0) at Objects/abstract.c:2529
#32 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffbe40, func=0x7fffc5270230) at Python/ceval.c:4239
#33 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbe40)
    at Python/ceval.c:4044
#34 PyEval_EvalFrameEx (f=f@entry=0x2b4c410, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#35 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=5, kws=0x2b1d6e8, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#36 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=5, pp_stack=0x7fffffffc130, func=0x7fffc5005050)
    at Python/ceval.c:4117
#37 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc130)
    at Python/ceval.c:4042
#38 PyEval_EvalFrameEx (f=f@entry=0x2b1d480, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#39 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc54db640, argcount=4, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=0x0) at Python/ceval.c:3253
#40 0x00007ffff7a74106 in function_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/funcobject.c:526
#41 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5002578, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#42 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc5002578, 
    arg=0x7fffc54db628, kw=0x0) at Objects/classobject.c:2578
#43 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffd3015f00, 
    arg=arg@entry=0x7fffc54db628, kw=kw@entry=0x0) at Objects/abstract.c:2529
#44 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffc770, func=0x7fffd3015f00) at Python/ceval.c:4239
#45 call_function (oparg=<optimized out>, pp_stack=0x7fffffffc770)
    at Python/ceval.c:4044
#46 PyEval_EvalFrameEx (f=f@entry=0x2b47c10, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#47 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=4, kws=0x2f61c90, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:3253
#48 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=4, pp_stack=0x7fffffffca60, func=0x7fffc5004f50)
    at Python/ceval.c:4117
#49 call_function (oparg=<optimized out>, pp_stack=0x7fffffffca60)
    at Python/ceval.c:4042
#50 PyEval_EvalFrameEx (f=f@entry=0x2f61ac0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#51 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, 
    args=args@entry=0x7fffc4fed7b8, argcount=2, kws=kws@entry=0x7fffc526d548, 
    kwcount=kwcount@entry=3, defs=defs@entry=0x7fffc4ffe1f8, 
    defcount=defcount@entry=3, closure=0x0) at Python/ceval.c:3253
#52 0x00007ffff7a74217 in function_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/funcobject.c:526
#53 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc50026e0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#54 0x00007ffff7a57630 in instancemethod_call (func=0x7fffc50026e0, 
    arg=0x7fffc4fed7a0, kw=0x2b3bd20) at Objects/classobject.c:2578
#55 0x00007ffff7a491ee in PyObject_Call (func=func@entry=0x7fffc5ba3af0, 
    arg=arg@entry=0x7fffc4fed7a0, kw=kw@entry=0x2b3bd20)
    at Objects/abstract.c:2529
#56 0x00007ffff7aece99 in do_call (nk=<optimized out>, na=<optimized out>, 
    pp_stack=0x7fffffffd0a0, func=0x7fffc5ba3af0) at Python/ceval.c:4239
#57 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd0a0)
    at Python/ceval.c:4044
#58 PyEval_EvalFrameEx (f=f@entry=0x2b1de50, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#59 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=2, kws=0x2b3ced0, kwcount=0, defs=0x7fffc4ff2748, defcount=3, 
    closure=0x0) at Python/ceval.c:3253
#60 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=2, pp_stack=0x7fffffffd390, func=0x7fffc5004ed8)
    at Python/ceval.c:4117
#61 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd390)
    at Python/ceval.c:4042
#62 PyEval_EvalFrameEx (f=f@entry=0x2b3cce0, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#63 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=0, kws=0x2b3d410, kwcount=10, defs=0x7fffc54dd860, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#64 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=20, pp_stack=0x7fffffffd680, func=0x7fffc4ff98c0)
    at Python/ceval.c:4117
#65 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd680)
    at Python/ceval.c:4042
#66 PyEval_EvalFrameEx (f=f@entry=0x2b3d240, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#67 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=<optimized out>, 
    globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, 
    argcount=1, kws=0x6ed7e8, kwcount=3, defs=0x7fffc54dda80, defcount=10, 
    closure=0x0) at Python/ceval.c:3253
#68 0x00007ffff7aef89d in fast_function (nk=<optimized out>, 
    na=<optimized out>, n=7, pp_stack=0x7fffffffd970, func=0x7fffc5004de8)
    at Python/ceval.c:4117
#69 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd970)
    at Python/ceval.c:4042
#70 PyEval_EvalFrameEx (f=f@entry=0x6ed660, throwflag=throwflag@entry=0)
    at Python/ceval.c:2666
#71 0x00007ffff7af1bf8 in PyEval_EvalCodeEx (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820, 
    args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0) at Python/ceval.c:3253
#72 0x00007ffff7af1d32 in PyEval_EvalCode (co=co@entry=0x7ffff7ec8d30, 
    globals=globals@entry=0x640820, locals=locals@entry=0x640820)
    at Python/ceval.c:667
#73 0x00007ffff7b134ea in run_mod (arena=0x6c9cd0, flags=0x7fffffffdbb0, 
    locals=0x640820, globals=0x640820, filename=<optimized out>, 
    mod=<optimized out>) at Python/pythonrun.c:1353
#74 PyRun_FileExFlags (fp=fp@entry=0x6c9a80, 
    filename=filename@entry=0x7fffffffe226 "/home/jp/.sage//tmp/lisp_10135.py", start=start@entry=257, globals=globals@entry=0x640820, 
    locals=locals@entry=0x640820, closeit=closeit@entry=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:1339
#75 0x00007ffff7b13f1b in PyRun_SimpleFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=0x7fffffffe226 "/home/jp/.sage//tmp/lisp_10135.py", closeit=1, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:943
#76 0x00007ffff7b14b89 in PyRun_AnyFileExFlags (fp=fp@entry=0x6c9a80, 
    filename=<optimized out>, closeit=<optimized out>, 
    flags=flags@entry=0x7fffffffdbb0) at Python/pythonrun.c:747
#77 0x00007ffff7b29972 in Py_Main (argc=<optimized out>, argv=<optimized out>)
    at Modules/main.c:639
#78 0x00007ffff6d576ad in __libc_start_main (main=0x400720 <main>, argc=2, 
    ubp_av=0x7fffffffdd68, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffdd58) at libc-start.c:227
#79 0x0000000000400751 in _start ()
(gdb) 

comment:41 Changed 7 years ago by jpflori

Running some trivial infinite loop involving lisp() from Sage stucks and when interrupted spits

^C---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/jp/boulot/sage/sage-5.5.rc0/devel/sage-main/<ipython console> in <module>()

/home/jp/boulot/sage/sage-5.5.rc0/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, x, name)
    193             
    194         if isinstance(x, basestring):
--> 195             return cls(self, x, name=name)
    196         try:
    197             return self._coerce_from_special_method(x)

/home/jp/boulot/sage/sage-5.5.rc0/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1311             except (TypeError, KeyboardInterrupt, RuntimeError, ValueError), x:
   1312                 self._session_number = -1
-> 1313                 raise TypeError, x
   1314         self._session_number = parent._session_number
   1315 

TypeError: 

comment:42 Changed 7 years ago by jpflori

  • Description modified (diff)
  • Work issues changed from test if issues remain with new patches to fix lisp.py issue

comment:43 Changed 7 years ago by jpflori

  • Description modified (diff)

comment:44 Changed 7 years ago by jpflori

Ok, as expected we still get the lisp.py issue.

comment:45 Changed 7 years ago by jpflori

Hummm, in the above examples, Sage does not really gets stucky, after a long time (let's say 10 minutes, not really sure) the tests go on.

comment:46 Changed 7 years ago by jpflori

And I just realized ECL is built with threads enabled.

comment:47 Changed 7 years ago by jpflori

  • Status changed from needs_work to needs_review
  • Work issues fix lisp.py issue deleted

And tada, with the single threaded interface, I still got no problems with lisp.py, I guess it gave bad interaction with pexpect. New spkg at same address.

comment:48 Changed 7 years ago by jpflori

  • Description modified (diff)

comment:49 follow-up: Changed 7 years ago by kcrisman

I'm getting to work earlier tomorrow, I'll try to set up an XP Cygwin build and test this - may not have feedback for several days, though!

comment:50 in reply to: ↑ 49 Changed 7 years ago by jpflori

Replying to kcrisman:

I'm getting to work earlier tomorrow, I'll try to set up an XP Cygwin build and test this - may not have feedback for several days, though!

Thanks, that's great.

Nonetheless the new patches should not influence the spkg on Cygwin, so your and my previous tests are still valid for Cygwin. I'll be working on the remaining issue this week end hopefully (#9167) and propose patches upstream.

The important thing to test is the timeout problems and this now looks fine. It passed make ptestlong on two different Linux x86_64 Debian and Ubuntu for me and stressful testing of the previous problematic files.

So I guess that if someone thinks that the changes are ok, with minimal additional testing, we can put this as positive_review and let the patchbot make their work (or rather the release manager, as it seems spkg are not tested by patchbot, am I wrong?).

comment:51 follow-up: Changed 7 years ago by kcrisman

I see, I didn't read the emails carefully and thought there was something significant.

I have an ecl-12.7.1.p1 here. where did that come from? Anyway, I'll just ./sage -f this spkg and apply the patch and see what happens!

comment:52 in reply to: ↑ 51 Changed 7 years ago by jpflori

Replying to kcrisman:

I see, I didn't read the emails carefully and thought there was something significant.

I have an ecl-12.7.1.p1 here. where did that come from? Anyway, I'll just ./sage -f this spkg and apply the patch and see what happens!

This spkg is an old spkg from #9167 and is not up to date with the one here and should be rebased once the one here gets positive review. Indeed, the one here does not contain the fixes in the one from #9167 and I don't plan to do so because the changes there still need some work.

Anyway these fixes at #9167 are not needed to build Sage on Cygwin, they are needed to be able to import maxima in Sage. The fixes here let Sage build on Cygwin and prevent signal problems with the updated ECL.

comment:53 Changed 7 years ago by kcrisman

Well, it builds but I get all sorts of forking errors when I test the two files in question. Of course, that probably happened before as well!

comment:54 Changed 7 years ago by jpflori

I don't think I mentioned it here but the bug page upstream was http://sourceforge.net/p/ecls/bugs/216/

To produce a completely correct library would need http://sourceforge.net/p/ecls/bugs/222/ but that might be done in a follow up ticket.

The spgk here fulfill its purpose (in fact more than what originally planned):

  • upgrade to 12.7.1,
  • build on cygwin (with backported patches).

So I guess it should be integrated asap.

comment:55 Changed 7 years ago by kcrisman

I agree. What testing and/or review do you think is still needed? This does build fine on Cygwin on XP, and Maxima builds with it.

comment:56 Changed 7 years ago by kcrisman

I can't do much else without #9167, of course, in terms of testing. But what needs to be done here? A look at the spkg, the patches (which seems okay) and testing that Maxima still works right on Linux and Mac, at least, with this, right?

comment:57 Changed 7 years ago by jpflori

I guess that's all indeed.

comment:58 Changed 7 years ago by jpflori

(FYI I've tested this extensively on Linux (Debian and Ubuntu).)

comment:59 Changed 7 years ago by jpflori

For info, ECL 12.12.1 which includes the fixes needed here (and much more) was released: http://sourceforge.net/mailarchive/forum.php?thread_name=10634799-3AE2-408D-94F5-5F96A38E60B6%40gmail.com&forum_name=ecls-list

comment:60 Changed 7 years ago by jpflori

  • Description modified (diff)

Tentative updated spkg at http://boxen.math.washington.edu/home/jpflori/ecl-12.12.1.p0.spkg

I guess it would be more sensible to get this new spkg into Sage. On the Sage side, the only changes are that I removed the two patches backported for 12.7.1.

comment:61 Changed 7 years ago by jpflori

I'll also remove the old stat.h fix which is upstream for some time now: http://sourceforge.net/p/ecls/ecl/ci/d3e59164d0e1da1a5a591b3e6a251db1c428b223/

comment:62 Changed 7 years ago by jpflori

Updated spkg and diff uploaded. Not tested yet.

comment:63 Changed 7 years ago by kcrisman

=== ecl-12.7.1.p0 (Jean-Pierre Flori, 10 December 2012) === 

I think there is a typo there.

comment:64 Changed 7 years ago by jpflori

Indeed, corrected spkg uploaded. I just posted a diff for the previous version of ECL. The right one is coming.

comment:65 Changed 7 years ago by jpflori

There is a small problem with the current 12.12.1 spkg because the patch directory is empty.

comment:66 Changed 7 years ago by jpflori

I seem to have problem compiling SLATEC:DBESJ in Maxima with both spkg posted here.

comment:67 Changed 7 years ago by jpflori

No such problem on Linux, so it might be a Cygwin problem. It reminds me of the fact that for some of my attempts I had to rebase *during* the build of Maxima to be able to finish the build.

comment:68 Changed 7 years ago by jpflori

But that does not seem to be the case here.

comment:69 Changed 7 years ago by jpflori

Oops, and I just realized I'm configuring ECL with no assembly everywhere.

comment:70 Changed 7 years ago by kcrisman

Oops, and I just realized I'm configuring ECL with no assembly everywhere.

I assume that means "needs work" for now... Just let me know when you have something to be tested, and I'll try it out again.

Last edited 7 years ago by kcrisman (previous) (diff)

comment:71 Changed 7 years ago by jpflori

Yes that means needs work... But I think you can already test the updated spkg, a priori, there won't be anything drastically different with ffi added (from the Sage point of view at least; unless you happen to have the problematic system the fix was meant for).

comment:72 Changed 7 years ago by kcrisman

Oh, I see what you mean! I was thinking it was something else, but you mean that in attachment:ecl-12.7.1.p0.diff you have the same configure options in both cases, but need to remove --with-dffi=no from the else clause?

comment:73 Changed 7 years ago by jpflori

Exactly!

comment:74 Changed 7 years ago by kcrisman

In any case I got some weird rebase problem when I did this - ECL installed fine, but Maxima refused to build due to memory not accessible things. Now I'm trying to rebase but having trouble getting find to find anything other than stuff in the SAGE_ROOT directory, it's like it's not looking in SAGE_LOCAL/lib...

comment:75 Changed 7 years ago by jpflori

  • Description modified (diff)
  • Status changed from needs_review to needs_work
  • Work issues set to correct options passed to configure

I also had rebase problems once when building Maxima, this was quite horrible to deal with. I had to let it fail, rebase and restart from where it failed.

And now I found something more problematic, Maxima does not seem to build as a library on my Linux system with the 12.12.1 version. And the Maxima spkg does not detect that (although there should be code to detect this), if confirmed, this should go on another trac ticket.

comment:76 Changed 7 years ago by kcrisman

This sounds like my problem, though of course I didn't get far enough to see the no library thing. If that is the case, we should definitely just use the (--with-dffi=no fixed) 12.7.1 spkg. The perfect is the enemy of the sufficient. Let me know when you have that (as my tar seems to be causing trouble) and I should be able to review it next week.

comment:77 follow-up: Changed 7 years ago by jpflori

I think the library is not missing but its name changed from maxima.fasb to maxima-system.fasb, potentially due to an upgraded ASDF. Seen from Sage, this "new" file seems to work just as well. I don't really know this stuff, so I've asked upstream for confirmation.

Anyway, I'm recrafting cleaner 12.7.1 AND 12.12.1 spkgs.

comment:78 in reply to: ↑ 77 Changed 7 years ago by dimpase

Replying to jpflori:

I think the library is not missing but its name changed from maxima.fasb to maxima-system.fasb, potentially due to an upgraded ASDF. Seen from Sage, this "new" file seems to work just as well. I don't really know this stuff, so I've asked upstream for confirmation.

Anyway, I'm recrafting cleaner 12.7.1 AND 12.12.1 spkgs.

why won't we concentrate on 12.12.1?

comment:79 follow-ups: Changed 7 years ago by jpflori

I am, it is just I'm also giving away something which definitely looks right (apart from the stupid dffi things I had no problem at all with 12.7.1, except that recently I can no longer build Maxima on Cygwin, but that might be something else) as well in case other concerns appear with 12.12.1.

comment:80 in reply to: ↑ 79 Changed 7 years ago by kcrisman

I am, it is just I'm also giving away something which definitely looks right (apart from the stupid dffi things I had no problem at all with 12.7.1, except that recently I can no longer build Maxima on Cygwin, but that might be something else) as well in case other concerns appear with 12.12.1.

Well anyway, whichever one you come up with within the next 7 hours or so I can try to get set up for a weekend build (Windoze only at work, a poor orphaned computer no one wanted...)

comment:81 in reply to: ↑ 79 Changed 7 years ago by kcrisman

I am, it is just I'm also giving away something which definitely looks right (apart from the stupid dffi things I had no problem at all with 12.7.1, except that recently I can no longer build Maxima on Cygwin, but that might be something else) as well in case other concerns appear with 12.12.1.

After (finally) a successful rebase I can only build Maxima with 12.7.1 (in this case the p1 spkg from #9167, but whatever), so maybe this is the wiser option currently. Especially if we can quickly get #9167 ready based on something here, that would be ideal; it's wonderful to not have that be an issue soon.

comment:82 Changed 7 years ago by jpflori

What fails exactly with 12.12.1 and Maxima?

comment:83 follow-up: Changed 7 years ago by jpflori

Oh I guess that if the same thing as on Linux happens, then the compile ecl file is not copied but the error not caught.

So more precisely, does the spkg build fails? or does it seem to be ok, but you cannot import maxima then?

comment:84 in reply to: ↑ 83 Changed 7 years ago by kcrisman

So more precisely, does the spkg build fails? or does it seem to be ok, but you cannot import maxima then?

Precisely what happens is that it raises an error that smells of needing rebasing, and drops me into an interactive (ECL, I think) terminal for whether I want to continue compiling, does that a few times, and then just plain old fails, again smelling of needing a rebase. But the rebase doesn't help.

I'll try it all again just now, now that I confirmed I can get it working again by going back to the old (well, 12.7.1) ECL, rebasing, then doing sage -f maxima. I should be able to report back in about 15-20 minutes...

comment:85 Changed 7 years ago by kcrisman

  • Reviewers changed from François Bissey to François Bissey, Karl-Dieter Crisman

This is after installing the 12.12.1 ECL and then immediately rebasing:

Summary:
ECL enabled. Executable name: "ecl"
default lisp: ecl
wish executable name: "wish"

Now building Maxima...
Making all in admin
make[1]: Entering directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/admin'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/admin'
Making all in src
make[1]: Entering directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
test -d binary-ecl || mkdir binary-ecl
ecl -norc -eval '(progn (load "../lisp-utils/defsystem.lisp") (load "../lisp-utils/make-depends.lisp") (funcall (intern "CREATE-DEPENDENCY-FILE" :mk) "binary-ecl/maxima" "ecl-depends.mk") (quit))'
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/../lisp-utils/defsystem.lisp"
;;; Loading #P"/home/newsagetest/sage-5.5.rc0/local/lib/ecl/cmp.fas"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/../lisp-utils/make-depends.lisp"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima.system"
 cd .. && /bin/sh /home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/missing --run automake-1.9 --gnu  src/Makefile
/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/missing: line 52: automake-1.9: command not found
WARNING: `automake-1.9' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.in'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
 cd .. && /bin/sh ./config.status src/Makefile
config.status: creating src/Makefile
make[1]: Leaving directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
make[1]: Entering directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
../admin/make_share_list
test -d binary-ecl || mkdir binary-ecl
ecl -norc -eval '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :compile :verbose t) (build-maxima-lib))' -eval '(ext:quit)'
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/../lisp-utils/defsystem.lisp"
;;; Loading #P"/home/newsagetest/sage-5.5.rc0/local/lib/ecl/cmp.fas"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima.system"

;  - Compiling defsystem "maxima"
;    - Compiling module "package"
;      - Compiling source file
;        "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima-package.lisp"
;;;
;;; Compiling /home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima-package.lisp.
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2
;;;
;;; End of Pass 1.
;;; Finished compiling /home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima-package.lisp.
;;;

;      - Loading binary file "binary-ecl/maxima-package.fas"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/binary-ecl/maxima-package.fas"

Condition of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Available restarts:

1. (CONTINUE) Ignore signal
2. (CONTINUE) Ignore initialization errors and continue.
3. (ABORT) Quit ECL unsafely, ignoring all existing threads.

Top level.
>

(I didn't include the configuration stuff.)

I couldn't get out of the debugger with 1 or 2 and so I just did Ctrl-D, which led to a lot more stuff, then

make[1]: Entering directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
../admin/make_share_list
test -d binary-ecl || mkdir binary-ecl
ecl -norc -eval '(progn (load "../lisp-utils/defsystem.lisp") (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :compile :verbose t) (build-maxima-lib))' -eval '(ext:quit)'
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/../lisp-utils/defsystem.lisp"
;;; Loading #P"/home/newsagetest/sage-5.5.rc0/local/lib/ecl/cmp.fas"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/maxima.system"

;  - Compiling defsystem "maxima"
;    - Compiling module "package"
;      - Loading binary file "binary-ecl/maxima-package.fas"
;;; Loading "/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src/binary-ecl/maxima-package.fas"

Condition of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Available restarts:

1. (CONTINUE) Ignore signal
2. (CONTINUE) Ignore initialization errors and continue.
3. (ABORT) Quit ECL unsafely, ignoring all existing threads.

Top level.
>

and after Ctrl-D again,

make[2]: Entering directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
test -z "/home/newsagetest/sage-5.5.rc0/local/bin" || mkdir -p -- "/home/newsagetest/sage-5.5.rc0/local/bin"
 /usr/bin/install -c 'maxima' '/home/newsagetest/sage-5.5.rc0/local/bin/maxima'
 /usr/bin/install -c 'maxima-command.ico' '/home/newsagetest/sage-5.5.rc0/local/bin/maxima-command.ico'
 /usr/bin/install -c 'maxima.bat' '/home/newsagetest/sage-5.5.rc0/local/bin/maxima.bat'
 /usr/bin/install -c 'set_lang.vbs' '/home/newsagetest/sage-5.5.rc0/local/bin/set_lang.vbs'
/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/install-sh -d "/home/newsagetest/sage-5.5.rc0/local/lib/maxima/5.26.0/binary-ecl"
/usr/bin/install -c binary-ecl/maxima "/home/newsagetest/sage-5.5.rc0/local/lib/maxima/5.26.0/binary-ecl/maxima"
/usr/bin/install: cannot stat `binary-ecl/maxima': No such file or directory
Makefile:3088: recipe for target `install-ecl' failed
make[2]: *** [install-ecl] Error 1
make[2]: Leaving directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
Makefile:676: recipe for target `install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/newsagetest/sage-5.5.rc0/spkg/build/maxima-5.26.0.p0/src/src'
Makefile:320: recipe for target `install-recursive' failed
make: *** [install-recursive] Error 1
***********************************************************
Error: Failed to install Maxima.
***********************************************************

real    7m38.501s
user    1m58.201s
sys     1m37.148s
************************************************************************
Error installing package maxima-5.26.0.p0
************************************************************************

I have no idea why, especially since rebasing seems to have nothing to do with it even though there is this inaccessible comment. There is indeed a maxima-package.{fas,o} in the build directory in src/src/binary-ecl, but I don't see any maxima-system. Is this similar to the problem you had? And if you have an idea on how to continue in the ECL debugger, that would be great - probably that is part of my problem...

comment:86 Changed 7 years ago by jpflori

That looks very scary and completely different from what I get.

I think that in my case (on Cygwin, not on Linux where the problem looks different and much easier to solve), the compilation goes much further.

comment:87 Changed 7 years ago by jpflori

  • Status changed from needs_work to needs_review
  • Work issues correct options passed to configure deleted

Ok here comes an updated 12.7.1 spkg. It should be fine although I'm not sure anymore it properly compiles on my Cygwin.

We can postpone 12.12.1 to another ticket if it looks even more problematic.

Changed 7 years ago by jpflori

Spkg diff, for review only.

comment:88 Changed 7 years ago by jpflori

The new 12.7.1 spkg looks fine on Linux.

comment:89 Changed 7 years ago by jpflori

On my Cywgin (64 bits windows 7) I still get stuck when compiling SLATEC:DBESJ. Nevertheless, I don't think it should be a blocker. That may be some rebase or Cygwin crap. I'll try a clean install later, this one suffered too much.

comment:90 Changed 7 years ago by jpflori

Updated 12.12.1 spkg uploaded as well. Beware that Maxima will not get properly installed (and pretend to do so because the spkg-install script there is somehow broken) on all system including Linux.

Changed 7 years ago by jpflori

Spkg diff, for review only.

comment:91 Changed 7 years ago by jpflori

I don't seem to have the compilation problem with the old ecl 11-*cvs.p2 spkg I posted a long time ago... It has not finished building Maxima 5.26.p0 yet but went through the problematic SLATEC:DBESJ. Too bad.

By the way, I did not need any rebase so far (for ECL or Maxima, I think the only one I did here was to start Sage, nothing needed before).

Maybe we should go back to 12.2.1 if my problem disappears with it.

comment:92 follow-ups: Changed 7 years ago by kcrisman

I'm getting the same problem now even with 12.7.1.p0 now. And in fact I think I had not tested the p0 spkg before with Sage 5.5.rc0, only with 5.4.rc2. Aargh. Is it possible that it's the changes in 12.7.1.p1 at #9167 actually fix the problem I'm having? So far, that's the only one of the three that worked in building Maxima with 5.5.rc0. And of course the old spkg you mention was fine.

comment:93 in reply to: ↑ 92 Changed 7 years ago by kcrisman

I'm getting the same problem now even with 12.7.1.p0 now. And in fact I think I had not tested the p0 spkg before with Sage 5.5.rc0, only with 5.4.rc2. Aargh. Is it possible that it's the changes in 12.7.1.p1 at #9167 actually fix the problem I'm having? So far, that's the only one of the three that worked in building Maxima with 5.5.rc0. And of course the old spkg you mention was fine.

Indeed, the spkg at 12.7.1.p1 at #9167, even if it isn't 100% updated, is letting Maxima build normally.

Can you provide a new spkg there based on your p0 here? I don't see how that fixed things, but somehow it does. So maybe this allows us to at least keep 12.7.1 instead of 12.2.1, though I would be open to that too...

comment:94 in reply to: ↑ 92 ; follow-up: Changed 7 years ago by jpflori

Replying to kcrisman:

I'm getting the same problem now even with 12.7.1.p0 now. And in fact I think I had not tested the p0 spkg before with Sage 5.5.rc0, only with 5.4.rc2. Aargh. Is it possible that it's the changes in 12.7.1.p1 at #9167 actually fix the problem I'm having? So far, that's the only one of the three that worked in building Maxima with 5.5.rc0. And of course the old spkg you mention was fine.

What same problem do you mean? Getting stuck at SLATE:DBESJ?

Because what #9167 deals with is completely unrelated.

comment:95 Changed 7 years ago by jpflori

Changing from 5.5.rc0 to 5.4.rc2 also looks unrelated... Really strange.

The point here is that ECL gets stuck while compiling Maxima. All the (other) pieces of Sage have nothing to do with that.

comment:96 Changed 7 years ago by jpflori

With the 11.*cvs.p2 spkg, maxima was correctly built finally (without rebase!!)...

I've uploaded a completely untested 12.2.1 spkg at http://boxen.math.washington.edu/home/jpflori/ecl-12.2.1.p0.spkg

Changed 7 years ago by jpflori

Spkg diff, for review only.

comment:97 in reply to: ↑ 94 Changed 7 years ago by kcrisman

Replying to jpflori:

Replying to kcrisman:

I'm getting the same problem now even with 12.7.1.p0 now. And in fact I think I had not tested the p0 spkg before with Sage 5.5.rc0, only with 5.4.rc2. Aargh. Is it possible that it's the changes in 12.7.1.p1 at #9167 actually fix the problem I'm having? So far, that's the only one of the three that worked in building Maxima with 5.5.rc0. And of course the old spkg you mention was fine.

What same problem do you mean?

No, I mean the problem I had in comment:85, which you called "very scary".

I've uploaded a completely untested 12.2.1 spkg

This one doesn't need the signals stuff, I take it?

comment:98 Changed 7 years ago by jpflori

Yup it still has an older signal handling code and our patch should not be needed (it does not apply whence my guess...).

comment:99 follow-up: Changed 7 years ago by jpflori

With ECL 12.2.1, the Maxima spkg goes past SLATEC::DBESJ (not finished yet though). If it is fine on XP as well, let's go with it for the time being.

Potentially both our problems are incarnation of the same problem.

We should also try the 12.7.1 and 12.12.1 ECLs with the new Maxima 5.299.1 from #13364, who knows... It might not fix the ECL bug if any, but make it so that it is not triggered for us.

comment:100 in reply to: ↑ 99 ; follow-up: Changed 7 years ago by kcrisman

With ECL 12.2.1, the Maxima spkg goes past SLATEC::DBESJ (not finished yet though). If it is fine on XP as well, let's go with it for the time being.

Agreed.

Potentially both our problems are incarnation of the same problem.

I wouldn't be surprised.

We should also try the 12.7.1 and 12.12.1 ECLs with the new Maxima 5.299.1 from #13364, who knows... It might not fix the ECL bug if any, but make it so that it is not triggered for us.

Aack! I think I'm going to skip that for today. Monday, if 12.2.1 doesn't help us.

comment:101 in reply to: ↑ 100 Changed 7 years ago by kcrisman

If it is fine on XP as well, let's go with it for the time being.

Agreed.

Unfortunately, same problem. Only the ecl-11* spkg and the p1 spkg at #9167 work properly for me. And that is reproducible.

I have to go somewhere, but I'm going to at least set it to trying 12.2.1.p0 with #13364. But I don't expect anything happy.

Are you sure that the changes at #9167 wouldn't make a difference? You do change where certain files are sent, and maybe that has some relation to it.

comment:102 follow-up: Changed 7 years ago by jpflori

Maybe in your case, some file are not properly deleted and then you're using different versions of ECL and that segfaults. Not sure.

I think the best to do is to try to build all of this outside of Sage, but that is more involved. Or relauunch a clean build with the new spkg directly in spkg/standard to avoid messing different versions together.

In my case, using 12.2.1, the Maxima 5.26.0 spkg installs cleanly. So my problem was introduced between 12.2.1 and 12.7.1 if that's on the ECL side.

And i now doubt both issues are related.

comment:103 Changed 7 years ago by leif

Nice chat... ;-)

comment:104 in reply to: ↑ 102 ; follow-up: Changed 7 years ago by kcrisman

And i now doubt both issues are related.

They must not be, because I get the same problem as before with 12.2.1 and Maxima 5.29.1. Why not the p1 from #9167? I don't understand...

Anyway, I'll probably have just enough time to set up a completely new build from scratch with the 12.12.1 from this ticket to run over the weekend; since you have a clean fix (probably) for the Maxima library issue, maybe it just turned out my installation was somehow problematic.

comment:105 in reply to: ↑ 104 ; follow-up: Changed 7 years ago by jpflori

Replying to kcrisman:

And i now doubt both issues are related.

They must not be, because I get the same problem as before with 12.2.1 and Maxima 5.29.1. Why not the p1 from #9167? I don't understand...

Because I would not not understand why the fixes of #9167 could fix your problem. From what I understand, there really would be no reason. What I did in #9167 is just renaming some files produced when building ECL, and more precisely the most relevant thing is moving lib/ecl.dll to bin/cygecl.dll and creating a new lib/libecl.dll.a. And frankly I see no reason why this should prevent a segfault when building Maxima with ECL. Maybe it does, I cannot say it's not the case, but if it it is then I cannot say why...

My point was that if you got these differently named files (cygecl.dll and libecl.dll.a) and the customary one (ecl.dll), maybe somthing got mixed up and lead to a segfault, but that's just a guess.

Anyway, I'll probably have just enough time to set up a completely new build from scratch with the 12.12.1 from this ticket to run over the weekend; since you have a clean fix (probably) for the Maxima library issue, maybe it just turned out my installation was somehow problematic.

comment:106 Changed 7 years ago by jpflori

Good news, upstream found the cause of my problem and a fix is on the way.

So if we clear the other issue or confirm its bad interaction between different versions of ECL, we can go ahead with 12.12.1!

comment:107 in reply to: ↑ 105 ; follow-up: Changed 7 years ago by kcrisman

Because I would not not understand why the fixes of #9167 could fix your problem. What I did in #9167 is just renaming some files produced when building ECL, and more precisely the most relevant thing is moving lib/ecl.dll to bin/cygecl.dll and creating a new lib/libecl.dll.a. My point was that if you got these differently named files (cygecl.dll and libecl.dll.a) and the customary one (ecl.dll), maybe somthing got mixed up and lead to a segfault, but that's just a guess.

I see, that's what you were saying. I can believe that having the new files along with the usual one would do that, since it was similar conflicts that led to other messes on Cygwin. I had compiled it first with the package from #9167 before trying all of these. So your diagnosis that #9167 wasn't solving a problem, but that doing these was causing it, seems reasonable.

If so, could this cause problems on upgrade on Cygwin? Not that we are expecting Cygwin users to do upgrades necessarily.

Anyway, I'll try to get by that machine on Monday and see how it did over the weekend with the compile from scratch with 12.12.1! Then we can test it quick on some Macs (you have Linux covered, I guess) and hopefully get this positive review as well.

comment:108 Changed 7 years ago by jpflori

The problem I encountered should be fixed by upstream commit at http://sourceforge.net/p/ecls/ecl/ci/13459a98f0c0c58ccc4e9241c3bf0625e39f2383/

See the discussion as well http://sourceforge.net/mailarchive/message.php?msg_id=30231870

I'll post a new 12.12.1 spkg over the weekend because I feel we can finally target this release.

Changed 7 years ago by jpflori

Spkg diff, for review only.

comment:109 Changed 7 years ago by jpflori

  • Dependencies set to #13364
  • Description modified (diff)
  • Summary changed from Upgrade ECL to 12.7.1 and let it build on (recent) Cygwins to Upgrade ECL to 12.12.1 and let it build on (recent) Cygwins

New spkg with upstream patch for infinite loops.

Maxima spkg will need modification.

comment:110 Changed 7 years ago by leif

FWIW, the (vanilla upstream?) patch to src/lsp/format.lsp in the current 12.12.1.p0 spkg applies with fuzz 2 ...

(Most probably harmless, but we should fix that for a final spkg I think.)

comment:111 Changed 7 years ago by leif

  • Description modified (diff)

comment:112 follow-up: Changed 7 years ago by jpflori

Yes the fuzz is harmless. I'll fix it if that's the only blocker.

comment:113 in reply to: ↑ 112 ; follow-up: Changed 7 years ago by leif

Replying to jpflori:

Yes the fuzz is harmless. I'll fix it if that's the only blocker.

Well, to me that's certainly not a blocker. (But I'm not sure whether Jeroen's merger will catch that, rejecting the spkg -- fuzz 2 is "forbidden" for Sage library patches at least.)

I could probably take a look at the spkg (which I haven't done yet), but positive review needs to be given by some Cygwin guru (like Karl-Dieter) I think.

comment:114 in reply to: ↑ 113 ; follow-up: Changed 7 years ago by kcrisman

I could probably take a look at the spkg (which I haven't done yet),

Please do! It would be very helpful to have another eye on it.

but positive review needs to be given by some Cygwin guru (like Karl-Dieter) I think.

I am only a Cygwin guru in the sense that I am a PPC Mac guru - I have access to such a machine and am stubborn enough to try building Sage on the platform, many, many times.

comment:115 in reply to: ↑ 114 Changed 7 years ago by fbissey

Replying to kcrisman:

I could probably take a look at the spkg (which I haven't done yet),

Please do! It would be very helpful to have another eye on it.

but positive review needs to be given by some Cygwin guru (like Karl-Dieter) I think.

I am only a Cygwin guru in the sense that I am a PPC Mac guru - I have access to such a machine and am stubborn enough to try building Sage on the platform, many, many times.

I say that count for your guru status.

comment:116 follow-up: Changed 7 years ago by jpflori

Here comes a new spkg without fuzz.

Changed 7 years ago by jpflori

Spkg diff, for review only.

comment:117 in reply to: ↑ 107 ; follow-up: Changed 7 years ago by kcrisman

Anyway, I'll try to get by that machine on Monday and see how it did over the weekend with the compile from scratch with 12.12.1! Then we can test it quick on some Macs (you have Linux covered, I guess) and hopefully get this positive review as well.

Okay, ecl-12.12.1.p0 built over the weekend and maxima-5.26.0.p0 built with it. The Sage library failed but that was expected due to the various patches needed. I'm trying 5.29.1.p0 now.

comment:118 in reply to: ↑ 117 Changed 7 years ago by kcrisman

Okay, ecl-12.12.1.p0 built over the weekend and maxima-5.26.0.p0 built with it. The Sage library failed but that was expected due to the various patches needed. I'm trying 5.29.1.p0 now.

That installed fine in a build from scratch, and ./sage -maxima works. So hopefully the problem was the name clash earlier.

comment:119 in reply to: ↑ 116 ; follow-up: Changed 7 years ago by leif

Replying to jpflori:

Here comes a new spkg without fuzz.

Ok. Still not sure whether the way the Maxima library now crashes Sage (cf. #13364) is caused by the new ECL, just our interface, or both...

At least the ticket description mentions new (or better) interrupt handling; haven't looked at that though.

comment:120 in reply to: ↑ 119 ; follow-up: Changed 7 years ago by fbissey

Replying to leif:

Replying to jpflori:

Here comes a new spkg without fuzz.

Ok. Still not sure whether the way the Maxima library now crashes Sage (cf. #13364) is caused by the new ECL, just our interface, or both...

At least the ticket description mentions new (or better) interrupt handling; haven't looked at that though.

I think we have pretty much established that ecl is not the problem since we have reproduced the crash in maxima with at least 3 different lisp interpreters (ecl, clisp and sbcl).

comment:121 in reply to: ↑ 120 Changed 7 years ago by leif

Replying to fbissey:

Replying to leif:

Still not sure whether the way the Maxima library now crashes Sage (cf. #13364) is caused by the new ECL, just our interface, or both...

At least the ticket description mentions new (or better) interrupt handling; haven't looked at that though.

I think we have pretty much established that ecl is not the problem since we have reproduced the crash in maxima with at least 3 different lisp interpreters (ecl, clisp and sbcl).

Well, still IMHO Sage should catch the segfault (or whatever).

[Note that CLISP IIRC detected a (Lisp) stack overflow, which ECL did only on some systems; to me this is pretty different to a few thousand times issuing "access to protected memory detected", finally really crashing with an uncatched segfault.]

comment:122 follow-up: Changed 7 years ago by fbissey

Just for your information leif this is what sbcl says:

Maxima 5.29.1 http://maxima.sourceforge.net
using Lisp SBCL 1.0.55
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(abs_integrate);
STYLE-WARNING: redefining MAXIMA::OPAPPLY in DEFMACRO
STYLE-WARNING: redefining MAXIMA::OPCONS in DEFMACRO
STYLE-WARNING: redefining MAXIMA::SIMP-ISREAL-P in DEFUN
(%o1) /usr/share/maxima/5.29.1/share/contrib/integration/abs_integrate.mac
(%i2)  integrate(abs(sin(x)),x,0,2*%pi);
INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution

Maxima encountered a Lisp error:

 Control stack exhausted (no more space for function call frames).
This is probably due to heavily nested or infinitely recursive function
calls, or a tail call that SBCL cannot or has not optimized away.

PROCEED WITH CAUTION.

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i3)

Note that with sbcl the crash is rather graceful in that maxima is still running.

comment:123 in reply to: ↑ 122 Changed 7 years ago by leif

Replying to fbissey:

Note that with sbcl the crash is rather graceful in that maxima is still running.

Yes, that's nearly what I meant. I think -- if ECL doesn't [properly] -- Sage should catch the segfault, abort the current computation, and [ideally] return to the sage: prompt.

So, as I see it, ECL currently doesn't properly detect or handle the stack overflow (returning with an error instead of doing whatever it currently tries to, if the behavior is [partially] intentional at all), nor does Sage catch the segfault apparently because ECL installs its own signal handler(s).

comment:124 follow-up: Changed 7 years ago by jpflori

I'll report the uncaught error to upstream ECL. Reaction happens quite quickly usually.

comment:125 Changed 7 years ago by leif

  • Dependencies changed from #13364 to #13860

Dima's Maxima 5.26.0.p1 spkg from #13860 builds with the old (our current) as well as the new ECL from here.

comment:126 Changed 7 years ago by leif

  • Description modified (diff)

comment:127 in reply to: ↑ 124 ; follow-up: Changed 7 years ago by kcrisman

I'll report the uncaught error to upstream ECL. Reaction happens quite quickly usually.

What is the status of this ticket? I can't help on the Cygwin side for a while yet but am happy to do any sage.math or recent Mac testing. Is it "needs work" on the uncaught error? And is there a link to the upstream report? Just trying to gauge the status, thanks.

comment:128 in reply to: ↑ 127 ; follow-up: Changed 7 years ago by dimpase

Replying to kcrisman:

I'll report the uncaught error to upstream ECL. Reaction happens quite quickly usually.

What is the status of this ticket? I can't help on the Cygwin side for a while yet but am happy to do any sage.math or recent Mac testing. Is it "needs work" on the uncaught error? And is there a link to the upstream report? Just trying to gauge the status, thanks.

here you can see an easy way to reproduce this using only ECL and the latest Maxima. There was no reaction from upstream. Although the ECL maintainer says he's not doing a lot on ECL now. Probably one has to file a proper detailed bug report via an appropriate SF bug tracker.

However, I am not really sure ECL must fix this. Indeed, this is caused by a bug in maxima, a compiled component. I don't see why one should demand more grace from a Lisp compiler than from a C compiler. The maxima bug can apparently be patched.

comment:129 Changed 7 years ago by kcrisman

  • Dependencies #13860 deleted
  • Description modified (diff)

Just updating things slightly since the needed Maxima changes are in 5.6.beta2. Note that #13364 (Maxima upgrade) is now ready as well.

comment:130 in reply to: ↑ 128 ; follow-up: Changed 7 years ago by jpflori

Replying to dimpase:

However, I am not really sure ECL must fix this. Indeed, this is caused by a bug in maxima, a compiled component. I don't see why one should demand more grace from a Lisp compiler than from a C compiler. The maxima bug can apparently be patched.

I agree.

So would you consider positive review this?

comment:131 in reply to: ↑ 130 ; follow-up: Changed 7 years ago by dimpase

Replying to jpflori:

Replying to dimpase:

However, I am not really sure ECL must fix this. Indeed, this is caused by a bug in maxima, a compiled component. I don't see why one should demand more grace from a Lisp compiler than from a C compiler. The maxima bug can apparently be patched.

I agree.

So would you consider positive review this?

I would prefer maxima being updated (#13364) first. Otherwise it's double work.

comment:132 in reply to: ↑ 131 Changed 7 years ago by kcrisman

  • Dependencies set to #13364
  • Reviewers changed from François Bissey, Karl-Dieter Crisman to François Bissey, Karl-Dieter Crisman, Dmitrii Pasechnik

So would you consider positive review this?

I would prefer maxima being updated (#13364) first. Otherwise it's double work.

Good point. So... making #13364 a dependency. Would that satisfy you?

comment:133 Changed 7 years ago by dimpase

  • Status changed from needs_review to positive_review

looks good, positive review.

comment:134 follow-up: Changed 7 years ago by jdemeyer

  • Milestone changed from sage-5.6 to sage-5.7

I am moving this to sage-5.7, such that maxima can be merged in sage-5.6 (hopefully) and receive some more testing before ECL is merged.

comment:135 in reply to: ↑ 134 Changed 7 years ago by leif

  • Dependencies changed from #13364 to #13860

Replying to jdemeyer:

I am moving this to sage-5.7, such that maxima can be merged in sage-5.6 (hopefully) and receive some more testing before ECL is merged.

Well, we actually intended the opposite order, the main reason for #13860.

comment:136 Changed 7 years ago by jdemeyer

  • Milestone changed from sage-5.7 to sage-5.6

comment:137 Changed 7 years ago by jdemeyer

Testing on the buildbot showed the following non-reproducible timeout on bsd (OS X 10.6 x86_64):

sage -t  -force_lib devel/sage/sage/interfaces/lisp.py
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

	 [360.6 s]

I have never before seen this file timeout, normally it should only take a few seconds.

comment:138 Changed 7 years ago by jdemeyer

  • Milestone changed from sage-5.6 to sage-5.7
  • Status changed from positive_review to needs_work

This happens on other systems as well, rosemary (RHEL 5.6 x86_64):

sage -t  --long -force_lib devel/sage/sage/interfaces/lisp.py
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

	 [1800.2 s]

comment:139 Changed 7 years ago by jdemeyer

On rosemary, I did 1000 tests (without --long) of lisp.py and 5 of them timed out.

comment:140 follow-up: Changed 7 years ago by jdemeyer

Again with --verbose, several equal timeouts:

sage -t --verbose "devel/sage/sage/interfaces/lisp.py"
[...]
Trying:
    lisp.version()###line 294:_sage_    >>> lisp.version()
Expecting:
    'Version information is given by lisp.console().'
ok
Trying:
    sig_on_count()
Expecting:
    0
ok
Trying:
    set_random_seed(0L)
Expecting nothin*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

         [360.1 s]

----------------------------------------------------------------------
The following tests failed:


        sage -t --verbose "devel/sage/sage/interfaces/lisp.py" # Time out
Total time for all tests: 360.2 seconds

comment:141 in reply to: ↑ 140 Changed 7 years ago by dimpase

Replying to jdemeyer:

Again with --verbose, several equal timeouts:

...
Trying:
    set_random_seed(0L)
Expecting nothin*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

         [360.1 s]

----------------------------------------------------------------------
The following tests failed:


        sage -t --verbose "devel/sage/sage/interfaces/lisp.py" # Time out
Total time for all tests: 360.2 seconds

Where does this come from? There is no set_random_seed() call in devel/sage/sage/interfaces/lisp.py in Sage 5.6.beta2.

comment:142 follow-up: Changed 7 years ago by jdemeyer

set_random_seed() is added by the doctesting script.

comment:143 in reply to: ↑ 142 Changed 7 years ago by dimpase

Replying to jdemeyer:

set_random_seed() is added by the doctesting script.

OK, but still, what is the docstring called, which leads to this?

comment:144 follow-up: Changed 7 years ago by jdemeyer

I don't know because of output buffering (note the "nothin"). I am running 1000 verbose tests again, but with

PYTHONUNBUFFERED=yes

comment:145 in reply to: ↑ 144 Changed 7 years ago by leif

Replying to jdemeyer:

I don't know because of output buffering (note the "nothin"). I am running 1000 verbose tests again, but with

PYTHONUNBUFFERED=yes

Oh, didn't know that.

Alternatively, you could apply this patch to $SAGE_ROOT/local/bin/ncadoctest.py, to see which test times out. (I think it still applies, haven't tried for a while.)

comment:146 Changed 7 years ago by jpflori

I remember having problems with previous versions of the spkg because it was build multi-threaded (not really thought about this deeply), and then rebuilding it single-threaded seemed to have solved all the problems, but it seems it was not enough...

comment:147 Changed 7 years ago by jdemeyer

Jean-Pierre: I would find it quite surprising that building in parallel succeeded but that the resulting installation is subtly broken. Usually, when there are problems with parallel builds, it simply fails to build outright.

comment:148 follow-up: Changed 7 years ago by jpflori

I meant building ECL multi-threaded (i.e. let ECL use multiple threads while running).

That does not make that much sense at once either, but eh, you can try with removing the --disable-threads flag from configure and IIRC you'll get a lot of similarly strange failures (like lisp does not answer when asked to compute 1+1). Maybe some signal handling crap, I really don't know.

comment:149 in reply to: ↑ 148 Changed 7 years ago by fbissey

Replying to jpflori:

I meant building ECL multi-threaded (i.e. let ECL use multiple threads while running).

That does not make that much sense at once either, but eh, you can try with removing the --disable-threads flag from configure and IIRC you'll get a lot of similarly strange failures (like lisp does not answer when asked to compute 1+1). Maybe some signal handling crap, I really don't know.

So you currently build it multi-threaded and you say there are issues if built single threaded?

comment:150 Changed 7 years ago by jpflori

No the converse.

comment:151 Changed 7 years ago by jpflori

The point is that maybe the problem is deeper and is only more exposed when ECL is multi-threaded, but still present when it is single-threaded.

comment:152 Changed 7 years ago by fbissey

I can explore that quickly but the only time out I have ever seen with ecl were unicode related.

comment:153 Changed 7 years ago by jdemeyer

The timeouts happen during various tests, seemingly at random. These are the results of 1000 verbose unbuffered non-long tests, 4 timeouts:

Trying:
    lisp(Integer(2)).bool()###line 418:_sage_    >>> lisp(2).bool()
Expecting:
    True
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
Trying:
    one == one###line 390:_sage_    >>> one == one
Expecting:
    True
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
Trying:
    lisp.eval('(+ 2 2)')###line 107:_sage_    >>> lisp.eval('(+ 2 2)')
Expecting:
    '4'
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
Trying:
    a = lisp(Integer(3)); b = lisp(Integer(5))###line 7:_sage_    >>> a = lisp(3); b = lisp(5)
Expecting nothing
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

comment:154 Changed 7 years ago by fbissey

I am lazy and have other things to do. Could you post your 1000 run script so I can try it (like I said I am too lazy to write one).

comment:155 Changed 7 years ago by jdemeyer

In bash:

export PYTHONUNBUFFERED=yes
mkdir -p res
for ((i=0; i<1000; i++)); do
    ./sage -t --verbose devel/sage/sage/interfaces/lisp.py &>res/$i
    echo $i
done

Results will be in directory res/. To see which tests failed:

grep -L '^All tests pass' res/*
Last edited 7 years ago by jdemeyer (previous) (diff)

comment:156 Changed 7 years ago by jpflori

Replying to jdemeyer:

The timeouts happen during various tests, seemingly at random. These are the results of 1000 verbose unbuffered non-long tests, 4 timeouts:

Trying:
    lisp(Integer(2)).bool()###line 418:_sage_    >>> lisp(2).bool()
Expecting:
    True
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

Too ad, that's exactly the kind of issues I had and thought to be solved by building ECL single threaded (which I intended to do anyway, it is just I forgot to configure it so in the first place, i don't think the way we handle signals woud be compatible with a multi-threaded ECL, Nils surely have an opinion on that, there are also potentiel problems with Maxima as written in SPKG.txt, but I have not looked at this).

So the new ECL interacts badly with pexpect?

Trying:

one == one###line 390:_sage_ >>> one == one

Expecting:

True

* * Error: TIMED OUT! PROCESS KILLED! * * }}}

Trying:
    lisp.eval('(+ 2 2)')###line 107:_sage_    >>> lisp.eval('(+ 2 2)')
Expecting:
    '4'
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
Trying:
    a = lisp(Integer(3)); b = lisp(Integer(5))###line 7:_sage_    >>> a = lisp(3); b = lisp(5)
Expecting nothing
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***

comment:157 Changed 7 years ago by fbissey

Yes I had a time out in progress on the 25th tests - I didn't have verbose so restarting.

comment:158 Changed 7 years ago by jpflori

I can confirm it happens randomly on my Linux install as well... The one I got is even in different tests that the one above, so I guess it can happen anywhere.

comment:159 follow-up: Changed 7 years ago by fbissey

Do we know if it happened with the previous ecl?

comment:160 Changed 7 years ago by jdemeyer

As I said, I never saw this before and I do a lot of tests of Sage, I assure you :-)

comment:161 in reply to: ↑ 159 Changed 7 years ago by leif

Replying to fbissey:

Do we know if it happened with the previous ecl?

Well, give it a try... ;-P

This still doesn't tell us whether the Python or the ECL process (or both) are busy before a test times out.

comment:162 Changed 7 years ago by fbissey

I'll admit to a fair amount of testing as part of sage-on-gentoo but I don't do that kind of torture test. And I wouldn't even pretend to reach the number of tests you run across the sagemath cluster... For the record I also see it on my sage-on-gentoo install on x86_64.

leif: As far as I can see neither (time out in progress)

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
fbissey   5088  0.0  0.0  11672  1464 pts/0    S    22:34   0:00 bash thousand.sh
fbissey   5096  0.0  0.0  51120  6248 pts/0    S    22:34   0:00 /usr//bin//python2.7 /usr//bin/sage-cleaner
fbissey   9699  0.0  0.0  14096  4388 pts/2    S+   22:49   0:00 nano -w /scratch/portage/dev-python/sympy-0.7.2/work/sympy-0.7.2/sympy/utilities/runtests.py
fbissey  11689  0.0  0.0  11800  1572 pts/0    S    22:53   0:00 bash /usr/bin/sage -t -verbose /usr/share/sage/devel/sage-main/sage/interfaces/lisp.py
fbissey  11690  0.0  0.0  34372  4972 pts/0    S    22:53   0:00 /usr/bin/python2.7 /usr/bin/sage -test -verbose /usr/share/sage/devel/sage-main/sage/interfaces/lisp.py
fbissey  11692  0.0  0.0  57624  6668 pts/0    S    22:53   0:00 /usr/bin/python2.7 /usr/bin/sage -doctest -verbose /usr/share/sage/devel/sage-main/sage/interfaces/lisp.py
fbissey  11693  0.4  0.6 969368 151608 pts/0   S    22:53   0:00 /usr/bin/python2.7 /home/fbissey/.sage/tmp/lisp_11692.py
fbissey  11694  0.0  0.0  32460  7396 pts/3    Ss+  22:53   0:00 /usr//bin/ecl
fbissey  11705  0.0  0.0  15144  1128 pts/0    R+   22:57   0:00 ps ux
fbissey  11706  0.0  0.0   6644   800 pts/0    S+   22:57   0:00 more
fbissey  25062  0.0  0.0  41056  1656 ?        S    21:42   0:02 sshd: fbissey@pts/0
fbissey  25063  0.0  0.0  20488  2424 pts/0    Ss   21:42   0:00 -bash
fbissey  29298  0.0  0.0  41056  1656 ?        S    21:53   0:00 sshd: fbissey@pts/2
fbissey  29300  0.0  0.0  20488  2436 pts/2    Ss   21:53   0:00 -bash

comment:163 follow-up: Changed 7 years ago by leif

Btw, you can also do

env SAGE_TEST_ITER=1000 SAGE_TIMEOUT=60 ./sage -tp 1 devel/sage/sage/interfaces/lisp.py &> foo.log

(Add --verbose, change the number of threads, or the timeout as you like.)

Afterwards grep the log...

comment:164 in reply to: ↑ 163 Changed 7 years ago by leif

Replying to leif:

Btw, you can also do

env SAGE_TEST_ITER=1000 SAGE_TIMEOUT=60 ./sage -tp 1 devel/sage/sage/interfaces/lisp.py &> foo.log

I tried this with the old ECL (on Linux x86_64) and didn't get a single failure / timeout, so the timeouts are definitely a regression. (Although I must admit I haven't tried with the new ECL [on the same machine].)

comment:165 Changed 7 years ago by jpflori

Ok, I think I got a little more info on this one by enabling the pexpect logs in our Sage classes:

  • we throw (+ 1 random) to ECL for synchronization,
  • it seems the output is somehow split on multiple lines randomly, e.g. on the last failing example I got we threw (+ 1 937780183) and here is what is in the log
    ...
    > (+ 1 937780183)
    
    (+ 1 937780183)^M
    ^M
    93^M
    7780184^M
    > 
    

So indeed we will never read 937780184 back. (Not sure what ^M exactly is)

By the way, the lisp.py file needs a big cleanup, especially all the :: for the examples and tests.

Last edited 7 years ago by jdemeyer (previous) (diff)

comment:166 Changed 7 years ago by jpflori

All our troubles may be caused by the fact that the sync command we send is

"(+ 1 s)\n"

Note the "\n" which is superfulous and might get intersparsed with the output of "(+ 1 s)" if ECL does not handle it gracefully so leading to our problem.

comment:167 Changed 7 years ago by jpflori

Could you test lisp.py after removing that extra \n in _synchronize in lisp.py? That may not be a real fix, but at least a workaround.

comment:168 follow-up: Changed 7 years ago by jdemeyer

^M is a carriage return, it's normal that this appears at the end of every line.

comment:169 in reply to: ↑ 168 Changed 7 years ago by leif

Replying to jdemeyer:

^M is a carriage return, it's normal that this appears at the end of every line.

Yes, a carriage return (rather than a newline, \n), which is quite DOSsy (\r\n).

Changed 7 years ago by jpflori

Cleanup lisp.py and remove problematic \n from synchronize

comment:170 Changed 7 years ago by jpflori

  • Description modified (diff)
  • Status changed from needs_work to needs_review

comment:171 Changed 7 years ago by jpflori

I went through one thousand tests without problem with the last patch.

comment:172 Changed 7 years ago by fbissey

  • Status changed from needs_review to positive_review

It's gone here too. I think that did the trick. In fact I am wondering if that has got rid of the problems I was seeing in #12985 but that's a discusion for that other ticket. I am putting this back to positive review.

comment:173 Changed 7 years ago by jdemeyer

  • Merged in set to sage-5.7.beta0
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:174 follow-up: Changed 7 years ago by jdemeyer

This is a massive regression due to this ECL upgrade:

Execute

time print(len(maxima._commands(verbose=False)))
  • Before: about 2.5s
  • After: about 20s

It makes we wonder whether we should unmerge this upgrade, what if more ECL-related functionality has slowed down?

comment:175 in reply to: ↑ 174 ; follow-up: Changed 7 years ago by dimpase

Replying to jdemeyer:

This is a massive regression due to this ECL upgrade:

Execute

time print(len(maxima._commands(verbose=False)))
  • Before: about 2.5s
  • After: about 20s

It makes we wonder whether we should unmerge this upgrade, what if more ECL-related functionality has slowed down?

what time do you measure?

sage: time print(len(maxima._commands(verbose=False)))
1926
Time: CPU 0.91 s, Wall: 28.65 s

and do you get 1926 with the older ECL, too?

comment:176 in reply to: ↑ 175 Changed 7 years ago by jdemeyer

Replying to dimpase:

and do you get 1926 with the older ECL, too?

No, I get 1871 which is close enough.

comment:177 follow-ups: Changed 7 years ago by kcrisman

Also,

/Users/.../sage-5.7.beta2/local/lib/python2.7/site-packages/sage/misc/sage_extension.py:359: DeprecationWarning: Use %time instead of time.
See http://trac.sagemath.org/12719 for details.

Anyway, it's only the very first time that this is really slow, presumably due to Maxima starting up. However, there is a brief slowdown.

sage: time print(len(maxima._commands(verbose=False)))
1926
CPU times: user 0.32 s, sys: 0.07 s, total: 0.39 s
Wall time: 16.06 s
sage: time print(len(maxima._commands(verbose=False)))
1926
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
sage: %timeit print(len(maxima._commands(verbose=False)))
<many 1926 later>
100000 loops, best of 3: 5.09 us per loop

With 5.6:

sage: time print(len(maxima._commands(verbose=False)))
1871
Time: CPU 0.37 s, Wall: 16.32 s
sage: time print(len(maxima._commands(verbose=False)))
1871
Time: CPU 0.00 s, Wall: 0.00 s
sage: %timeit print(len(maxima._commands(verbose=False)))
625 loops, best of 3: 2.16 µs per loop

Testing another command. Old:

sage: %timeit integrate(cos(x^2),x)
25 loops, best of 3: 21.4 ms per loop

New:

sage: %timeit integrate(cos(x^2),x)
1 loops, best of 3: 21.2 ms per loop

I think this is a non-issue. How often are people going to need really fast listing of all Maxima commands?

comment:178 in reply to: ↑ 177 Changed 7 years ago by jdemeyer

Replying to kcrisman:

How often are people going to need really fast listing of all Maxima commands?

I was going to say "TAB completion", but that's apparently cached in $DOT_SAGE.

comment:179 in reply to: ↑ 177 ; follow-up: Changed 7 years ago by jdemeyer

Replying to kcrisman:

presumably due to Maxima starting up.

That can't be the explanation, as other maxima commands don't take 20 seconds...

comment:180 in reply to: ↑ 179 ; follow-up: Changed 7 years ago by kcrisman

presumably due to Maxima starting up.

That can't be the explanation, as other maxima commands don't take 20 seconds...

Hmm, true. On startup, it only seems to add an extra 1.5 seconds for Maxima to start, so the list seems to take 15+ seconds.

Okay, it seems to be creating the whole list for tab completion, actually. I'm used to seeing this slowness, but on my 10-year-old machine with a 1/2 G of memory.

My guess? This line from maxima.completions??:

cmd_list = self._eval_line('apropos("%s")'%s, error_check=False).replace('\\ - ','-')

Recall that we also upgraded Maxima in 5.7.beta0, #13364. Perhaps "apropos" slowed down.

Or maybe the IPython upgrade in #12719 made

sys.stdout.flush()

slower, if this only shows up in 5.7.beta1. I'm going to check this momentarily.

comment:181 in reply to: ↑ 180 Changed 7 years ago by kcrisman

Or maybe the IPython upgrade in #12719 made

sys.stdout.flush()

slower, if this only shows up in 5.7.beta1. I'm going to check this momentarily.

Okay, it also is in beta0, and in retrospect that was a silly comment by me, because that is only called with verbose=True.

So I wonder about "apropos".

How often are people going to need really fast listing of all Maxima commands?

I was going to say "TAB completion", but that's apparently cached in $DOT_SAGE.

And

        try:
            return self.__commands
        except AttributeError:

So it's cached there as well.

Well, I would say open a ticket, and let's see if we can find a way to find a Maxima command to mimic this slowdown in this listing command to report upstream.

Note: See TracTickets for help on using tickets.