Project

General

Profile

Bug #14963

Since r64107, on Solaris, spec test of rb_io_wait_readable hangs up

Added by ngoto (Naohisa Goto) 12 days ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:88287]

Description

Since r64107 (removal of timer thread), on Solaris (both on Solaris 10 and Solaris 11, both on x86 and sparc),
make test-rubyspec never ends in the test of rb_io_wait_readable in spec/ruby/optional/capi/io_spec.rb.

C-API IO function rb_io_wait_writable
- returns false if there is no error condition (FAILED - 1)
- raises an IOError if the IO is closed

C-API IO function rb_thread_fd_writable
- waits til an fd is ready for writing

C-API IO function rb_io_wait_readable
- returns false if there is no error condition

On rubyci.org, it stopped by 600s timeout.
(confirmed with r64171 or r64169)

Solaris10 i386: https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180803T121806Z.fail.html.gz
Solaris11 i386: https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20180803T122406Z.fail.html.gz
Solaris10 sparc: https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-trunk/log/20180803T071912Z.fail.html.gz
Solaris11 sparc: https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20180803T112505Z.fail.html.gz

I cannot determine whether the changes of removing timer thread contain some bug on Solaris or the test code is essentially wrong.

Also available in: Atom PDF