Project

General

Profile

Actions

Bug #2648

closed

Mac OS X 10.6/10.5で--enable-pthreadのときtest-allでSEGVする

Added by kimuraw (Wataru Kimura) about 14 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.8.8dev (2010-01-22 revision 26374) [i386-darwin10.2.0]
[ruby-dev:40145]

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{}'

#2603のpatch-2の__NetBSD__に__APPLE__を加えてMacでも有効にしたものを
trunk r26370に当てるとSEGVは発生しなくなりました。
=end


Files

test-all-r26382.log (26.5 KB) test-all-r26382.log kimuraw (Wataru Kimura), 01/25/2010 09:49 PM
patch-bug2648.diff (2.18 KB) patch-bug2648.diff kimuraw (Wataru Kimura), 01/26/2010 11:05 PM

Related issues 2 (0 open2 closed)

Related to Backport187 - Backport #2659: Problem when building with pthreads enabledClosedshyouhei (Shyouhei Urabe)01/26/2010Actions
Related to Ruby master - Bug #270: lazy timer thraed creationClosedko1 (Koichi Sasada)Actions
Actions #1

Updated by naruse (Yui NARUSE) about 14 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 の修正の NetBSDAPPLE を加えるとどうですか ?
とりあえず 1.8 については、その方向で ruby_1_8 ブランチに対して動作を確認したパッチを作っていただければ取り込みます。
=end

Actions #2

Updated by kimuraw (Wataru Kimura) about 14 years ago

=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 の修正の NetBSDAPPLE を加えるとどうですか ?
とりあえず 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

Actions #3

Updated by naruse (Yui NARUSE) about 14 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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0