[hunchentoot-devel] I/O timeout error (SBCL)

vedm mlist at rogers.com
Sat Dec 16 19:18:03 UTC 2006


Edi Weitz <edi at agharta.de> writes:

> On Fri, 15 Dec 2006 22:01:36 -0500, vedm <mlist at 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")
======



-- 
vedm




More information about the Tbnl-devel mailing list