IOError connection timed out, not handled and so connection isnt reestablished

I've had this happen to me a number of times on JRuby 1.7.1 on a Rails app running with Puma.

backtrace: https://gist.github.com/4512402

on a read to the socket, sometimes an IOError is raised (https://github.com/mongoid/moped/blob/master/lib/moped/sockets/connectable.rb#L45) .. but the exception isn't caught, and so a connectionfailure is never raised and moped doesn't go through the reconnecting stage.