# Problem with Ruby 1.9, HTTPS and OpenSSL

**URL:** <https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152>\
**Category:** Ruby\
**Created:** [May 25, 2010, 5:00pm UTC](https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152 "2010-05-25T17:00:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dagnan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/49beb7/32.png) [@dagnan](https://www.ruby-forum.com/u/dagnan)\
**Post date:** [May 25, 2010, 5:00pm UTC](https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152/1 "2010-05-25T17:00:26Z")

</div>

Hi

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…

I use this simple script

* * *

require ‘net/http’  
require ‘net/https’  
require ‘uri’

url = URI.parse(‘[https://www.google.com](https://www.google.com)’)  
res = Net::HTTP.start(url.host, url.port) { |http|  
http.get(‘/’)  
}  
puts res.body

* * *

and I get

~/.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 ’  
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 `’

What do you think is the source of the problem?

---

<div class="post-metadata">

**Author:** ![dagnan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/49beb7/32.png) [@dagnan](https://www.ruby-forum.com/u/dagnan)\
**Post date:** [May 25, 2010, 6:06pm UTC](https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152/2 "2010-05-25T18:06:36Z")

</div>

2010/5/26 Dagnan [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> - with my system install of Ruby (1.8.7) I don’t have this problem…

Strange. Ruby 1.8.7p248 raises EOFError on my environment.

% ruby-1.8.7p248 -ve "  
require ‘net/http’  
require ‘net/https’  
require ‘uri’

url = URI.parse(‘[https://www.google.com](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

---

<div class="post-metadata">

**Author:** ![dagnan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/49beb7/32.png) [@dagnan](https://www.ruby-forum.com/u/dagnan)\
**Post date:** [May 25, 2010, 6:30pm UTC](https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152/3 "2010-05-25T18:30:36Z")

</div>

On May 25, 6:06 pm, Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:93:in `timeout'
> from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:440:in `start'
> from -e:7
> 
> ```
> 
> –  
> Tanaka A.

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…

So this topic is no longer useful.

---

<div class="post-metadata">

**Author:** ![dagnan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/49beb7/32.png) [@dagnan](https://www.ruby-forum.com/u/dagnan)\
**Post date:** [May 26, 2010, 5:13am UTC](https://www.ruby-forum.com/t/problem-with-ruby-1-9-https-and-openssl/189152/4 "2010-05-26T05:13:19Z")

</div>

On May 25, 2010, at 09:30, Dagnan wrote:

> > require ‘uri’  
> > from /home/ruby/187p248/lib/ruby/1.8/timeout.rb:62:in `timeout' from /home/ruby/187p248/lib/ruby/1.8/net/http.rb:543:in`start’
> 
> So this topic is no longer useful.

There was a bug in net-http-persistent. Upgrade to net-http-persistent  
1.2.1
