Issue #13624 has been updated by MSP-Greg (Greg L).


Eric,

Thanks for the response.  Reminder (which I try to mention from time to time) - I'm not a c type, and I essentially just use Windows.

> Curious, do you know what the kernel timer resolution is on your system?

No idea.  But [this](https://msdn.microsoft.com/en-us/library/windows/hardware/dn265247(v=vs.85).aspx) might be implying about 15 ms per, so about 67 Hz.

Sorry, I try to check for commits related to new test failures, I missed [58936](https://github.com/ruby/ruby/commit/a028cfc597f96bbedd05b0b86f5cb7b061d10c2d) from 6 days ago.  Conversely, I've been running daily builds, and today was the first error.

I don't use the system when building, but since I've got console test output piped to a file, sometimes I might open Windows (file) explorer to check the log size to see how far along it is.  I suspect I timed it just right today...

Summing up, I haven't tried to see if I can replicate the failure.  If it's helpful, if I patch `pct: 0.11` up to 0.20 or something, then run tests as normal for several days, I can report back as to whether the failure occurs again.

----------------------------------------
Bug #13624: MinGW - TestIO#test_copy_stream_no_busy_wait - new failure
https://bugs.ruby-lang.org/issues/13624#change-65244

* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0dev (2017-06-02 trunk 58998) [x64-mingw32]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Today's MinGW build had a new failure, one that I don't recall seeing before.

Code is (located [here](https://github.com/ruby/ruby/blob/trunk/test/ruby/test_io.rb#L535-L546)):

```ruby
def test_copy_stream_no_busy_wait
  msg = 'r58534 [ruby-core:80969] [Backport #13533]'
  IO.pipe do |r,w|
    r.nonblock = true
    assert_cpu_usage_low(msg, pct: 0.11) do
      th = Thread.new { IO.copy_stream(r, IO::NULL) }
      sleep 0.1
      w.close
      th.join
    end
  end
end
```

Failure (I show skips, this is the 4th of 7 failures):

```
 88) Failure:
TestIO#test_copy_stream_no_busy_wait [E:/GitHub/ruby/test/ruby/test_io.rb:539]:
r58534 [ruby-core:80969] [Backport #13533].
Expected 0.01599999999996271 to be <= 0.013757898662006482.
```

From the assert `assert_cpu_usage_low`, it seems like a test that might be kind of arbitrary, especially when a user (or the OS) might be doing another task at the exact same time.  Also, I'm not quite sure how `0.11` relates to the two numbers shown in the failure...

Again, I've never seen it before, and I'm ignoring it.



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>