From: Wataru Kimura Date: 2010-01-25T21:49:25+09:00 Subject: [ruby-dev:40145] [Bug #2648] Mac OS X 10.6/10.5で--enable-pthreadのときtest-allでSEGVする Bug #2648: Mac OS X 10.6/10.5で--enable-pthreadのときtest-allでSEGVする http://redmine.ruby-lang.org/issues/show/2648 起票者: Wataru Kimura ステータス: Open, 優先度: Normal ruby -v: ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0] #2603(NetBSD 5.0以降でpthreadの処理に由来する不具合)と似た現象なのですが、 Mac OS X上で1.8 (trunk r26382)および1.8.7-p249を--enable-pthreadで configureしてビルドしたとき、make test-allで多数のsegmentation faultが発生します。 test-allの出力を添付しました。8時間ほどしても終了しなかったので途中までのものです。 一部抜粋します。 ==== ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./runruby.rb --extout=.ext -- "./test/runner.rb" --basedir="./test" --runner=console Loaded suite . Started ........................................................................................................................................................................................................................./Volumes/CHome/kimuraw/work/ruby_1_8/lib/drb/extservm.rb:85: [BUG] Segmentation fault ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0] EEEEEEE/Volumes/CHome/kimuraw/work/ruby_1_8/lib/drb/extservm.rb:85: [BUG] Segmentation fault ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0] EEEEEEEEEEEEEE/Volumes/CHome/kimuraw/work/ruby_1_8/lib/drb/extservm.rb:85: [BUG] Segmentation fault ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0] E/Volumes/CHome/kimuraw/work/ruby_1_8/lib/drb/extservm.rb:85: [BUG] Segmentation fault ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0] ==== * --enable-pthreadしないときSEGVしません * 1.8.7-p174ではSEGVしません * Mac OS X 10.6.2および10.5.8で確認しました * #2603で提示されている最小の再現ケースでは再現しませんでした * ./ruby -e'Thread.new{sleep};`./ruby -e"1"`' * ./ruby -e'Thread.new{sleep};fork{}' #2603のpatch-2の__NetBSD__に__APPLE__を加えてMacでも有効にしたものを trunk r26370に当てるとSEGVは発生しなくなりました。 ---------------------------------------- http://redmine.ruby-lang.org