Forum: Ruby-core [ruby-trunk - Bug #7461][Open] Deadlock

Posted by zenspider (Ryan Davis) (Guest)
on 2012-11-29 02:47
(Received via mailing list)
Issue #7461 has been reported by zenspider (Ryan Davis).

----------------------------------------
Bug #7461: Deadlock
https://bugs.ruby-lang.org/issues/7461

Author: zenspider (Ryan Davis)
Status: Open
Priority: Urgent
Assignee:
Category:
Target version:
ruby -v: 2.0


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/test_minitest_unit.rb
Run options: --seed 61066

# Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in 
`join': No live threads left. Deadlock?  from 
/Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in `map'
  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 
`_run_anything'
  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.
Posted by zenspider (Ryan Davis) (Guest)
on 2012-11-29 02:47
(Received via mailing list)
Issue #7461 has been updated by zenspider (Ryan Davis).


I double checked and r37921 runs clean.
----------------------------------------
Bug #7461: Deadlock
https://bugs.ruby-lang.org/issues/7461#change-34110

Author: zenspider (Ryan Davis)
Status: Open
Priority: Urgent
Assignee:
Category:
Target version:
ruby -v: 2.0


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/test_minitest_unit.rb
Run options: --seed 61066

# Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in 
`join': No live threads left. Deadlock?  from 
/Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in `map'
  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 
`_run_anything'
  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.
Posted by zenspider (Ryan Davis) (Guest)
on 2012-11-29 02:48
(Received via mailing list)
Issue #7461 has been updated by zenspider (Ryan Davis).


Sorry. No. 37921 is the first bad. 37920 runs clean.
----------------------------------------
Bug #7461: Deadlock
https://bugs.ruby-lang.org/issues/7461#change-34111

Author: zenspider (Ryan Davis)
Status: Open
Priority: Urgent
Assignee:
Category:
Target version:
ruby -v: 2.0


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/test_minitest_unit.rb
Run options: --seed 61066

# Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in 
`join': No live threads left. Deadlock?  from 
/Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in `map'
  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 
`_run_anything'
  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.
Posted by zenspider (Ryan Davis) (Guest)
on 2012-11-29 03:49
(Received via mailing list)
Issue #7461 has been updated by zenspider (Ryan Davis).


"minimal" reproduction:

require 'minitest/metametameta'

class TestMiniTestUnit < MetaMetaMetaTestCase
  parallelize_me!
end

thanks to ko1 for the reduction.
----------------------------------------
Bug #7461: Deadlock
https://bugs.ruby-lang.org/issues/7461#change-34112

Author: zenspider (Ryan Davis)
Status: Open
Priority: Urgent
Assignee:
Category:
Target version:
ruby -v: 2.0


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/test_minitest_unit.rb
Run options: --seed 61066

# Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in 
`join': No live threads left. Deadlock?  from 
/Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in `map'
  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 
`_run_anything'
  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.
Posted by kosaki (Motohiro KOSAKI) (Guest)
on 2012-11-29 03:53
(Received via mailing list)
Issue #7461 has been updated by kosaki (Motohiro KOSAKI).

Status changed from Open to Closed

fixed at r37964
----------------------------------------
Bug #7461: Deadlock
https://bugs.ruby-lang.org/issues/7461#change-34113

Author: zenspider (Ryan Davis)
Status: Closed
Priority: Urgent
Assignee:
Category:
Target version:
ruby -v: 2.0


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/test_minitest_unit.rb
Run options: --seed 61066

# Running tests:

...............................................................................................................S....................../Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in 
`join': No live threads left. Deadlock?  from 
/Users/ryan/Work/svn/ruby/ruby/lib/minitest/parallel_each.rb:34:in `map'
  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 
`_run_anything'
  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.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.