Backport #8519
closedTest IO Timeout error and free space starvation
Description
=begin
Hello,
As originally mentioned in [ruby-core:55416], a particular test on ruby_2_0_0 branch and trunk is leaving temporary files behind and causing the CI worker to have no free space.
The failing test:
http://ci.rubyinstaller.org/job/ruby-2_0_0-x64-test-all/87/console
http://ci.rubyinstaller.org/job/ruby-trunk-x64-test-all/1371/console
- Error:
TestIO#test_write_32bit_boundary:
Timeout::Error: Timeout::Error
C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/envutil.rb:78:ininvoke_ruby' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/envutil.rb:298:in
assert_separately'
C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/test_io.rb:2693:inblock in test_write_32bit_boundary' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/test_io.rb:1247:in
make_tempfile'
C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/test_io.rb:2692:in `test_write_32bit_boundary'
And ruby_2_0_0:
- Error:
test_write_32bit_boundary(TestIO):
Timeout::Error: Timeout::Error
C:/Users/Worker/Jenkins/workspace/ruby-2_0_0-x64-build/test/ruby/envutil.rb:77:ininvoke_ruby' C:/Users/Worker/Jenkins/workspace/ruby-2_0_0-x64-build/test/ruby/envutil.rb:266:in
assert_separately'
C:/Users/Worker/Jenkins/workspace/ruby-2_0_0-x64-build/test/ruby/test_io.rb:2674:inblock in test_write_32bit_boundary' C:/Users/Worker/Jenkins/workspace/ruby-2_0_0-x64-build/test/ruby/test_io.rb:1246:in
make_tempfile'
C:/Users/Worker/Jenkins/workspace/ruby-2_0_0-x64-build/test/ruby/test_io.rb:2673:in `test_write_32bit_boundary'
The test (({test_write_32bit_boundary})) is not properly cleaning up the temporary file it creates.
This was not a problem before and just recently started to happen. It is worth to mention no change in the worker setup has been made except normal Windows security upgrades.
Ideas?
=end
Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r41254.
Luis, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
test_io.rb: fix test error
- test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): retry to
remove the temporary file while EACCES occurs because of syncing in
the system probably. rescue ENOSPC from IO#tell. [ruby-core:55457]
[Bug #8519]
Updated by h.shirosaki (Hiroshi Shirosaki) almost 11 years ago
- Status changed from Closed to Assigned
- Assignee changed from windows to nobu (Nobuyoshi Nakada)
test_write_32bit_boundary still fails on CI.
TestIO#test_write_32bit_boundary = 137.43 s = E
http://ci.rubyinstaller.org/job/ruby-trunk-x86-test-all/1566/console
I tried the test on my local Win7 and took about 50s to complete with changing timeout to 60s. And the test creates a 4.2GB temp file.
Since it takes very long time and fails on CI, is it better to skip the test on mingw?
Updated by Anonymous almost 11 years ago
- Status changed from Assigned to Closed
This issue was solved with changeset r41655.
Luis, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip if
writing a file is slow.
[ruby-core:55541] [Bug #8519]
Updated by nagachika (Tomoyuki Chikanaga) almost 11 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby master to Backport200
- Category deleted (
test) - Status changed from Closed to Assigned
- Assignee changed from nobu (Nobuyoshi Nakada) to nagachika (Tomoyuki Chikanaga)
- Target version deleted (
2.6)
Similar error occurs with 2.0.0.
http://ci.rubyinstaller.org/job/ruby-2_0_0-x64-test-all/105/
Updated by nagachika (Tomoyuki Chikanaga) almost 11 years ago
- Status changed from Assigned to Closed
This issue was solved with changeset r41659.
Luis, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
merge revision(s) 41254,41655: [Backport #8519]
test_io.rb: fix test error
* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): retry to
remove the temporary file while EACCES occurs because of syncing in
the system probably. rescue ENOSPC from IO#tell. [ruby-core:55457]
[Bug #8519]
* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip if
writing a file is slow.
[ruby-core:55541] [Bug #8519]