Bug #2748
fix for READ_CHECK causes failures on FreeBSD 8.0
| Status: | Closed | Start date: | 02/16/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | core | |||
| Target version: | - | |||
| ruby -v: | ruby 1.9.2dev (2010-02-15 trunk 26674) [x86_64-freebsd8.0] |
Description
間を置いてからの報告で申し訳ないのですが、例の READ_CHECK の修正 (r26625) が、 FreeBSD での test-all の失敗を増やします。 r26625 を revert するとこれらのテストは成功するようになります。 1) Failure: test_read_error(TestIO) [/home/naruse/ruby/test/ruby/test_io.rb:869]: RuntimeError expected but nothing was raised. 2) Failure: test_readpartial_error(TestIO) [/home/naruse/ruby/test/ruby/test_io.rb:834]: RuntimeError expected but nothing was raised.
Related issues
History
Updated by mame (Yusuke Endoh) over 2 years ago
遠藤です。 2010年2月16日3:42 Yui NARUSE <redmine@ruby-lang.org>: > 間を置いてからの報告で申し訳ないのですが、例の READ_CHECK の修正 (r26625) が、 > FreeBSD での test-all の失敗を増やします。 > r26625 を revert するとこれらのテストは成功するようになります。 [ruby-dev:40390][ruby-dev:40391][ruby-dev:40408] あたりで話しているのです が、元の仕様上の問題です。 失敗しているテストは、読み込みバッファが破壊された時に例外が上がることを 試すテストですが、読み込みを開始してからバッファが破壊されたことを検知する のは困難です。r26625 を revert しても EFAULT や SEGV を起こせることを確認 しています。 読み込み開始してからではなく、読み込み前にバッファ文字列をロックして、そも そも破壊させない必要がある (例外の上がるタイミングが read ではなくバッファ を破壊した瞬間になる、という些細な仕様変更はある) 、というのが現在の結論で す。 がたがた言ってないで直せという話なんですが、IO に全く自信がないので誰か やってくれると嬉しいです。 が、たぶん誰もやってくれないので今晩あたり適当にやってみようと思います。 -- Yusuke ENDOH <mame@tsg.ne.jp>
Updated by naruse (Yui NARUSE) over 2 years ago
- Status changed from Assigned to Closed