[ruby-core:64774] [ruby-trunk - Bug #10193] TestIO#test_readpartial_locktmp fails randomly

From: normalperson@...
Date: 2014-09-04 20:38:53 UTC
List: ruby-core #64774
Issue #10193 has been updated by Eric Wong.


 nobu@ruby-lang.org wrote:
 > Applied in changeset r47353.
 > 
 > ----------
 > test_io.rb: ignore stream closed IOError
 > 
 > * test/ruby/test_io.rb (test_readpartial_locktmp): stream closed
 >   IOError while reading is not a matter.  [Bug #10193]
 
 I get EBADF now:
 
 TestIO#test_readpartial_locktmp:
 Errno::EBADF: Bad file descriptor
     /home/ew/ruby/test/ruby/test_io.rb:2870:in `readpartial'
     /home/ew/ruby/test/ruby/test_io.rb:2870:in `block (2 levels) in test_readpartial_locktmp'
 
 Testing the following:
 
 --- a/test/ruby/test_io.rb
 +++ b/test/ruby/test_io.rb
 @@ -2874,6 +2874,7 @@ End
        assert_predicate(th, :alive?)
        w.write(data)
        Thread.pass while th.alive?
 +      th.join
      end
      assert_equal(data, buf, bug6099)
    rescue RuntimeError # can't modify string; temporarily locked
 
 I'm not sure if setting th->waiting_fd for rb_wait_for_single_fd
 is a good idea.  I think any poll/select wrappers should reload fileno
 from IO objects on EBADF, because th->waiting_fd does not scale.

----------------------------------------
Bug #10193: TestIO#test_readpartial_locktmp fails randomly
https://bugs.ruby-lang.org/issues/10193#change-48662

* Author: Vit Ondruch
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-08-26 trunk 47288) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
~~~
  4) Error:
TestIO#test_readpartial_locktmp:
IOError: stream closed
    /builddir/build/BUILD/ruby-2.2.0-r47288/test/ruby/test_io.rb:2861:in `readpartial'
    /builddir/build/BUILD/ruby-2.2.0-r47288/test/ruby/test_io.rb:2861:in `block (2 levels) in test_readpartial_locktmp'
~~~



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next