Project

General

Profile

Bug #14906

MinGW failure - TestIO#test_copy_stream_no_busy_wait

Added by MSP-Greg (Greg L) 5 months ago. Updated 5 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-07-11 trunk 63945) [x64-mingw32]
[ruby-core:87900]

Description

ruby-loco just had a failure on TestIO#test_copy_stream_no_busy_wait for the first time.

  8) Failure:
TestIO#test_copy_stream_no_busy_wait [C:/projects/ruby-loco/src/ruby/test/ruby/test_io.rb:557]:
r58534  [Backport #13533].
Expected 0.031000000000000028 to be <= 0.016417910447761194.

This was on Appveyor, it passed during parallel, but failed on retry, as TestIO#test_write_no_garbage failed during parallel, which is common.

I haven't really looked at it, or especially assert_cpu_usage_low, but a change to loosen the test up would be helpful.

BTW, it was the only failure on r63945. I haven't really analyzed it, but Appveyor does seem slower just in the last day or so...

Thanks, Greg

History

#1 [ruby-core:87903] Updated by normalperson (Eric Wong) 5 months ago

Greg.mpls@gmail.com wrote:

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

I made r63950 to skip tests to diagnose the issue.
I don't think threads are running at that point, but maybe
the thread leakchecker can find them...

You will need to enable TESTS=--show-skip for test-all to
show the skips.

I haven't really looked at it, or especially
assert_cpu_usage_low, but a change to loosen the test up
would be helpful.

We've already loosened it up quite a bit. Sadly, extending
the sleep time in the test might be the most reliable way;
but it makes the test slower

#2 [ruby-core:87908] Updated by MSP-Greg (Greg L) 5 months ago

normalperson (Eric Wong)

Eric,

r63947 was causing a test-all failure, as on Windows, one can't do File.unlink(t.path) if t is open (or before t.close). I did a PR, and a moment later, znz (Kazuhiro NISHIYAMA) pushed a commit. mswin passed test-all.

That was the only issue in mswin, I'll started a ruby-loco built shortly.

I've always used --show-skip, and from time to time check the skips. It has been stable...

Thanks again, Greg

#3 [ruby-core:87911] Updated by normalperson (Eric Wong) 5 months ago

Greg.mpls@gmail.com wrote:

r63947 was causing a test-all failure, as on Windows, one
can't do File.unlink(t.path) if t is open (or before
t.close). I did a PR, and a moment later, znz (Kazuhiro NISHIYAMA) pushed a
commit. mswin passed test-all.

Oops, sorry about that :x

I've always used --show-skip, and from time to time check
the skips. It has been stable...

OK, apparently there's cases of runaway threads leakchecker.rb
fails to find. I made r63952 but there seems to be more...

#4 [ruby-core:87917] Updated by MSP-Greg (Greg L) 5 months ago

normalperson (Eric Wong) wrote:

Oops, sorry about that :x

No problem. I don't expect you or anyone else to know Windows. I'm well aware that the vast majority of production Ruby apps don't run on Windows.

It wasn't that long ago when there was no real testing of Windows builds. Now, mswin & mingw normally pass all tests. Thanks to you and everyone else...

Anyway, would a summary of all tests that failed/errored during parallel testing but passed during 'retry' be helpful? I've got all the build logs saved locally, so I can go back quite a few builds...

Thanks, Greg

Also available in: Atom PDF