[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>

24 messages 2012/07/04

[#45913] [ruby-trunk - Bug #6698][Open] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている — "imkira (Mario Freitas)" <imkira@...>

10 messages 2012/07/04

[#45933] [ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる — "tommy (Masahiro Tomita)" <tommy@...>

8 messages 2012/07/10

[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>

9 messages 2012/07/20

[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>

13 messages 2012/07/30

[ruby-dev:45955] [ruby-trunk - Bug #6577][Assigned] GC中にstack overflowが発生するとSEGVする

From: "ko1 (Koichi Sasada)" <redmine@...>
Date: 2012-07-14 08:46:31 UTC
List: ruby-dev #45955
Issue #6577 has been updated by ko1 (Koichi Sasada).

Status changed from Open to Assigned
Assignee set to ko1 (Koichi Sasada)


----------------------------------------
Bug #6577: GC中にstack overflowが発生するとSEGVする
https://bugs.ruby-lang.org/issues/6577#change-28064

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-06-11 trunk 36035) [x86_64-freebsd9.0]


GC中にstack overflowが発生すると、例外作成時にrb_new_objするので[BUG]ります。

原因
(1) caller のテストで Fiber を利用するようにした
(2) caller 実行中に GC が発生
(3) GC 中にマシンスタックオーバーフロー(SEGV)が発生
(4) スタックオーバーフローエラーを作成
(5) スタックオーバーフローエラーを作るときに object allocation している
(6) -> [BUG]

対処法:
スタックオーバーフローエラーを投げるときはオブジェクト作らないようにする
対症療法:
caller のテストで Fiber を使わないようにする
対症療法その2:
callerのテストで GC.disable 

nariさんがGC で再帰しないようにするなんて構想も先日語っておられましたが。


-- 
http://bugs.ruby-lang.org/

In This Thread