So, using SBCL and :fd-handler, I got into a situation where running hunchentoot from slime and loading a page triggered an error that gave me a backtrace. Then things got weird as I couldn't view the source of, say, frame 12 without getting an error like: "The variable SWANK-BACKEND::*SLDB-STACK-TOP* is unbound." I forgot I was using fd-handler, but tcr was kind enough to point out that that's probably part of the problem. Not sure what's going on here, but I figured I'd report it. Backtraces below.
Thanks,
Cyrus
The path #P"/Users/sly/projects/hunchentoot-launcher/log/hunch..." does not exist. [Condition of type SB-INT:SIMPLE-FILE-ERROR]
Restarts: 0: [TERMINATE-THREAD] Terminate this thread (#<THREAD "Hunchentoot worker (client: 127.0.0.1:61003)" RUNNING {1003A55761}>)
Backtrace: 0: (OPEN #P"/Users/sly/projects/hunchentoot-launcher/log/hunchentoot-message.log")[:EXTERNAL] 1: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) 2: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)) 3: (SB-THREAD::CALL-WITH-MUTEX ..) 4: (HUNCHENTOOT::LOG-MESSAGE-TO-FILE :ERROR "Error while processing connection: ~A")[:EXTERNAL] 5: ((FLET #:LAMBDA103) #<SB-INT:SIMPLE-FILE-ERROR "~@<The path ~2I~_~S ~I~_does not exist.~:>" {1003B98FD1}>) 6: (SIGNAL #<SB-INT:SIMPLE-FILE-ERROR "~@<The path ~2I~_~S ~I~_does not exist.~:>" {1003B98FD1}>)[:EXTERNAL] 7: (ERROR SB-INT:SIMPLE-FILE-ERROR)[:EXTERNAL] 8: (OPEN #P"/Users/sly/projects/hunchentoot-launcher/log/hunchentoot-access.log")[:EXTERNAL] 9: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) 10: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)) 11: (SB-THREAD::CALL-WITH-MUTEX ..) 12: (HUNCHENTOOT::LOG-ACCESS-TO-FILE)[:EXTERNAL] 13: (HUNCHENTOOT::START-OUTPUT)[:EXTERNAL] 14: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-REQUEST (T)) #<unavailable argument> #<unavailable argument> #<HUNCHENTOOT:REQUEST {1003679FB1}>) 15: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION (HUNCHENTOOT:ACCEPTOR T)) ..) 16: ((SB-PCL::FAST-METHOD HUNCHENTOOT:PROCESS-CONNECTION :AROUND (HUNCHENTOOT:ACCEPTOR T)) ..) 17: ((LAMBDA ())) 18: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK401]406)) 19: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) --more--
then when I try to either expand the stack trace or visit a source file from the back trace I get the following subsequent error:
The variable SWANK-BACKEND::*SLDB-STACK-TOP* is unbound. [Condition of type UNBOUND-VARIABLE]
Restarts: 0: [*ABORT] Return to SLIME's top level. 1: [ABORT] Exit debugger, returning to top level.
Backtrace: 0: (SWANK-BACKEND::NTH-FRAME 20) 1: ((FLET SWANK-BACKEND:COMPUTE-BACKTRACE) 20 60) 2: (SWANK:BACKTRACE 20 60) 3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:BACKTRACE 20 60) #<NULL-LEXENV>) 4: (SWANK::EVAL-FOR-EMACS (SWANK:BACKTRACE 20 60) "COMMON-LISP-USER" 10) 5: (SWANK::PROCESS-REQUESTS T) 6: ((LAMBDA ())) 7: ((LAMBDA ())) 8: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {1002AEA0F9}>) 9: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {1002AEA0F9}>) 10: (SWANK::CALL-WITH-BINDINGS ..) 11: (SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {1003B761E1}> T) 12: ((LABELS SWANK-BACKEND::RUN) 7) 13: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL) 14: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL) 15: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL) 16: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard input" {10037292C1}>) 17: (SB-IMPL::INPUT-CHAR/ASCII #<SB-SYS:FD-STREAM for "standard input" {10037292C1}> NIL #:EOF-OBJECT) 18: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {10037292C1}> NIL #:EOF-OBJECT) 19: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {10037292C1}> NIL #:EOF-OBJECT)[:OPTIONAL] --more--