[Ecls-list] Ecl does not react on SIGINT on Linux

Tobias C. Rittweiler tcr at freebits.de
Mon Mar 8 15:41:13 UTC 2010


Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> writes:

> On Sun, Mar 7, 2010 at 11:41 PM, Tobias C. Rittweiler <tcr at freebits.de>wrote:
>
>> On ECL 9.12.1, it enters the debugger if it receives SIGINT.
>>  On current HEAD, it just ignores the signal. Consequently, C-c C-c'ing
>> is ignored, too, at the terminal.
>
>
> The line that starts a signal servicing thread had been uncommented
> (probably while debugging) and was so. This warrants a patch release by
> itself, but I will wait to see if something else pops up.
>
> Fixed in CVS, btw.
>
> Juanjo

Strangely, it works fine in Slime with our custom SIGINT handler, but in
ECL proper I'm seeing the following behaviour:

tcr at thaleron:~/src/from-upstream/ecl$ ecl-git
;;; Loading #P"/home/tcr/software/ecl-git/lib/ecl-10.3.1/asdf.fas"
;;; Loading #P"/home/tcr/software/ecl-git/lib/ecl-10.3.1/cmp.fas"
;;; Loading #P"/home/tcr/software/ecl-git/lib/ecl-10.3.1/sysfun.lsp"
ECL (Embeddable Common-Lisp) 10.3.1
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 in: #<process SI:TOP-LEVEL 0987efc0>.
> ^CSegmentation fault


Trying it with GDB results in a SEGV right at boot:


tcr at thaleron:~/src/from-upstream/ecl$ gdb
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) file /home/tcr/software/ecl-git/bin/ecl
Reading symbols from /home/tcr/software/ecl-git/bin/ecl...done.
(gdb) set env LD_LIBRARY_PATH /home/tcr/software/ecl-git/lib/
(gdb) handle SIGPWR noprint nostop
Signal        Stop	Print	Pass to program	Description
SIGPWR        No	No	Yes		Power fail/restart
(gdb) handle SIGXCPU noprint nostop
Signal        Stop	Print	Pass to program	Description
SIGXCPU       No	No	Yes		CPU time limit exceeded
(gdb) r
Starting program: /home/tcr/software/ecl-git/bin/ecl 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x0027c30c in GC_malloc (bytes=20) at /home/tcr/src/from-upstream/ecl/src/gc/thread_local_alloc.c:176
176	    GC_FAST_MALLOC_GRANS(result, granules, tiny_fl, DIRECT_GRANULES,
(gdb) bt
#0  0x0027c30c in GC_malloc (bytes=20) at /home/tcr/src/from-upstream/ecl/src/gc/thread_local_alloc.c:176
#1  0x002661e0 in ecl_alloc_object (t=t_base_string)
    at /home/tcr/src/from-upstream/ecl/src/c/alloc_2.d:540
#2  0x0023ae13 in make_simple_base_string (s=0x281058 "Nul")
    at /home/tcr/src/from-upstream/ecl/src/c/string.d:121
#3  0x00159512 in cl_boot (argc=1, argv=0xbffff4a4) at /home/tcr/src/from-upstream/ecl/src/c/main.d:576
#4  0x08048867 in main (argc=1, argv=0xbffff4a4) at /tmp/ECLINIT0PJFhH.c:49
(gdb) 


Can you reproduce this?

  -T.





More information about the ecl-devel mailing list