Bug #7461

Deadlock

Added by Ryan Davis over 1 year ago. Updated over 1 year ago.

[ruby-core:50284]
Status:Closed
Priority:Urgent
Assignee:-
Category:-
Target version:-
ruby -v:2.0 Backport:

Description

When I try to update minitest in trunk and run my tests I get the following error:

% ./miniruby -I./lib ./tool/runruby.rb --extout=.ext -- -Itest test/minitest/testminitestunit.rb
Run options: --seed 61066

Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/paralleleach.rb:34:in join': No live threads left. Deadlock? from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:inmap'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel
each.rb:34:in each'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:898:in
map'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:898:in _run_suites'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:867:in
runanything'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:1060:in run_tests'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:1047:in
block in run'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:1046:in each'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:1046:in
run'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:1035:in run'
from /Users/ryan/Work/svn/ruby/ruby/lib/minitest/unit.rb:789:in
block in autorun'
rake aborted!
Command failed with status (1): [./miniruby -I./lib ./tool/runruby.rb --ex...]

We've inspected the code and don't see how/why this is happening on our side. This can be repro'd against git clone git://github.com/seattlerb/minitest.git or even gem unpack minitest. I believe this is related to the other thread bugs we've seen but it is harder for us to track down.

This is preventing me from merging to trunk.

History

#1 Updated by Ryan Davis over 1 year ago

I double checked and r37921 runs clean.

#2 Updated by Ryan Davis over 1 year ago

Sorry. No. 37921 is the first bad. 37920 runs clean.

#3 Updated by Ryan Davis over 1 year ago

"minimal" reproduction:

require 'minitest/metametameta'

class TestMiniTestUnit < MetaMetaMetaTestCase
parallelize_me!
end

thanks to ko1 for the reduction.

#4 Updated by Motohiro KOSAKI over 1 year ago

  • Status changed from Open to Closed

fixed at r37964

Also available in: Atom PDF