From: Yukihiro Matsumoto Date: 2008-10-06T00:46:43+09:00 Subject: Re: stream closed (IOError) Hi, In message "Re: stream closed (IOError)" on Sun, 5 Oct 2008 23:54:36 +0900, "Eric Will" writes: |Line 231 is the @socket.close line. Nothing gets done to the socket |after this, or if it is, it's not getting to it because it crashes on |@socket.close. Nothing should even be touching the entire object after |this, because it sets a flag saying "I'm dead, please GC me." I don't think we can trust line numbers here, maybe due to bugs. The back trace does not make sense at all. |/Users/rakaur/Sources/wc/ruby/synapse/trunk/lib/xmppd/xmpp/stream.rb:230:in |`ioloop': stream closed (IOError) | from /Users/rakaur/Sources/wc/ruby/synapse/trunk/lib/xmppd.rb:197:in `loop' | from /Users/rakaur/Sources/wc/ruby/synapse/trunk/lib/xmppd.rb:197:in `ioloop' | from ./bin/xmppd:20 stream.rb:230 is not within ioloop; xmppd:20 does not call ioloop. The fact rescue does not catch the exception also suggest the wrong line numbers. How about stopping using timer library, as a start? matz.