Bug #2648
closedMac OS X 10.6/10.5で--enable-pthreadのときtest-allでSEGVする
Description
=begin
#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{}'
- ./ruby -e'Thread.new{sleep};
#2603のpatch-2の__NetBSD__に__APPLE__を加えてMacでも有効にしたものを
trunk r26370に当てるとSEGVは発生しなくなりました。
=end
Files
Updated by naruse (Yui NARUSE) almost 15 years ago
=begin
Mac OS X上で1.8 (trunk r26382)および1.8.7-p249を--enable-pthreadで
この「1.8 (trunk r26382)」って 1.9 ですか?
1.8 の方は r26371 の修正の NetBSD に APPLE を加えるとどうですか ?
とりあえず 1.8 については、その方向で ruby_1_8 ブランチに対して動作を確認したパッチを作っていただければ取り込みます。
=end
Updated by kimuraw (Wataru Kimura) almost 15 years ago
- File patch-bug2648.diff patch-bug2648.diff added
=begin
Mac OS X上で1.8 (trunk r26382)および1.8.7-p249を--enable-pthreadで
この「1.8 (trunk r26382)」って 1.9 ですか?
すみません…1.8はブランチですね。1.9でなく1.8のつもりで書きました。
1.8 の方は r26371 の修正の NetBSD に APPLE を加えるとどうですか ?
とりあえず 1.8 については、その方向で ruby_1_8 ブランチに対して動作を確認したパッチを作っていただければ取り込みます。
1.8のr26425へのパッチを作成しました。
- Mac OS X 10.6.2および10.5.8でmake test-allがSEGVしなくなったこと
- パッチ済みpthreadあり/パッチなしpthreadなしの場合でmake test-allの結果が(ほぼ)同じになること
(10.6.2で4F1E/5F1E、10.5.8で5F2E/5F2E)
を確認しました。
=end
Updated by naruse (Yui NARUSE) almost 15 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r26437.
Wataru, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end