[slime-devel] *break-on-signals* in SBCL breaks CVS slime

Alain Picard Dr.Alain.Picard at gmail.com
Wed Sep 23 01:12:42 UTC 2009


In the CVS version as of Wed Sep 23 11:04:18 EST 2009,
I get this behaviour: I type
    CL-USER> (setf *break-on-signals* t)
    T
    CL-USER>                       (just hit <cr> here)

and the world blows up.

This is with current SLIME and SBCL 1.0.30 on an x86_64 GNU/Linux box.

The *inferior-lisp* buffer shows:
   READ: "(:emacs-rex (swank:listener-eval \"
   \") \"COMMON-LISP-USER\" :repl-thread 13)
   "
   close-connection: invalid number of arguments: 4 ...
   wait-for-event: (:SLDB-RETURN 2) T
   ;; Event history end.
   ;; Backtrace:
   (0
    ((LAMBDA (SWANK-BACKEND::DEBUGGER-LOOP-FN)) #<FUNCTION (LAMBDA #) {10035078F9}>))
   (1 (SWANK::SAFE-BACKTRACE))
   (2 ((FLET #:LAMBDA1493) #<SB-INT:SIMPLE-PROGRAM-ERROR {1003A0D281}>))
   (3 (SIGNAL #<SB-INT:SIMPLE-PROGRAM-ERROR {1003A0D281}>)[:EXTERNAL])
   (4 (ERROR SB-INT:SIMPLE-PROGRAM-ERROR)[:EXTERNAL])
   (5 (SB-KERNEL::INVALID-ARG-COUNT-ERROR-HANDLER ..))
   (6
    (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X7FFFF46B7940) #<unavailable argument>))
   (7 ("foreign function: #x4222F0"))
   (8 ("foreign function: #x40D11C"))
   (9 ("foreign function: #x413B75"))
   (10 ("foreign function: #x411CEA"))
   (11
    (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "\n") "COMMON-LISP-USER" :REPL-THREAD)[:EXTERNAL])
   (12 (SWANK::SLDB-LOOP 1))
   (13
    ((LAMBDA (SWANK-BACKEND::DEBUGGER-LOOP-FN)) #<FUNCTION (LAMBDA #) {10035FE359}>))
   (14 (SWANK::DEBUG-IN-EMACS #<SIMPLE-CONDITION {10035727D1}>))
   (15 (SWANK:INVOKE-SLIME-DEBUGGER #<SIMPLE-CONDITION {10035727D1}>))
   (16
    ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {10035727F9}>))
   (17
    (SWANK:SWANK-DEBUGGER-HOOK #<SIMPLE-CONDITION {10035727D1}> #<unavailable argument>))
   (18 (INVOKE-DEBUGGER #<SIMPLE-CONDITION {10035727D1}>))
   (19
    (SB-INT:%BREAK BREAK "~A~%BREAK was entered because of *BREAK-ON-SIGNALS* ~\n                    (now rebound to NIL)." #<TIMEOUT {10035721E1}>))
   (20
    (BREAK "~A~%BREAK was entered because of *BREAK-ON-SIGNALS* ~\n                    (now rebound to NIL)." #<TIMEOUT {10035721E1}>))
   (21 (SIGNAL #<TIMEOUT {10035721E1}>)[:EXTERNAL])
   (22 (CERROR "Continue" TIMEOUT)[:EXTERNAL])
   (23 ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK)))
   (24 ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]291)))
   (25 ((FLET #:WITHOUT-INTERRUPTS-BODY-[MAKE-CANCELLABLE-INTERRUPTOR]141)))
   (26 ((FLET #:WITHOUT-INTERRUPTS-BODY-[WITH-SYSTEM-MUTEX-THUNK]441)))
   (27
    ((FLET #:WITHOUT-INTERRUPTS-BODY-[WITHOUT-INTERRUPTS-BODY-[INVOKE-INTERRUPTION]11]19)))
   (28 ((FLET #:WITHOUT-INTERRUPTS-BODY-[INVOKE-INTERRUPTION]11)))
   (29
    (SB-SYS:INVOKE-INTERRUPTION #<CLOSURE (FLET SB-UNIX::INTERRUPTION) {7FFFF46B8A89}>))
   (30
    (SB-SYS:INVOKE-INTERRUPTION #<CLOSURE (FLET SB-UNIX::INTERRUPTION) {7FFFF46B8A89}>)[:EXTERNAL])
   (31
    ((FLET SB-UNIX::RUN-HANDLER) 13 #.(SB-SYS:INT-SAP #X7FFFF46B8EB0) #.(SB-SYS:INT-SAP #X7FFFF46B8D80)))
   (32
    ((FLET SB-UNIX::RUN-HANDLER) 13 #.(SB-SYS:INT-SAP #X7FFFF46B8EB0) #.(SB-SYS:INT-SAP #X7FFFF46B8D80))[:OPTIONAL])
   (33 ((FLET SB-UNIX::RUN-HANDLER))[:EXTERNAL])
   (34 ("foreign function: #x4222F0"))
   (35 ("foreign function: #x40D0E0"))
   (36 ("foreign function: #x413DAB"))
   (37 ("foreign function: #x413FBF"))
   (38 ("bogus stack frame"))
   (39 ((FLET #:WITHOUT-INTERRUPTS-BODY-[CONDITION-WAIT]183)))
   (40
    (SB-THREAD:CONDITION-WAIT #S(SB-THREAD:WAITQUEUE :NAME NIL :DATA #<SB-THREAD:THREAD "reader-thread" RUNNING {1002FD0171}>) #S(SB-THREAD:MUTEX :NAME NIL :%OWNER NIL :STATE 0)))
   (41
    (SB-THREAD:CONDITION-WAIT #S(SB-THREAD:WAITQUEUE :NAME NIL :DATA #<SB-THREAD:THREAD "reader-thread" RUNNING {1002FD0171}>) #S(SB-THREAD:MUTEX :NAME NIL :%OWNER NIL :STATE 0))[:EXTERNAL])
   (42 ((FLET #:FORM-FUN-[WITH-MUTEX-THUNK]2460)))
   (43 ((FLET SB-THREAD::WITH-MUTEX-THUNK)))
   (44 ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]267)))
   (45
    (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7FFFF46B9839}> #S(SB-THREAD:MUTEX :NAME NIL :%OWNER NIL :STATE 0) #<SB-THREAD:THREAD "control-thread" RUNNING {1002FCFCD1}> T))
   (46
    ((LAMBDA (SWANK-BACKEND::TEST &OPTIONAL SWANK-BACKEND::TIMEOUT)) #<FUNCTION (LAMBDA #) {100335A569}> NIL))
   (47 (SWANK::DISPATCH-LOOP #<SWANK::CONNECTION {1002FCFB61}>))
   (48 (SWANK::CONTROL-THREAD #<SWANK::CONNECTION {1002FCFB61}>))
   (49 ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK382]387)))
   (50 ((FLET SB-THREAD::WITH-MUTEX-THUNK)))
   (51 ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]267)))
   (52 (SB-THREAD::CALL-WITH-MUTEX ..))
   (53 ((LAMBDA ())))
   (54 ("foreign function: #x4222F0"))
   (55 ("foreign function: #x419237"))
   ;; Connection to Emacs lost. [
   ;;  condition: invalid number of arguments: 4
   ;;  type: SB-INT:SIMPLE-PROGRAM-ERROR
   ;;  encoding: NIL style: :SPAWN dedicated: NIL]

and the slime connection is broken.

This makes is essentially impossible to use slime for real
programming/debugging.

Cheers,

                                --ap


-- 
Please read about why Top Posting
is evil at: http://en.wikipedia.org/wiki/Top-posting
and http://www.dickalba.demon.co.uk/usenet/guide/faq_topp.html

Please read about why HTML in email is evil at: http://www.birdhouse.org/etc/evilmail.html





More information about the slime-devel mailing list