Project

General

Profile

Actions

Bug #4370

closed

Abort trap in net/http

Added by electrum (David Phillips) over 11 years ago. Updated about 11 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]
Backport:
[ruby-core:35100]

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

Actions #1

Updated by electrum (David Phillips) over 11 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

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 11 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

Actions #3

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

  • Status changed from Open to Feedback

=begin

=end

Actions #4

Updated by electrum (David Phillips) over 11 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

Actions #5

Updated by sorah (Sorah Fukumori) over 11 years ago

  • Status changed from Feedback to Rejected

=begin

=end

Actions

Also available in: Atom PDF