[iolib-devel] New patches: 26-Dec-2009

Peter Keller psilord at cs.wisc.edu
Mon Dec 28 08:32:14 UTC 2009


On Sun, Dec 27, 2009 at 05:00:11AM -0500, Stelian Ionescu wrote:
> commit b8a3c1a535009ba60a3f9156c9e01386efd7e7ba
> Author: Stelian Ionescu <sionescu at cddr.org>
> Date:   Sat Dec 26 22:36:11 2009 +0100
> 
>     Fix a couple of bugs in echo-server.lisp
>     
>     Thanks to Peter Keller.
> 
>  examples/echo-server.lisp |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)

It turns out I found another unrelated bug. :)

To reproduce unreliably:

; run the server like this:
* (run-server :port 10000 :new-process nil :timeout 60)

In another xterm:
> telnet localhost 10000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
hello
1: hello
how
1: how

1: 
are
1: are
you
telnet> close
Connection closed.

Then:
> telnet localhost 10000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
<hangs>


Transcript of what SBCL 1.0.33.30 does:

* (run-server :port 10000 :new-process nil :timeout 60)
Accepted client 1
1: hello
1: how
1: 
1: are
Accepted client 2
1: you
1: closing

debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" RUNNING
                                             {AA09C79}>:
  The value NIL is not of type IOLIB.MULTIPLEX::FD-HANDLER.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(IOLIB.MULTIPLEX::%DISPATCH-EVENT
 #S(IOLIB.MULTIPLEX::FD-ENTRY
    :FD 8
    :READ-HANDLER NIL
    :WRITE-HANDLER NIL
    :ERROR-CALLBACK NIL)
 :WRITE
 :ERROR
 1478256.382031317d0)
0] * 

Trouble is, it doesn't happen all the time, so maybe a thread race condition?
It only happened once for me so far in my testing. Had I known it wasn't 
easily reproducable, I would have gotten a full backtrace.

Thank you.

-pete







More information about the iolib-devel mailing list