Project

General

Profile

Actions

Bug #17878

open

bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"

Bug #17878: bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"

Added by jaruga (Jun Aruga) over 4 years ago. Updated 6 months ago.

Status:
Assigned
Assignee:
Target version:
-
[ruby-core:103950]

Description

I was running Travis several times I am trying to revive based on the master commit: 50a534a1526e2b9f4ea41e44b802bd73f9cebbeb.
Then I got the following failure on Travis arm64 Ubuntu focal environment. The failure happened for the first time in around 5 times.

Here is the Travis log.
https://travis-ci.com/github/junaruga/ruby/jobs/506885939#L2227

$ $SETARCH make -s test -o showflags TESTOPTS="${TESTOPTS=-j33 -q --tty=no}" ... test_ractor.rb ....................Fstderr output is not empty <internal:ractor>:345:in `select': The outgoing-port is already closed (Ractor::ClosedError) from bootstraptest.tmp.rb:12:in `block in test' from bootstraptest.tmp.rb:11:in `times' from bootstraptest.tmp.rb:11:in `test' from bootstraptest.tmp.rb:26:in `block in <main>' from bootstraptest.tmp.rb:25:in `times' from bootstraptest.tmp.rb:25:in `each' from bootstraptest.tmp.rb:25:in `map' from bootstraptest.tmp.rb:25:in `<main>' 
Fiber count: 10000 (skipping) #1213 test_ractor.rb:224:in `<top (required)>': def test n rs = (1..n).map do |i| Ractor.new(i) do |i| "r#{i}" end end as = [] all_rs = rs.dup n.times{ r, obj = Ractor.select(*rs) as << [r, obj] rs.delete(r) } if as.map{|r, o| r.object_id}.sort == all_rs.map{|r| r.object_id}.sort && as.map{|r, o| o}.sort == (1..n).map{|i| "r#{i}"}.sort 'ok' else 'ng' end end 30.times.map{|i| test i } #=> "" (expected "[\"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\"]") FAIL 1/1488 tests failed make: *** [uncommon.mk:768: yes-btest-ruby] Error 1 The command "$SETARCH make -s test -o showflags TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"" exited with 2. 

Updated by jaruga (Jun Aruga) over 4 years ago Actions #1 [ruby-core:103973]

I am trying to skip the assertion on Travis CI arm64 cases by https://github.com/ruby/ruby/pull/4518 6th commit.

Updated by jaruga (Jun Aruga) over 4 years ago Actions #2

  • Subject changed from test_ractor.rb: a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)" to bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"

Updated by hsbt (Hiroshi SHIBATA) over 1 year ago Actions #5 [ruby-core:117416]

  • Status changed from Open to Assigned
  • Assignee set to ko1 (Koichi Sasada)

Updated by jhawthorn (John Hawthorn) 6 months ago Actions #6

  • Assignee changed from ko1 (Koichi Sasada) to ractor
Actions

Also available in: PDF Atom