{"issue":{"state":"closed","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"user":{"avatar_url":"https://secure.gravatar.com/avatar/4131d2f57a0db2a2b4d9a62bd389fd44?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"4131d2f57a0db2a2b4d9a62bd389fd44","url":"https://api.github.com/users/tarcieri","login":"tarcieri","id":797},"milestone":null,"updated_at":"2011-11-06T06:36:57Z","labels":[],"assignee":null,"closed_at":"2011-05-11T21:54:02Z","comments":2,"url":"https://api.github.com/repos/rubinius/rubinius/issues/869","body":"I have a program which is using open-uri in many threads, and running into this exception sporadically:\r\n\r\n    ThreadError: timeout within critical session\r\n        from Timeout.timeout at /Users/tony/.rvm/rubies/rbx-head-hydra/lib/timeout.rb:146\r\n        from Object(Net::BufferedIO)#timeout at /Users/tony/.rvm/rubies/rbx-head-hydra/lib/timeout.rb:170\r\n        from Net::BufferedIO#rbuf_fill at /Users/tony/.rvm/rubies/rbx-head-hydra/lib/net/protocol.rb:134\r\n        from Net::BufferedIO#read at /Users/tony/.rvm/rubies/rbx-head-hydra/lib/net/protocol.rb:86\r\n        from Net::HTTPResponse(Net::HTTPOK)#read_chunked at /Users/tony/.rvm/rubies/rbx-head-hydra/lib/net/http.rb:2232\r\n\r\nHere's an IRB session where the error was encountered:\r\n\r\nhttps://gist.github.com/966031\r\n","html_url":"https://github.com/rubinius/rubinius/issues/869","number":869,"title":"ThreadError: timeout within critical session ","id":881546,"created_at":"2011-05-11T07:09:56Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/a8fb321086149bf520c005300d69d593?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a8fb321086149bf520c005300d69d593","url":"https://api.github.com/users/plagi","login":"plagi","id":70563},"updated_at":"2011-11-06T06:36:57Z","url":"https://api.github.com/repos/rubinius/rubinius/issues/comments/2644164","body":"[2011-11-06 10:25:25] ERROR ThreadError: timeout within critical session\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/timeout.rb:144:in `timeout'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/timeout.rb:168:in `timeout'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/httprequest.rb:330:in `_read_data'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/httprequest.rb:341:in `read_line'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/httprequest.rb:225:in `read_request_line'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/httprequest.rb:86:in `parse'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/httpserver.rb:56:in `run'\r\n\t/Users/alexey/.rvm/rubies/rbx-master/lib/webrick/server.rb:173:in `start_thread'\r\n\tkernel/bootstrap/thread.rb:149:in `__run__'\r\n\r\n\r\n^C<= Padrino has ended his set (crowd applauds)\r\nAn exception occurred running /Users/alexey/.rvm/gems/rbx-master@bsc/bin/padrino\r\n    undefined method `shutdown' on nil:NilClass. (NoMethodError)\r\n\r\nBacktrace:\r\n  Kernel(NilClass)#shutdown (method_missing) at kernel/delta/kernel.rb:79\r\n      Rack::Handler::WEBrick.shutdown at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/rack-1.3.2/lib/rack/handler\r\n                                         /webrick.rb:24\r\n { } in Rack::Server(Padrino::Server)#start at /Users/alexey/.rvm/gems\r\n                                               /rbx-master@bsc/gems/rack-1.3.2\r\n                                               /lib/rack/server.rb:259\r\n                    Signal.run_handler at kernel/common/signal.rb:70\r\n              Rubinius.received_signal at kernel/delta/rubinius.rb:204\r\n                     Thread#join_inner at kernel/bootstrap/thread.rb:275\r\n                           Thread#join at kernel/bootstrap/thread.rb:249\r\n  { } in WEBrick::GenericServer(WEBrick::HTTPServer)#start at \\\r\n          /Users/alexey/.rvm/rubies/rbx-master/lib/webrick/server.rb:113\r\n                            Array#each at kernel/bootstrap/array.rb:66\r\n  { } in WEBrick::GenericServer(WEBrick::HTTPServer)#start at \\\r\n          /Users/alexey/.rvm/rubies/rbx-master/lib/webrick/server.rb:113\r\n          WEBrick::SimpleServer.start at /Users/alexey/.rvm/rubies/rbx-master\r\n                                         /lib/webrick/server.rb:23\r\n WEBrick::GenericServer(WEBrick::HTTPServer)#start at /Users/alexey/.rvm/rubies\r\n                                                      /rbx-master/lib/webrick\r\n                                                      /server.rb:82\r\n           Rack::Handler::WEBrick.run at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/rack-1.3.2/lib/rack/handler\r\n                                         /webrick.rb:13\r\n  Rack::Server(Padrino::Server)#start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/rack-1.3.2/lib/rack/server.rb:265\r\n                Padrino::Server#start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/lib\r\n                                         /padrino-core/server.rb:44\r\n                Padrino::Server.start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/lib\r\n                                         /padrino-core/server.rb:34\r\n                         Padrino.run! at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/lib\r\n                                         /padrino-core/server.rb:13\r\n          Padrino::Cli::Adapter.start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/lib\r\n                                         /padrino-core/cli/adapter.rb:7\r\n             Padrino::Cli::Base#start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/lib\r\n                                         /padrino-core/cli/base.rb:24\r\n                       Thor::Task#run at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/thor-0.14.6/lib/thor/task.rb:22\r\n Thor::Invocation(Padrino::Cli::Base)#invoke_task at /Users/alexey/.rvm/gems\r\n                                                     /rbx-master@bsc/gems\r\n                                                     /thor-0.14.6/lib/thor\r\n                                                     /invocation.rb:118\r\n                        Thor.dispatch at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/thor-0.14.6/lib/thor.rb:263\r\n Thor::Base::ClassMethods(Class)#start at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                          /gems/thor-0.14.6/lib/thor/base.rb:389\r\n                    Object#__script__ at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /gems/padrino-core-0.10.2/bin/padrino:9\r\n                   Kernel(Object)#load at kernel/common/kernel.rb:621\r\n                    Object#__script__ at /Users/alexey/.rvm/gems/rbx-master@bsc\r\n                                         /bin/padrino:19\r\n      Rubinius::CodeLoader#load_script at kernel/delta/codeloader.rb:65\r\n      Rubinius::CodeLoader.load_script at kernel/delta/codeloader.rb:107\r\n               Rubinius::Loader#script at kernel/loader.rb:626\r\n                 Rubinius::Loader#main at kernel/loader.rb:780\r\n\r\n\r\nduring padrino run","id":2644164,"created_at":"2011-11-06T06:36:57Z"}}