Actions
Bug #6577
closedGC中にstack overflowが発生するとSEGVする
Description
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 で再帰しないようにするなんて構想も先日語っておられましたが。
Updated by ko1 (Koichi Sasada) over 12 years ago
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
Updated by ko1 (Koichi Sasada) about 12 years ago
- Status changed from Assigned to Feedback
- Target version set to 2.0.0
再帰しなくなったんで,もういいんでしたっけ?
Updated by naruse (Yui NARUSE) about 12 years ago
- Status changed from Feedback to Closed
そうですね、よいとおもいます、ありがとうございました。
なお、聞くべき対象はわたしなので feedback じゃなくて assgined であるべきだったかと。
Feedback は開発者出ない報告者か、誰ともなく助けを求めるときのためのものなので。
Actions
Like0
Like0Like0Like0