Edi Weitz edi@agharta.de writes:
On Fri, 15 Dec 2006 22:01:36 -0500, vedm mlist@rogers.com wrote:
When I set *catch-errors-p* to nil I often see this error in the debugger:
== I/O timeout reading #<SB-SYS:FD-STREAM for "a constant string" {B3E4CA1}> [Condition of type SB-SYS:IO-TIMEOUT] ==
even though I still get my pages in the browser.
Any idea why this happens?
What happens if you set *CATCH-ERRORS-P* to T? Can you send a backtrace? Which SBCL version? Which operating system?
If I set *CATCH-ERRORS-P* to T I do not see this error. Note that even when I see this error I still get response from Hunchentoot.
I am on a Debian system:
CL-USER> (format t "Lisp implementation: ~A ~A~%OS: ~A ~A~%CPU: ~A ~A~%" (lisp-implementation-type) (lisp-implementation-version) (software-type) (software-version) (machine-type) (machine-version)) Lisp implementation: SBCL 1.0 OS: Linux 2.6.17-2-686 CPU: X86 AMD Athlon(tm) XP 2200+
And here is the backtrace:
===== I/O timeout reading #<SB-SYS:FD-STREAM for "a constant string" {AEA4211}> [Condition of type SB-SYS:IO-TIMEOUT]
Restarts: 0: [USE-VALUE] Specify a character to be used instead. 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "hunchentoot-worker-6" {AE95301}>)
Backtrace: 0: ((LAMBDA (SWANK-BACKEND::DEBUGGER-LOOP-FN)) #<FUNCTION (LAMBDA NIL) {A94A375}>) 1: (SWANK::CALL-WITH-BINDINGS ((*PRINT-PRETTY*) (*PRINT-LEVEL* . 4) (*PRINT-LENGTH* . 10) (*PRINT-CIRCLE* . T) (*PRINT-READABLY*) (*PRINT-PPRINT-DISPATCH* . #<SB-PRETTY:PPRINT-DISPATCH-TABLE {BAF5D01}>) (*PRINT-GENSYM* . T) (*PRINT-BASE* . 10) (*PRINT-RADIX*) (*PRINT-ARRAY* . T) ...) #<FUNCTION (LAMBDA NIL) {A94A335}>) 2: (SWANK::DEBUG-IN-EMACS #<SB-SYS:IO-TIMEOUT {AF05589}>) 3: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL) {AF0578D}>) 4: (SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION {B0A5F49}> #<CLOSURE (LAMBDA NIL) {AF0579D}>) 5: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {B0A5F49}> #<CLOSURE (LAMBDA NIL) {AF0578D}>) 6: (INVOKE-DEBUGGER #<SB-SYS:IO-TIMEOUT {AF05589}>) 7: (HUNCHENTOOT::MAYBE-INVOKE-DEBUGGER #<SB-SYS:IO-TIMEOUT {AF05589}>) 8: (SIGNAL #<SB-SYS:IO-TIMEOUT {AF05589}>) 9: (ERROR SB-SYS:IO-TIMEOUT) 10: (SB-IMPL::REFILL-BUFFER/FD #<SB-SYS:FD-STREAM for "a constant string" {AEA4211}>) 11: (SB-IMPL::INPUT-UNSIGNED-8BIT-BYTE #<SB-SYS:FD-STREAM for "a constant string" {AEA4211}> NIL :EOF) 12: ((SB-PCL::FAST-METHOD STREAM-READ-BYTE (CHUNGA:CHUNKED-INPUT-STREAM)) (#(8 9) . #()) #<unavailable argument> #<CHUNGA:CHUNKED-IO-STREAM {AEB07A9}>) 13: (FLEXI-STREAMS::READ-BYTE* #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}> NIL) 14: (FLEXI-STREAMS::READ-CHAR-8-BIT #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}> #(0 1 2 3 4 5 6 7 8 9 ...)) 15: ((FLET FLEXI-STREAMS::GET-CHAR-CODE)) 16: ((SB-PCL::FAST-METHOD STREAM-READ-CHAR (FLEXI-STREAMS:FLEXI-INPUT-STREAM)) #<unavailable argument> #<unavailable argument> #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}>) 17: ((SB-PCL::FAST-METHOD STREAM-PEEK-CHAR (FUNDAMENTAL-CHARACTER-INPUT-STREAM)) #<unavailable argument> #<unavailable argument> #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}>) 18: (PEEK-CHAR NIL #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}> T NIL #<unused argument>) 19: (CHUNGA:READ-LINE* #<FLEXI-STREAMS:FLEXI-IO-STREAM {AEB3011}> NIL) 20: (HUNCHENTOOT::GET-REQUEST-DATA) 21: (HUNCHENTOOT::PROCESS-CONNECTION #<HUNCHENTOOT::SERVER {B2F51D9}> #<SB-BSD-SOCKETS:INET-SOCKET descriptor 6 {AE16D09}>) 22: ((LAMBDA NIL)) 23: ("foreign function: call_into_lisp") 24: ("foreign function: funcall0") 25: ("foreign function: new_thread_trampoline") 26: ("foreign function: #xA7FAF0BD") ======