OK, I sent this from the wrong address and it bounced.
Begin forwarded message:
On tisdag, jun 22, 2004, at 09:25 Europe/Stockholm, Luke Gorrie wrote:
Anders Conradi beque@telia.com writes:
How do I abort the debugger and return to the repl?
Taking the ABORT restart should give you a new prompt. This is a bug. I don't have access to OpenMCL currently so I can't check it out, but hopefully someone else can.
I know we previously had a problem with restarts in SLDB on OpenMCL 0.14 but Gary and Alan fixed that one last month.
Meanwhile it could be interesting to see the contents of your *slime-events* buffer immediately after reproducing this bug.
OK. Here it is. This is after openmcl entered the kernel debugger:
(:emacs-rex (swank:connection-info) nil t (lambda (&rest --cl-rest--) (apply '(lambda (G99400 G99391) (let* ... ...)) '--cont-- --cl-rest--))) (:open-dedicated-output-stream 61225) (:indentation-update (("without-gcing" . 0) ("while" . 1) ("%ilogior" . 1) ("ignoring-without-interrupts" . 0) ("once-only" . 1) ("%with-recursive-lock-ptr" . 1) ("ensuring-node-target" . 1) ("restoring-interrupt-level" . 1) ("%with-recursive-lock-ptr-maybe" . 1) ("%ilogxor" . 1) ("in-development-mode" . 0) ("iterate" . 2) ("do-interface-dirs" . 1) ("do-db-links" . 1) ("qlfun" . 2) ("%ilogand" . 1) ("until" . 1) ("do-dll-nodes" . 1) ("collect" . 1) ("do-consing-areas" . 1) ...)) (:return (:ok (12195 "OpenMCL" "openmcl" (:asdf :primary-classes :ccl :ccl-2 :ccl-3 :ccl-4 :coral :common-lisp :mcl :openmcl :ansi-cl :processes :unix :openmcl-native-threads :openmcl-partial-mop :mcl-common-mop-subset :openmcl-mop-2 :interfaces-2 :powerpc :ppc-target ...)))
(:emacs-rex (swank:listener-eval "(teddybear)") "CL-USER" :repl-thread (lambda (G99425) (let* ((tmp-99430 G99425) (op-99428 (car tmp-99430)) (rand-99429 (cdr tmp-99430))) (cond ((eql op-99428 ...) (let* ... ...)) ((eql op-99428 ...) (let* ... ... ...)) (t (error "destructure-case failed: %S" tmp-99430)))))) (:debug 3 1 ("Undefined function TEDDYBEAR called with arguments () ." " [Condition of type CCL::UNDEFINED-FUNCTION-CALL]" nil) (("CONTINUE" "Retry applying TEDDYBEAR to NIL.") ("USE-VALUE" "Apply specified function to NIL this time.") ("STORE-VALUE" "Specify a function to use as the definition of TEDDYBEAR.") ("ABORT" "Abort handling SLIME request.") ("ABORT-BREAK" "#<RESTART ABORT-BREAK #xA4BE06>") ("ABORT" "#<RESTART ABORT #xA4BE2E>")) ((0 "(CCL::CALL-CHECK-REGS 'TEDDYBEAR)") (1 "(SWANK::EVAL-REGION "(teddybear)" 'T)") (2 "(#<Anonymous Function #x63B7776>)") (3 "(#<STANDARD-METHOD NO-APPLICABLE-METHOD ((EQL #<STANDARD-GENERIC-FUNCTION SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS #x638668E>))> #<STANDARD-GENERIC-FUNCTION SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS #x638668E>)") (4 "(SWANK:LISTENER-EVAL "(teddybear)")") (5 "(CCL::CALL-CHECK-REGS 'SWANK:LISTENER-EVAL)") (6 "(SWANK::EVAL-FOR-EMACS '(SWANK:LISTENER-EVAL "(teddybear)") "CL-USER" 2)") (7 "(FUNCALL 'SWANK::EVAL-FOR-EMACS)") (8 "(#<Anonymous Function #x63B38FE>)") (9 "(SWANK::CALL-WITH-REDIRECTED-IO #<Anonymous Function #x63B38FE>)") (10 "(SWANK::HANDLE-REQUEST #S(SWANK::CONNECTION :SOCKET-IO #<TCP-STREAM (SOCKET/11) #x63D57FE> :DEDICATED-OUTPUT #<TCP-STREAM (SOCKET/12) #x63D5076> :USER-INPUT #<SWANK-BACKEND::SLIME-INPUT-STREAM #x63D4C86> :USER-OUTPUT #<TCP-STREAM (SOCKET/12) #x63D5076> :USER-IO #<TWO-WAY-STREAM input #<SWANK-BACKEND::SLIME-INPUT-STREAM #x63D4C86>, output #<TCP-STREAM (SOCKET/12) #x63D5076> #x63D4C46> :READER-THREAD #<PROCESS reader-thread(4) [Active] #x63FFDEE> :CONTROL-THREAD #<PROCESS control-thread(3) [Active] #x63D440E> :REPL-THREAD #<PROCESS repl-thread(5) [Active] #x63FFB1E> :SERVE-REQUESTS #<Compiled-function SWANK::SPAWN-THREADS-FOR-CONNECTION #x63B083E> :READ #<Compiled-function SWANK::READ-FROM-CONTROL-THREAD #x63ABD7E> :SEND #<Compiled-function SWANK::SEND-TO-CONTROL-THREAD #x63AB30E> :CLEANUP NIL :INDENTATION-CACHE #<HASH-TABLE :TEST EQ size 34/60 #x63D5226> :INDENTATION-CACHE-PACKAGES (#<Package "SWANK-COMPLETION-TEST"> #<Package "SWANK-IO-PACKAGE"> #<Package "SWANK"> #<Package "NREGEX"> #<Package "SWANK-BACKEND"> #<Package "SWANK-LOADER"> #<Package "ASDF"> #<Package "PPC64"> #<Package "PPC"> #<Package "PPC32"> #<Package "ILISP"> #<Package "OPENMCL-MOP"> #<Package "GRAY"> #<Package "CLOS-BOOT"> #<Package "OPENMCL-SOCKET"> #<Package "INSPECTOR"> #<Package "OS"> #<Package "ARCH"> #<Package "ANSI-LOOP"> #<Package "COMMON-LISP-USER"> #<Package "SETF"> #<Package "CCL"> #<Package "COMMON-LISP"> #<Package "KEYWORD">)))") (11 "(#<Anonymous Function #x63B01EE>)") (12 "(SWANK::CALL-WITH-REDIRECTED-IO #<COMPILED-LEXICAL-CLOSURE #x641FE36>)") (13 "(SWANK::REPL-LOOP #S(SWANK::CONNECTION :SOCKET-IO #<TCP-STREAM (SOCKET/11) #x63D57FE> :DEDICATED-OUTPUT #<TCP-STREAM (SOCKET/12) #x63D5076> :USER-INPUT #<SWANK-BACKEND::SLIME-INPUT-STREAM #x63D4C86> :USER-OUTPUT #<TCP-STREAM (SOCKET/12) #x63D5076> :USER-IO #<TWO-WAY-STREAM input #<SWANK-BACKEND::SLIME-INPUT-STREAM #x63D4C86>, output #<TCP-STREAM (SOCKET/12) #x63D5076> #x63D4C46> :READER-THREAD #<PROCESS reader-thread(4) [Active] #x63FFDEE> :CONTROL-THREAD #<PROCESS control-thread(3) [Active] #x63D440E> :REPL-THREAD #<PROCESS repl-thread(5) [Active] #x63FFB1E> :SERVE-REQUESTS #<Compiled-function SWANK::SPAWN-THREADS-FOR-CONNECTION #x63B083E> :READ #<Compiled-function SWANK::READ-FROM-CONTROL-THREAD #x63ABD7E> :SEND #<Compiled-function SWANK::SEND-TO-CONTROL-THREAD #x63AB30E> :CLEANUP NIL :INDENTATION-CACHE #<HASH-TABLE :TEST EQ size 34/60 #x63D5226> :INDENTATION-CACHE-PACKAGES (#<Package "SWANK-COMPLETION-TEST"> #<Package "SWANK-IO-PACKAGE"> #<Package "SWANK"> #<Package "NREGEX"> #<Package "SWANK-BACKEND"> #<Package "SWANK-LOADER"> #<Package "ASDF"> #<Package "PPC64"> #<Package "PPC"> #<Package "PPC32"> #<Package "ILISP"> #<Package "OPENMCL-MOP"> #<Package "GRAY"> #<Package "CLOS-BOOT"> #<Package "OPENMCL-SOCKET"> #<Package "INSPECTOR"> #<Package "OS"> #<Package "ARCH"> #<Package "ANSI-LOOP"> #<Package "COMMON-LISP-USER"> #<Package "SETF"> #<Package "CCL"> #<Package "COMMON-LISP"> #<Package "KEYWORD">)))") (14 "(CCL::RUN-PROCESS-INITIAL-FORM '(#<COMPILED-LEXICAL-CLOSURE #x63FFA96>))") (15 "(#<Anonymous Function #x6101D3E> '(#<COMPILED-LEXICAL-CLOSURE #x63FFA96>))") (16 "(#<Anonymous Function #x60F491E>)"))) (:debug-activate 4 1) (:emacs-rex (swank:invoke-nth-restart-for-emacs 1 3) nil 3 (lambda (G99487) (let* ((tmp-99492 G99487) (op-99490 (car tmp-99492)) (rand-99491 (cdr tmp-99492))) (cond ((eql op-99490 ...) (let* ... ...)) ((eql op-99490 ...) (let* ... ...)) (t (error "destructure-case failed: %S" tmp-99492)))))) (:debug 6 2 ("Error reporting error" " [Condition of type SIMPLE-ERROR]" nil) (("ABORT" "Return to sldb level 1.") ("ABORT" "Abort handling SLIME request.") ("ABORT-BREAK" "#<RESTART ABORT-BREAK #xA4BE06>") ("ABORT" "#<RESTART ABORT #xA4BE2E>")) ((0 "(CCL::FUNCALL-WITH-ERROR-REENTRY-DETECTION #<COMPILED-LEXICAL-CLOSURE #xA4B54E>)") (1 "(#<Anonymous Function #x6163E8E> -65535040)") (2 "(CCL::%XERR-DISP -65535626)") (3 "(CCL::CALL-CHECK-REGS 'SWANK:INVOKE-NTH-RESTART-FOR-EMACS)") (4 "(SWANK::EVAL-FOR-EMACS '(SWANK:INVOKE-NTH-RESTART-FOR-EMACS 1 3) 'NIL 3)") (5 "(FUNCALL 'SWANK::EVAL-FOR-EMACS)") (6 "(SWANK::SLDB-LOOP 1)") (7 "(#<STANDARD-METHOD SWANK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT (T)> #<Anonymous Function #x63BCA56>)") (8 "(SWANK::DEBUG-IN-EMACS #<CCL::UNDEFINED-FUNCTION-CALL #x641FA26>)") (9 "(CCL::BREAK-LOOP-HANDLE-ERROR -65534284)") (10 "(CCL::%%STANDARD-COMBINED-METHOD-DCODE)") (11 "(CCL::%ERROR 'NIL -65534284)") (12 "(CCL::DEFAULT-UNDEFINED-FUNCTION-CALL-RESTARTS -65534284)") (13 "(CCL::HANDLE-UDF-CALL -65534284)") (14 "(#<Anonymous Function #x6163E06>)") (15 "(CCL::FUNCALL-WITH-ERROR-REENTRY-DETECTION #<COMPILED-LEXICAL-CLOSURE #xA4B9B6>)") (16 "(#<Anonymous Function #x6163E8E> -65534284)") (17 "(CCL::%XERR-DISP -65534870)") (18 "(CCL::CALL-CHECK-REGS 'TEDDYBEAR)") (19 "(SWANK::EVAL-REGION "(teddybear)" 'T)"))) (:debug-activate 7 2) (:emacs-rex (swank:invoke-nth-restart-for-emacs 2 1) nil 6 (lambda (G99533) (let* ((tmp-99538 G99533) (op-99536 (car tmp-99538)) (rand-99537 (cdr tmp-99538))) (cond ((eql op-99536 ...) (let* ... ...)) ((eql op-99536 ...) (let* ... ...)) (t (error "destructure-case failed: %S" tmp-99538))))))