Backport #4109
closedtest_timeout.rbが失敗する
Description
=begin
trunkでは直っているのですが、ruby_1_9_2ブランチの先頭で問題が再現し、
同様の報告が見つからなかったために念のため報告します。
CentOS release 5.5で、test/test_timeout.rbが失敗することがあります。
失敗例
$ /opt/ruby19/bin/ruby -v test/test_timeout.rb
ruby 1.9.2p53 (2010-11-24 revision 29921) [x86_64-linux]
Loaded suite test/test_timeout
Started
..F
Finished in 5.229315 seconds.
1) Failure:
test_timeout(TestTimeout) [test/test_timeout.rb:19]:
[ruby-dev:38319].
Exception raised:
<#<Timeout::Error: execution expired>>.
3 tests, 3 assertions, 1 failures, 0 errors, 0 skips
Test run options: --seed 21964
常に失敗するわけではなく、たまに成功することもあります。
なお、テストの実行時間には実行のたびに大きくばらつきがあり、
5分以上経っても終了しないこともあります。
(C-cで終了させてしまったので、必ず終了するのかは不明です)
trunkでは、r29955までは問題が再現し、r29956で正常にテストが通るようになります。
また、Debian lennyではこの問題は発生しません。
=end
Updated by naruse (Yui NARUSE) over 13 years ago
- Status changed from Open to Assigned
- Assignee set to yugui (Yuki Sonoda)
=begin
r29956で直ったようですが、ちょっとbug fixにするには大きいかなぁ。
なお、この問題はFreeBSD8でも見覚えがありますね
=end
Updated by yugui (Yuki Sonoda) over 13 years ago
- Priority changed from Normal to 3
=begin
そうですね。ちょっとバグフィックスには大きいです。当面pendingとさせてください。
=end
Updated by kyanagi (Kouhei Yanagita) over 13 years ago
=begin
当初の報告では Debian lenny (Core i3 530) では発生しないとしていましたが、
今改めて調べたところ、この環境でも問題が発生することがわかったので報告します。
ひとまずpendingとなりそうですので、
個人的にパッチを当てることを検討したいと思います。
=end
Updated by kosaki (Motohiro KOSAKI) over 13 years ago
=begin
私の見立てが正しければ r29956 は副作用で(他と合わせ技で)Bug#4121 を招いてしまっているのでtrunkが落ち着くまでbackportをpendingしてほしいです。
簡単に言うとr29956でGVL fairnessのために他スレッドの待ち状態を意識するようになったいて、もし仮にfork時等スレッドが消えたときにGVLのステートを正しく再設定するのを忘れるとdeadlockを招くリスクがあるのですが、trunkでは本当に漏れている場所がありました。とかそういう話です。
次のパッチリリースは半年後なのでわざわざ書かなくても自然とそうなる気もしますが。
=end
Updated by naruse (Yui NARUSE) almost 8 years ago
- Status changed from Assigned to Rejected