I have a strange problem with my Ruby installation.
First:
- I use RVM, and I tried to compile Ruby with my system version of
openssl (and libs), and with the package version included in RVM. Both
fail
- I have never had an error during compilation/installation, always at
runtime
- I don't use a firewall and the page is displayed fine in my browser
- with my system install of Ruby (1.8.7) I don't have this problem...
~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/protocol.rb:
135:in `read_nonblock': end of file reached (EOFError)
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
protocol.rb:135:in `rbuf_fill'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
protocol.rb:116:in `readuntil'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
protocol.rb:126:in `readline'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:2138:in `read_status_line'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:2127:in `read_new'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:1120:in `transport_request'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:1106:in `request'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:817:in `get'
from testhttp.rb:6:in `block in <main>'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:564:in `start'
from /~/.rvm/rubies/ruby-1.9.2-preview1/lib/ruby/1.9.1/net/
http.rb:453:in `start'
from testhttp.rb:6:in `<main>'
url = URI.parse('https://www.google.com')
res = Net::HTTP.start(url.host, url.port) { |http|
http.get('/')
}
"
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux]
/home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `sysread': end
of file reached (EOFError)
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:62:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:93:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2024:in
`read_status_line'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2013:in `read_new'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:1050:in `request'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:772:in `get'
from -e:8
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:543:in `start'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:440:in `start'
from -e:7
···
2010/5/26 Dagnan <dagnan@gmail.com>:
- with my system install of Ruby (1.8.7) I don't have this problem...
url = URI.parse('https://www.google.com')
res = Net::HTTP.start(url.host, url.port) { |http|
http.get('/')}
"
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux]
/home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `sysread': end
of file reached (EOFError)
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:62:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:93:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2024:in
`read_status_line'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2013:in `read_new'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:1050:in `request'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:772:in `get'
from -e:8
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:543:in `start'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:440:in `start'
from -e:7
--
Tanaka Akira
url = URI.parse('https://www.google.com')
res = Net::HTTP.start(url.host, url.port) { |http|
http.get('/')}
"
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux]
/home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `sysread': end
of file reached (EOFError)
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:62:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:93:in `timeout'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from /home/ruby/187p248/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2024:in
`read_status_line'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:2013:in `read_new'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:1050:in `request'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:772:in `get'
from -e:8
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:543:in `start'
from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:440:in `start'
from -e:7
--
Tanaka Akira
My mistake. It fails everywhere, because with net/https we have to
specify to use ssl.
My problem is actually in net-http-persistent module, I try to
reproduce it but it succeeds manually...