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

Issue #6577 has been reported by naruse (Yui NARUSE).


Bug #6577: GC中にstack overflowが発生するとSEGVする

Author: naruse (Yui NARUSE)
Status: Open
Priority: Normal
Assignee:
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 で再帰しないようにするなんて構想も先日語っておられましたが。

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する

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 で再帰しないようにするなんて構想も先日語っておられましたが。

Issue #6577 has been updated by ko1 (Koichi Sasada).

Status changed from Assigned to Feedback
Target version set to 2.0.0

再帰しなくなったんで,もういいんでしたっけ?

Bug #6577: GC中にstack overflowが発生するとSEGVする

Author: naruse (Yui NARUSE)
Status: Feedback
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category:
Target version: 2.0.0
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 で再帰しないようにするなんて構想も先日語っておられましたが。

Issue #6577 has been updated by naruse (Yui NARUSE).

Status changed from Feedback to Closed

そうですね、よいとおもいます、ありがとうございました。

なお、聞くべき対象はわたしなので feedback じゃなくて assgined であるべきだったかと。
Feedback は開発者出ない報告者か、誰ともなく助けを求めるときのためのものなので。

Bug #6577: GC中にstack overflowが発生するとSEGVする

Author: naruse (Yui NARUSE)
Status: Closed
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category:
Target version: 2.0.0
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 で再帰しないようにするなんて構想も先日語っておられましたが。