Project

General

Profile

Actions

Backport #8519

closed

Test IO Timeout error and free space starvation

Added by luislavena (Luis Lavena) almost 11 years ago. Updated almost 11 years ago.


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

  1. Error:
    TestIO#test_write_32bit_boundary:
    Timeout::Error: Timeout::Error
    C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/ruby/envutil.rb:78:in invoke_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:in block 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:

  1. 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:in invoke_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:in block 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

Actions #1

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?

Actions #3

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]
Actions #4

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)
Actions #5

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]

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0