I’m seeing an unusual segfault when running unit tests. Google hasn’t
had much to say about the openssl gem. Anyone have some insight into
this?
$> rake test:units --trace
(in
/DevEnvironment/Work/ejabberd/components/user_activity/branches/invitations)
** Invoke test:units (first_time)
** Execute test:units
/opt/local/bin/ruby -I"lib:test"
“/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb”
“test/unit/event_logs_asynchronous_test.rb”
“test/unit/invitation_handler_asynchronous_test.rb”
“test/unit/invitation_handler_test.rb”
“test/unit/user_activity_jack_asyncronous_test.rb”
“test/unit/user_activity_jack_test.rb” “test/unit/xmpp_util_test.rb”
/opt/local/lib/ruby/1.8/openssl/ssl-internal.rb:30: [BUG] Segmentation
fault
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10]
rake aborted!
Command failed with status (): [/opt/local/bin/ruby -I"lib:test"
"/opt/loc…]
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in sh' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in
call’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in sh' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in
sh’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1029:in ruby' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in
ruby’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/testtask.rb:117:in
define' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in
verbose’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/testtask.rb:102:in
define' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
call’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
execute' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
each’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
execute' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in
invoke_with_call_chain’
/opt/local/lib/ruby/1.8/monitor.rb:242:in synchronize' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in
invoke_with_call_chain’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in invoke' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in
invoke_task’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
each’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
standard_exception_handling’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in
top_level' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in
run’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
standard_exception_handling' /opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in
run’
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/opt/local/bin/rake:19:in `load’
/opt/local/bin/rake:19
The code at the segfault in ssl-internal.rb:30
23 DEFAULT_PARAMS = {
24 :ssl_version => “SSLv23”,
25 :verify_mode => OpenSSL::SSL::VERIFY_PEER,
26 :ciphers =>
“ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW”,
27 :options => OpenSSL::SSL::OP_ALL,
28 }
29
30 DEFAULT_CERT_STORE = OpenSSL::X509::Store.new
31 DEFAULT_CERT_STORE.set_default_paths
32 if defined?(OpenSSL::X509::V_FLAG_CRL_CHECK_ALL)
33 DEFAULT_CERT_STORE.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
34 end