[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