Forum: Ruby-dev [ruby-trunk - Bug #6882][Assigned] parallel test crashes when unknown exception is occured in a test

Posted by usa (Usaku NAKAMURA) (Guest)
on 2012-08-16 09:55
(Received via mailing list)
Issue #6882 has been reported by usa (Usaku NAKAMURA).

----------------------------------------
Bug #6882: parallel test crashes when unknown exception is occured in a 
test
https://bugs.ruby-lang.org/issues/6882

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: sorah (Shota Fukumori)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-16 trunk 36711)


test-allを-j付きで実行していると、例えばrdocあたりがバグっていて
RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという
例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので
master自体がクラッシュしてしまいます。

worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、
全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump
するのをやめるか、のいずれかの方法しかないような気がします。

後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを
添付します。
実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる
わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題
なさそうに見えます。
Posted by usa (Usaku NAKAMURA) (Guest)
on 2012-08-20 04:21
(Received via mailing list)
Issue #6882 has been updated by usa (Usaku NAKAMURA).

Status changed from Closed to Assigned

これっぽっちも直ってないのでreopen
----------------------------------------
Bug #6882: parallel test crashes when unknown exception is occured in a 
test
https://bugs.ruby-lang.org/issues/6882#change-28935

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: sorah (Shota Fukumori)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-16 trunk 36711)


test-allを-j付きで実行していると、例えばrdocあたりがバグっていて
RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという
例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので
master自体がクラッシュしてしまいます。

worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、
全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump
するのをやめるか、のいずれかの方法しかないような気がします。

後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを
添付します。
実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる
わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題
なさそうに見えます。
Posted by sorah (Shota Fukumori) (Guest)
on 2012-08-21 03:58
(Received via mailing list)
Issue #6882 has been updated by sorah (Shota Fukumori).

Status changed from Closed to Assigned
Assignee changed from sorah (Shota Fukumori) to usa (Usaku NAKAMURA)

sorry for late reply, go ahead.
----------------------------------------
Bug #6882: parallel test crashes when unknown exception is occured in a 
test
https://bugs.ruby-lang.org/issues/6882#change-28950

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: usa (Usaku NAKAMURA)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-16 trunk 36711)


test-allを-j付きで実行していると、例えばrdocあたりがバグっていて
RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという
例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので
master自体がクラッシュしてしまいます。

worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、
全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump
するのをやめるか、のいずれかの方法しかないような気がします。

後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを
添付します。
実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる
わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題
なさそうに見えます。
Posted by usa (Usaku NAKAMURA) (Guest)
on 2012-08-21 04:01
(Received via mailing list)
Issue #6882 has been updated by usa (Usaku NAKAMURA).

Status changed from Assigned to Closed

順序前後。もう入れました。

----------------------------------------
Bug #6882: parallel test crashes when unknown exception is occured in a 
test
https://bugs.ruby-lang.org/issues/6882#change-28951

Author: usa (Usaku NAKAMURA)
Status: Closed
Priority: Normal
Assignee: usa (Usaku NAKAMURA)
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-16 trunk 36711)


test-allを-j付きで実行していると、例えばrdocあたりがバグっていて
RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという
例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので
master自体がクラッシュしてしまいます。

worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、
全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump
するのをやめるか、のいずれかの方法しかないような気がします。

後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを
添付します。
実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる
わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題
なさそうに見えます。
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.