Feature #405
ssl.rb:31: [BUG] Bus Error
| Status: | Feedback | Start date: | 08/05/2008 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | ext | |||
| Target version: | - |
Description
ssl.rb:31: [BUG] Bus Error ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin9.4.0]
Related issues
History
Updated by shyouhei (Shyouhei Urabe) almost 4 years ago
Hello, what's that ssl.rb? Can we get one?
Updated by pirkka (Pirkka Hartikainen) over 3 years ago
/usr/local/lib/ruby/1.8/openssl/ssl.rb:31: [BUG] Bus Error ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin9.3.0] i'm not the original reporter of the bug, but looks like i'm getting the same error when compiling routes in merb (the web app framework)
Updated by evn (Evan W) over 3 years ago
This bug still occurs on ruby-1.9.1-preview1 on OS X Leopard/Intel 32-bit.
$ ruby19 -v
ruby 1.9.1 (2008-10-28 revision 19983) [i386-darwin9.5.0]
$ uname -a
Darwin mackenzie.local 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386
$ sudo port list openssl
openssl @0.9.8i devel/openssl
Line 31 in question from ssl.rb is:
DEFAULT_CERT_STORE = OpenSSL::X509::Store.new
Setting line 26 to:
:verify_mode => OpenSSL::SSL::VERIFY_NONE,
and commenting out lines 31-35 avoids the problem with RubyGems, at least.
Previous backtrace was:
$ sudo gem19 install echoe
/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:31: [BUG] Bus Error
ruby 1.9.1 (2008-10-28 revision 19983) [i386-darwin9.5.0]
-- control frame ----------
c:0033 p:---- s:0107 b:0107 l:000106 d:000106 CFUNC :initialize
c:0032 p:---- s:0105 b:0105 l:000104 d:000104 CFUNC :new
c:0031 p:0063 s:0102 b:0102 l:000101 d:000101 CLASS /opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:31
c:0030 p:0011 s:0100 b:0100 l:000099 d:000099 CLASS /opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:23
c:0029 p:0011 s:0098 b:0098 l:000097 d:000097 CLASS /opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:22
c:0028 p:0045 s:0096 b:0096 l:000095 d:000095 TOP /opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:21
c:0027 p:---- s:0094 b:0094 l:000093 d:000093 FINISH :set_encoding
c:0026 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC :require
c:0025 p:0059 s:0088 b:0088 l:000087 d:000087 TOP /opt/local/lib/ruby19/1.9.1/openssl.rb:22
c:0024 p:---- s:0086 b:0086 l:000085 d:000085 FINISH :set_encoding
c:0023 p:---- s:0084 b:0084 l:000083 d:000083 CFUNC :require
c:0022 p:0023 s:0080 b:0080 l:000079 d:000079 TOP /opt/local/lib/ruby19/1.9.1/rubygems/gem_openssl.rb:33
c:0021 p:---- s:0077 b:0077 l:000076 d:000076 FINISH :set_encoding
c:0020 p:---- s:0075 b:0075 l:000074 d:000074 CFUNC :require
c:0019 p:0023 s:0071 b:0071 l:000070 d:000070 TOP /opt/local/lib/ruby19/1.9.1/rubygems/security.rb:8
c:0018 p:---- s:0069 b:0069 l:000068 d:000068 FINISH :set_encoding
c:0017 p:---- s:0067 b:0067 l:000066 d:000066 CFUNC :require
c:0016 p:0023 s:0063 b:0063 l:000062 d:000062 TOP /opt/local/lib/ruby19/1.9.1/rubygems/install_update_options.rb:8
c:0015 p:---- s:0061 b:0061 l:000060 d:000060 FINISH :set_encoding
c:0014 p:---- s:0059 b:0059 l:000058 d:000058 CFUNC :require
c:0013 p:0035 s:0055 b:0055 l:000054 d:000054 TOP /opt/local/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:3
c:0012 p:---- s:0053 b:0053 l:000052 d:000052 FINISH :set_encoding
c:0011 p:---- s:0051 b:0051 l:000050 d:000050 CFUNC :require
c:0010 p:0059 s:0047 b:0047 l:000043 d:000046 BLOCK /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:140
c:0009 p:0075 s:0044 b:0044 l:000043 d:000043 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:132
c:0008 p:0055 s:0038 b:0036 l:000035 d:000035 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:65
c:0007 p:0111 s:0032 b:0032 l:000031 d:000031 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:118
c:0006 p:0180 s:0027 b:0027 l:000026 d:000026 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:104
c:0005 p:0013 s:0021 b:0021 l:000020 d:000020 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:75
c:0004 p:0089 s:0016 b:0016 l:000015 d:000015 METHOD /opt/local/lib/ruby19/1.9.1/rubygems/gem_runner.rb:39
c:0003 p:0207 s:0009 b:0009 l:000008 d:000008 TOP /opt/local/bin/gem19:24
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH :inherited
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP <dummy toplevel>:20204
---------------------------
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:31:in `initialize'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:31:in `new'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:31:in `<class:SSLContext>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:23:in `<module:SSL>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:22:in `<module:OpenSSL>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl/ssl.rb:21:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl.rb:22:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/openssl.rb:22:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/gem_openssl.rb:33:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/gem_openssl.rb:33:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/security.rb:8:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/security.rb:8:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/install_update_options.rb:8:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/install_update_options.rb:8:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:3:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/commands/install_command.rb:3:in `<top (required)>'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:140:in `require'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:140:in `rescue in load_and_instantiate'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:132:in `load_and_instantiate'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:65:in `[]'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:118:in `find_command'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:104:in `process_args'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/command_manager.rb:75:in `run'"
DBG> : "/opt/local/lib/ruby19/1.9.1/rubygems/gem_runner.rb:39:in `run'"
DBG> : "/opt/local/bin/gem19:24:in `<main>'"
-- backtrace of native function call (Use addr2line) --
0x1148f6
0x2b48c
0x2b4cb
0xbab8b
0x924d309b
0xffffffff
-------------------------------------------------------
Abort trap
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
- Status changed from Open to Feedback
- Assignee set to matz (Yukihiro Matsumoto)
- ruby -v set to ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin9.4.0]
Updated by mattgrayson (Matt G) over 3 years ago
Running into same issue: ssl.rb:31: [BUG] Bus Error ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.6.0]
Updated by mdarby (Matt Darby) about 3 years ago
I too am having the same issue suddenly: => Booting Mongrel => Rails 2.3.0 application starting on http://0.0.0.0:3000 /usr/local/lib/ruby/1.8/openssl/ssl.rb:31: [BUG] Bus Error ruby 1.8.7 (2008-08-08 patchlevel 71) [i686-darwin9.4.0] [1] 404 abort ./script/server OpenSSL 0.9.7l 28 Sep 2006
Updated by chaslemley (Chas Lemley) about 3 years ago
Do you have the following gems installed? thin eventmachine If you do, try uninstalling them and see if things work. It worked for me.
Updated by expertseries (Matt Gardner) about 3 years ago
Removing thin eventmachine Worked for me as well. Thanks Chas.
Updated by rogerdpack (Roger Pack) about 3 years ago
why do thin and eventmachine affect rubygems here? Have you tried the latest version of eventmachine? Thanks. -=r
Updated by docwhat (Christian Höltje) almost 3 years ago
Bug #1678 has an excellent description of the problem, including valgrind info. He has a (probably not correct) work-around that will let people get work done. re: why removing certain gems works? Probably because it shifted memory locations around enough to allow the references be valid. Ciao!
Updated by marcandre (Marc-Andre Lafortune) over 2 years ago
- Category set to ext
Updated by docwhat (Christian Höltje) about 2 years ago
Removing eventmachine fixes the problem because eventmachine loads openssl. If you don't load anything that uses openssl, then you won't see the problem.
Updated by docwhat (Christian Höltje) about 2 years ago
I'm no expert with openssl, but you can see in code like this that it expects a NULL or a valid STACK: http://openssl.sourcearchive.com/documentation/0.9.8g/ex__data_8c-source.html Looking at the code, I don't see ruby setting the STACK on initialization (GetX509Store), so I figured it should be NULL.
Updated by docwhat (Christian Höltje) about 2 years ago
In 1.9.1 this was fixed in r27064.
Updated by shyouhei (Shyouhei Urabe) 22 days ago
- Tracker changed from Bug to Feature
- Description updated (diff)
Seems r27064 has already been applied. Does this still occur?