#14426: Runaway/Segfaulting ECL processes
-------------------------------------+-------------------------------------
Reporter: jdemeyer | Owner: jdemeyer
Type: defect | Status: closed
Priority: blocker | Milestone: sage-5.9
Component: packages: | Resolution: fixed
standard | Merged in: sage-5.9.rc0
Keywords: | Reviewers: Volker Braun, John
Authors: Jeroen Demeyer | Cremona
Report Upstream: Reported | Work issues:
upstream. Developers acknowledge | Commit:
bug. | Stopgaps:
Branch: |
Dependencies: |
-------------------------------------+-------------------------------------
Description changed by jdemeyer:
Old description:
> On some systems, when executing
> {{{
> ./sage -tp --long devel/sage/sage/interfaces/lisp.py
> }}}
> there are two ECL processes which do (strace log)
> {{{
> read(0, "(setq sage0 2)\n", 1024) = 15
> write(1, "\n", 1) = 1
> write(1, "2", 1) = 1
> write(1, "\n", 1) = 1
> write(1, ">", 1) = 1
> write(1, " ", 1) = 1
> read(0, 0x7f2c263b1000, 1024) = -1 EIO (Input/output error)
> --- SIGHUP (Hangup) @ 0 (0) ---
> --- SIGCONT (Continued) @ 0 (0) ---
> select(1, [0], NULL, NULL, {0, 0}) = 1 (in [0], left {0, 0})
> select(1, [0], NULL, NULL, {0, 0}) = 1 (in [0], left {0, 0})
> read(0, "", 1024) = 0
> write(2, "\n", 1) = -1 EIO (Input/output error)
> write(2, "\n", 1) = -1 EIO (Input/output error)
> write(2, "\n", 1) = -1 EIO (Input/output error)
> write(2, "\n", 1) = -1 EIO (Input/output error)
> [...]
> }}}
> after which they either segfault or keep running forever.
>
> A different way to see this problem:
> {{{
> jdemeyer@boxen:/release/merger/sage-5.9.beta2$ ./sage --sh -c 'echo
> syntax error |ecl 2>/dev/full'
> ECL (Embeddable Common-Lisp) 12.12.1 (git:UNKNOWN)
> Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
> Copyright (C) 1993 Giuseppe Attardi
> Copyright (C) 2000 Juan J. Garcia-Ripoll
> ECL is free software, and you are welcome to redistribute it
> under certain conditions; see file 'Copyright' for details.
> Type :h for Help.
> Top level.
> > /bin/bash: line 1: 11264 Done echo syntax error
> 11265 Segmentation fault | ecl 2> /dev/full
> }}}
>
> '''upstream''': [https://sourceforge.net/p/ecls/bugs/257/]
>
> '''spkg''':
> [http://boxen.math.washington.edu/home/jdemeyer/spkg/ecl-12.12.1.p2.spkg]
> ([attachment:ecl-12.12.1.p2.diff diff])
>
> '''apply''': [attachment:14426_doctest.patch]
>
> === ecl-12.12.1.p2 (Jeroen Demeyer, 9 April 2013) ===
> * #14426: write_error.patch: avoid an infinite loop when reporting
> an error while writing to stderr.
> * Rename spkg-make to spkg-src.
> * Don't unset MAKEFLAGS (it was not clear why this was needed).
> * It seems no longer needed to disable Altivec.
> * Support ECL_CONFIGURE environment variable for options to
> ./configure.
New description:
On some systems, when executing
{{{
./sage -tp --long devel/sage/sage/interfaces/lisp.py
}}}
there are two ECL processes which do (strace log)
{{{
read(0, "(setq sage0 2)\n", 1024) = 15
write(1, "\n", 1) = 1
write(1, "2", 1) = 1
write(1, "\n", 1) = 1
write(1, ">", 1) = 1
write(1, " ", 1) = 1
read(0, 0x7f2c263b1000, 1024) = -1 EIO (Input/output error)
--- SIGHUP (Hangup) @ 0 (0) ---
--- SIGCONT (Continued) @ 0 (0) ---
select(1, [0], NULL, NULL, {0, 0}) = 1 (in [0], left {0, 0})
select(1, [0], NULL, NULL, {0, 0}) = 1 (in [0], left {0, 0})
read(0, "", 1024) = 0
write(2, "\n", 1) = -1 EIO (Input/output error)
write(2, "\n", 1) = -1 EIO (Input/output error)
write(2, "\n", 1) = -1 EIO (Input/output error)
write(2, "\n", 1) = -1 EIO (Input/output error)
[...]
}}}
after which they either segfault or keep running forever.
A different way to see this problem:
{{{
jdemeyer@boxen:/release/merger/sage-5.9.beta2$ ./sage --sh -c 'echo syntax
error |ecl 2>/dev/full'
ECL (Embeddable Common-Lisp) 12.12.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level.
> /bin/bash: line 1: 11264 Done echo syntax error
11265 Segmentation fault | ecl 2> /dev/full
}}}
'''upstream bug''': [http://sourceforge.net/p/ecls/bugs/303/]
'''spkg''':
[http://boxen.math.washington.edu/home/jdemeyer/spkg/ecl-12.12.1.p2.spkg]
([attachment:ecl-12.12.1.p2.diff diff])
'''apply''': [attachment:14426_doctest.patch]
=== ecl-12.12.1.p2 (Jeroen Demeyer, 9 April 2013) ===
* #14426: write_error.patch: avoid an infinite loop when reporting
an error while writing to stderr.
* Rename spkg-make to spkg-src.
* Don't unset MAKEFLAGS (it was not clear why this was needed).
* It seems no longer needed to disable Altivec.
* Support ECL_CONFIGURE environment variable for options to
./configure.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/14426#comment:43>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.