[slime-devel] Error handling missed in favor of next swank request
Samium Gromoff
_deepfire at feelingofgreen.ru
Tue Mar 20 12:19:52 UTC 2007
What i see here looks like a swank request which results in a lisp error
signalled, does not cause entrance into the debugger in the context of that
request, but rather causes a next request to be served, for some obscure
reason.
the .emacs snippet i invoke looks like that:
(defun foo ()
(interactive)
(slime-start :program "sbcl" :init-function (lambda ()
(cd "/some/where/")
(slime-load-file "package.lisp")
(slime-repl-set-package ":lispdb"))))
I.e, we're talking about two swank requests here -- load-file, and then, once
that completes, repl-set-package.
when i run it, the following might or might not happen, due to circumstances
i still did not have figured out:
(note that the error appearing in frame 11 is expected -- it is not that error
which is the problem -- the problem is that swank silently skips processing
that request, and goes on with the next one (which causes another error))
The assertion (PACKAGEP SWANK::P) failed.
[Condition of type SIMPLE-ERROR]
Restarts:
0: [CONTINUE] Retry assertion.
1: [ABORT] Return to sldb level 1.
2: [ABORT] Return to SLIME's top level.
3: [ABORT] Exit debugger, returning to top level.
Backtrace:
0: (SB-KERNEL:ASSERT-ERROR (PACKAGEP SWANK::P) NIL NIL)
1: (SWANK:SET-PACKAGE ":lispdb")
2: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(SWANK:SET-PACKAGE ":lispdb")
#<NULL-LEXENV>)
3: ((LAMBDA ()))
4: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
#<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
#<CLOSURE (LAMBDA #) {A6AD52D}>)
5: (SWANK::SLDB-LOOP 1)
6: (SWANK::CALL-WITH-BINDINGS
((*PRINT-PRETTY* . T) (*PRINT-LEVEL* . 4) (*PRINT-LENGTH* . 10)
(*PRINT-CIRCLE* . T) (*PRINT-READABLY*)
(*PRINT-PPRINT-DISPATCH*
. #<SB-PRETTY:PPRINT-DISPATCH-TABLE {A7B9999}>)
(*PRINT-GENSYM* . T) (*PRINT-BASE* . 10) (*PRINT-RADIX*)
(*PRINT-ARRAY* . T) ...)
#<FUNCTION (LAMBDA #) {ADFC5A5}>)
7: ((LAMBDA (SWANK-BACKEND::DEBUGGER-LOOP-FN))
#<FUNCTION (LAMBDA #) {ADFC555}>)
8: (SWANK::DEBUG-IN-EMACS #<SIMPLE-ERROR {B2EBAC9}>)
9: (INVOKE-DEBUGGER #<SIMPLE-ERROR {B2EBAC9}>)
10: (INVOKE-DEBUGGER #<SIMPLE-ERROR {B2EBAC9}>)
11: (ERROR
"ASDF_ROOT is not set: where are the ASDF modules to be found?")
12: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(ERROR
"ASDF_ROOT is not set: where are the ASDF modules to be found?")
#<NULL-LEXENV>)
13: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(PROGN
NIL
(ERROR
"ASDF_ROOT is not set: where are the ASDF modules to be found?"))
#<NULL-LEXENV>)
14: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(UNLESS *ASDFROOT*
(ERROR
"ASDF_ROOT is not set: where are the ASDF modules to be found?"))
#<NULL-LEXENV>)
15: (SB-FASL::LOAD-AS-SOURCE
#<SB-SYS:FD-STREAM for "file /home/deepfire/source/lispdb/package.lisp" {B2E98A1}>
NIL
NIL)
16: (SB-FASL::INTERNAL-LOAD
#P"/home/deepfire/source/lispdb/package.lisp"
#P"/home/deepfire/source/lispdb/package.lisp"
:ERROR
NIL
NIL
:SOURCE
:DEFAULT)
17: (SB-FASL::INTERNAL-LOAD
#P"/home/deepfire/source/lispdb/package.lisp"
#P"/home/deepfire/source/lispdb/package.lisp"
:ERROR
NIL
NIL
NIL
:DEFAULT)
18: (LOAD "/home/deepfire/source/lispdb/package.lisp")
19: (SWANK:LOAD-FILE "/home/deepfire/source/lispdb/package.lisp")
SLIME is about two weeks old, or so.
regards, Samium Gromoff
More information about the slime-devel
mailing list