Bug #4370
closedAbort trap in net/http
Description
=begin
This crash occurred while using the s3 gem in the Rails console. The HTTP request was using SSL.
ruby-1.9.2-p136 :013 > s3 = S3::Service.new(:access_key_id => AwsConfig.aws_access_key, :secret_access_key => AwsConfig.aws_secret_key, :use_ssl => true, :debug => true)
=> #S3::Service:AKIAIHJYGMRU6DDTWHAQ
ruby-1.9.2-p136 :014 > s3.buckets.find(AwsConfig.document_s3_bucket)
opening connection to cnxdev-dphillips-stage.s3.amazonaws.com...
opened
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:677: [BUG] Segmentation fault
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]
-- control frame ----------
c:0040 p:---- s:0165 b:0165 l:000164 d:000164 CFUNC :connect
c:0039 p:0440 s:0162 b:0162 l:000478 d:000478 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:677
c:0038 p:0011 s:0155 b:0155 l:000154 d:000154 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:637
c:0037 p:0048 s:0152 b:0152 l:000151 d:000151 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:626
c:0036 p:0023 s:0149 b:0149 l:000148 d:000148 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/connection.rb:175
c:0035 p:0354 s:0141 b:0141 l:000140 d:000140 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/connection.rb:86
c:0034 p:0046 s:0130 b:0130 l:000129 d:000129 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/service.rb:67
c:0033 p:0025 s:0125 b:0125 l:000124 d:000124 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/forwardable.rb:182
c:0032 p:0061 s:0120 b:0120 l:000119 d:000119 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:161
c:0031 p:0023 s:0114 b:0114 l:000113 d:000113 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:126
c:0030 p:0011 s:0108 b:0108 l:000107 d:000107 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:16
c:0029 p:0025 s:0105 b:0105 l:000104 d:000104 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/buckets_extension.rb:11
c:0028 p:0030 s:0100 b:0100 l:001a18 d:000099 EVAL (irb):14
c:0027 p:---- s:0098 b:0098 l:000097 d:000097 FINISH
c:0026 p:---- s:0096 b:0096 l:000095 d:000095 CFUNC :eval
c:0025 p:0028 s:0089 b:0089 l:000088 d:000088 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/workspace.rb:80
c:0024 p:0033 s:0082 b:0081 l:000080 d:000080 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/context.rb:254
c:0023 p:0031 s:0076 b:0076 l:0019f8 d:000075 BLOCK /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:159
c:0022 p:0042 s:0068 b:0068 l:000067 d:000067 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:273
c:0021 p:0011 s:0063 b:0063 l:0019f8 d:000062 BLOCK /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:156
c:0020 p:0144 s:0059 b:0059 l:000042 d:000058 BLOCK /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:243
c:0019 p:---- s:0056 b:0056 l:000055 d:000055 FINISH
c:0018 p:---- s:0054 b:0054 l:000053 d:000053 CFUNC :loop
c:0017 p:0009 s:0051 b:0051 l:000042 d:000050 BLOCK /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:229
c:0016 p:---- s:0049 b:0049 l:000048 d:000048 FINISH
c:0015 p:---- s:0047 b:0047 l:000046 d:000046 CFUNC :catch
c:0014 p:0023 s:0043 b:0043 l:000042 d:000042 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:228
c:0013 p:0046 s:0040 b:0040 l:0019f8 d:0019f8 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:155
c:0012 p:0011 s:0037 b:0037 l:0023f8 d:000036 BLOCK /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:70
c:0011 p:---- s:0035 b:0035 l:000034 d:000034 FINISH
c:0010 p:---- s:0033 b:0033 l:000032 d:000032 CFUNC :catch
c:0009 p:0183 s:0029 b:0029 l:0023f8 d:0023f8 METHOD /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:69
c:0008 p:0210 s:0024 b:0024 l:001cd0 d:001cd0 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands/console.rb:44
c:0007 p:0019 s:0020 b:0020 l:000019 d:000019 METHOD /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands/console.rb:8
c:0006 p:0430 s:0016 b:0016 l:000015 d:000015 TOP /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands.rb:23
c:0005 p:---- s:0012 b:0012 l:000011 d:000011 FINISH
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :require
c:0003 p:0061 s:0006 b:0006 l:0014e8 d:0000d8 EVAL script/rails:6
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0014e8 d:0014e8 TOP
-- Ruby level backtrace information ----------------------------------------
script/rails:6:in <main>' script/rails:6:in
require'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands.rb:23:in <top (required)>' /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in
start'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in start' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:69:in
start'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:69:in catch' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:70:in
block in start'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:155:in eval_input' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in
each_top_level_statement'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in catch' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in
block in each_top_level_statement'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in loop' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in
block (2 levels) in each_top_level_statement'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:156:in block in eval_input' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:273:in
signal_status'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb.rb:159:in block (2 levels) in eval_input' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/context.rb:254:in
evaluate'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/workspace.rb:80:in evaluate' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/irb/workspace.rb:80:in
eval'
(irb):14:in irb_binding' /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/buckets_extension.rb:11:in
find_first'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:16:in retrieve' /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:126:in
bucket_headers'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/bucket.rb:161:in bucket_request' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/forwardable.rb:182:in
service_request'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/service.rb:67:in service_request' /Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/connection.rb:86:in
request'
/Users/dphillips/.rvm/gems/ruby-1.9.2-p136/gems/s3-0.3.7/lib/s3/connection.rb:175:in send_request' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:626:in
start'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:637:in do_start' /Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:677:in
connect'
/Users/dphillips/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:677:in `connect'
-- C level backtrace information -------------------------------------------
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
Abort trap
=end
Updated by electrum (David Phillips) almost 14 years ago
=begin
Minimal reproduction:
rails new foo -d mysql
cd foo
bundle install
rails console
require 'net/http'
http = Net::HTTP.new('s3.amazonaws.com', 443)
http.use_ssl = true
http.start {|h| h.request(Net::HTTP::Get.new('/')) }
=end
Updated by nobu (Nobuyoshi Nakada) almost 14 years ago
=begin
Hi,
At Sun, 6 Feb 2011 08:19:41 +0900,
David Phillips wrote in [ruby-core:35104]:
Minimal reproduction:
rails new foo -d mysql
cd foo
bundle install
rails console
I can't reproduce it only with the followings, so suspect it'd be a
3rd party issue.
require 'net/http'
http = Net::HTTP.new('s3.amazonaws.com', 443)
http.use_ssl = true
http.start {|h| h.request(Net::HTTP::Get.new('/')) }
--
Nobu Nakada
=end
Updated by nobu (Nobuyoshi Nakada) almost 14 years ago
- Status changed from Open to Feedback
=begin
=end
Updated by electrum (David Phillips) almost 14 years ago
=begin
Finally found the problem: I installed MySQL from MacPorts, which the mysql2 gem was linking to, causing the MacPorts libssl to be loaded rather than the system libssl. Installing the official MySQL package (which use system libraries) fixed it.
Sorry for the bogus report.
=end
Updated by sorah (Sorah Fukumori) almost 14 years ago
- Status changed from Feedback to Rejected
=begin
=end