Project

General

Profile

Actions

Bug #5013

closed

bootstrap/runner.rb の assert_normal_exit() がSEGVを検知できないことがある

Added by kosaki (Motohiro KOSAKI) over 12 years ago. Updated about 11 years ago.

Status:
Closed
Target version:
ruby -v:
-
Backport:
[ruby-dev:44078]

Description

Bug#4992 をコミットしようとして気づいたのですが、
bootstrap/runner.rb の assert_normal_exit() がSEGVを検知しそこねることがあります。原因は

1.assert_normal_exit はシグナルで死んだ場合のみ F. exit(1) はテスト成功とみなす
2.rubyのsigsegv()はnested SEGVが起きたときに exit(SIGSEGV) でも abort() でもなく、exit(EXIT_FAILURE) を使う

の2つの仕様の不整合にあります。どちらも現在の仕様になっている理由が更新履歴から読み取れなかったので
どちらを直すべきか迷っています。
#(1)はakrさんが最初にこの関数を作ったときからの仕様、(2)はYARVがマージされた時からの仕様です。

お手数ですが、アドバイスお願いできないでしょうか。1.9.3 に入れてしまいたいので

Actions

Also available in: Atom PDF

Like0
Like0Like0