Timeout::Error mystery

R

Ruby Ronin

Note: parts of this message were removed by the gateway to make it a legal Usenet post.

Ruby/programming noob here. I've just finished my first real app, but it's
performance is occassionally plagued by the following error message:

c:/ruby/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill': execution expired
(Timeout::Error)
from c:/ruby/lib/ruby/1.8/timeout.rb:56:in `timeout'
from c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from c:/ruby/lib/ruby/1.8/net/http.rb:2017:in `read_status_line'
from c:/ruby/lib/ruby/1.8/net/http.rb:2006:in `read_new'
from c:/ruby/lib/ruby/1.8/net/http.rb:1047:in `request'

I did find one proposed solution here (modifying the rbuf_fill method):
http://www.ruby-forum.com/topic/105212 , but it doesn't seem to work for
me. These posts also explains why standard error handling won't work.

Does anyone have another solution?

Thanks a bunch!
 
E

Eric Hodel

Ruby/programming noob here. I've just finished my first real app,
but it's
performance is occassionally plagued by the following error message:

c:/ruby/lib/ruby/1.8/timeout.rb:54:in `rbuf_fill': execution expired
(Timeout::Error)
from c:/ruby/lib/ruby/1.8/timeout.rb:56:in `timeout'
from c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from c:/ruby/lib/ruby/1.8/net/http.rb:2017:in
`read_status_line'
from c:/ruby/lib/ruby/1.8/net/http.rb:2006:in `read_new'
from c:/ruby/lib/ruby/1.8/net/http.rb:1047:in `request'

I did find one proposed solution here (modifying the rbuf_fill
method):
http://www.ruby-forum.com/topic/105212 , but it doesn't seem to work
for
me. These posts also explains why standard error handling won't work.

Does anyone have another solution?

Timeout::Error is an Interrupt subclass, which is not a StandardError
subclass. You must rescue Timeout::Error explicitly to handle the
exception.
 
R

Ruby Ronin

Note: parts of this message were removed by the gateway to make it a legal Usenet post.

I didn't understand what you meant at first. Once I had some time to look
into explicit exception handling I figured it out, and it worked - thanks!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,962
Messages
2,570,134
Members
46,690
Latest member
MacGyver

Latest Threads

Top