hi!
when a network stream is inspected on sbcl then i get this error:
The value NIL is not of type PATHNAME. [Condition of type TYPE-ERROR]
Restarts: 0: [ABORT] Return to sldb level 1. 1: [CONTINUE] Return from BREAK. 2: [TERMINATE-THREAD] Terminate this thread (#<THREAD "an httpd worker 21" {C7D69F9}>)
Backtrace: 0: (PATHNAME #<SB-SYS:FD-STREAM for "a constant string" {D53DE31}>) 1: ((SB-PCL::FAST-METHOD SWANK-BACKEND:INSPECT-FOR-EMACS (STREAM-ERROR T)) #<unavailable argument> #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD SWANK-BACKEND:INSPECT-FOR-EMACS #)> :PV-CELL NIL :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION #> :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2)) :ARG-INFO (2)) #<SB-INT:SIMPLE-STREAM-ERROR {D53C4D1}> #SWANK-BACKEND::SBCL-INSPECTOR {C6C7A99}) 2: (SWANK::INSPECT-OBJECT #<SB-INT:SIMPLE-STREAM-ERROR {D53C4D1}> #<SWANK-BACKEND::SBCL-INSPECTOR {C6C7A99}>) 3: ((SB-PCL::FAST-METHOD SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS (T)) #<unused argument> #<unused argument> #<CLOSURE (LAMBDA NIL) {C6C7865}>)
looking at swank.lisp it does check for (typep stream 'file-stream) but it is T for socket streams which probably is the root of the problem.
also note the strange printed representation of the socket stream, but i guess it's also an sbcl thing. maybe i should have written this to sbcl-devel...
hth,
"Attila Lendvai" attila.lendvai@gmail.com writes:
hi!
when a network stream is inspected on sbcl then i get this error:
this has come up before. in sbcl network-streams are fd-streams (or something) and so should support the pathname method, but don't. i could have swarn we had put in an sbcl-specific inspector method for streams, but apparently we didn't :( (the other option would, obviously, to change sbcl)