Bug #5853
make test-all が OpenSSL::PKey::RSAError で止まる
| Status: | Third Party's Issue | Start date: | 01/06/2012 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - | |||
| ruby -v: | ruby 2.0.0dev (2012-01-06 trunk 34219) [i386-darwin9.8.0] |
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 `<main>'
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]
History
Updated by kouji (Kouji Takao) 5 months 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) 4 months 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/