Bug #5853
closedmake test-all が OpenSSL::PKey::RSAError で止まる
Description
Mac OS X で make test-all を実行すると、以下のようなエラーが発生します。(1.9.3-p0 でも発生します)
Mac OS X だけで発生し、Debian 上では発生しませんでした。
% make test-all
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"
/Users/ani/c/ruby-trunk/lib/drb/ssl.rb:79:in public_key': OpenSSL::PKey::RSAError from /Users/ani/c/ruby-trunk/lib/drb/ssl.rb:79:in
setup_certificate'
from /Users/ani/c/ruby-trunk/lib/drb/ssl.rb:148:in open_server' from /Users/ani/c/ruby-trunk/lib/drb/drb.rb:759:in
block in open_server'
from /Users/ani/c/ruby-trunk/lib/drb/drb.rb:757:in each' from /Users/ani/c/ruby-trunk/lib/drb/drb.rb:757:in
open_server'
from /Users/ani/c/ruby-trunk/lib/drb/drb.rb:1342:in initialize' from /Users/ani/c/ruby-trunk/test/drb/test_drbssl.rb:33:in
new'
from /Users/ani/c/ruby-trunk/test/drb/test_drbssl.rb:33:in <class:DRbSSLService>' from /Users/ani/c/ruby-trunk/test/drb/test_drbssl.rb:11:in
<top (required)>'
from /Users/ani/c/ruby-trunk/lib/test/unit.rb:226:in require' from /Users/ani/c/ruby-trunk/lib/test/unit.rb:226:in
block in non_options'
from /Users/ani/c/ruby-trunk/lib/test/unit.rb:220:in each' from /Users/ani/c/ruby-trunk/lib/test/unit.rb:220:in
non_options'
from /Users/ani/c/ruby-trunk/lib/test/unit.rb:52:in process_args' from /Users/ani/c/ruby-trunk/lib/minitest/unit.rb:918:in
_run'
from /Users/ani/c/ruby-trunk/lib/minitest/unit.rb:911:in run' from /Users/ani/c/ruby-trunk/lib/test/unit.rb:21:in
run'
from /Users/ani/c/ruby-trunk/lib/test/unit.rb:639:in run' from /Users/ani/c/ruby-trunk/lib/test/unit.rb:671:in
run'
from /Users/ani/c/ruby-trunk/lib/test/unit.rb:675:in run' from ./test/runner.rb:15:in
'
make: *** [yes-test-all] Error 1
drb/test_drbssl.rb だけを実行しても発生しませんでした。
% make test-all TESTS='drb/test_drbssl.rb'
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" drb/test_drbssl.rb
Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"
Running tests:¶
....................
Finished tests in 4.830987s, 4.1399 tests/s, 13.4548 assertions/s.
20 tests, 65 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.0.0dev (2012-01-06 trunk 34219) [i386-darwin9.8.0]
Updated by kouji (Kouji Takao) over 13 years ago
私の手元でも再現しました。
OSXのバージョンは10.6.8 Snow Leopardです。
MacPortsのOpenSSL 1.0.0eを使うようにしたところ発生しなくなりました。
なお、OSX 10.6.8にプリインストールされているOpenSSLは0.9.8です。
Lionで再現しなければOSX 10.6.8にプリインストールされているOpenSSLの問題ということでRubyで対応しなくてもよいのではないかと思って、詳しい調査はしていません。
何かの参考になれば幸いです。
Updated by naruse (Yui NARUSE) over 13 years ago
- Status changed from Open to Third Party's Issue
Mac 添付の OpenSSL は Ruby 用には使えないので、homebrew や MacPorts から入れてください。
http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/