--mimepart_4d2c8c55e2e26_1f2bb417548357c
Content-Type: text/plain
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline

Bug #4266: Timeouts in threads cause "ThreadError: deadlock; recursive locking"
http://redmine.ruby-lang.org/issues/show/4266

Author: Christopher Bottaro
Status: Open, Priority: Normal
Category: core, Target version: 1.9.2
ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]Run the attached file (or this pastie http://pastie.org/1448542) a few times and you'll eventually get:

ThreadError: deadlock; recursive locking:
<internal:prelude>:8:in `lock'
<internal:prelude>:8:in `synchronize'
bin/deadlock_test.rb:86:in `block (4 levels) in <main>'
/Users/cjbottaro/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/timeout.rb:57:in `timeout'
bin/deadlock_test.rb:85:in `block (3 levels) in <main>'
bin/deadlock_test.rb:83:in `times'
bin/deadlock_test.rb:83:in `block (2 levels) in <main>'

I've had the script run successfully over 5 times in a row before gettinghe errors, so if it doesn't happen the first few times... keep trying.

The problem doesn't happen in 1.8.7 or Jruby, but does happen in 1.9.1.


----------------------------------------
http://redmine.ruby-lang.org

--mimepart_4d2c8c55e2e26_1f2bb417548357c
Content-Type: text/x-ruby-script; name=deadlock_test.rb
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=deadlock_test.rb

cmVxdWlyZSAidGhyZWFkIgpyZXF1aXJlICJ0aW1lb3V0IgoKZGVmIGNhbGNf
ZmliKG4pCiAgaWYgbiA9PSAwCiAgICAwCiAgZWxzaWYgbiA9PSAxCiAgICAx
CiAgZWxzZQogICAgY2FsY19maWIobi0xKSArIGNhbGNfZmliKG4tMikKICBl
bmQKZW5kCgpsb2NrID0gTXV0ZXgubmV3Cgp0aHJlYWRzID0gMjAudGltZXMu
Y29sbGVjdCBkbwogIFRocmVhZC5uZXcgZG8KICAgIDIwLnRpbWVzIGRvCiAg
ICAgIGJlZ2luCiAgICAgICAgVGltZW91dC50aW1lb3V0KDAuMjUpIGRvCiAg
ICAgICAgICBsb2NrLnN5bmNocm9uaXpleyBjYWxjX2ZpYigxMDAwKSB9CiAg
ICAgICAgZW5kCiAgICAgIHJlc2N1ZSBUaHJlYWRFcnJvciA9PiBlCiAgICAg
ICAgcHV0cyAiI3tlLmNsYXNzfTogI3tlLm1lc3NhZ2V9OlxuIiArIGUuYmFj
a3RyYWNlLmpvaW4oIlxuIikgKyAiXG5cbiIKICAgICAgcmVzY3VlIFRpbWVv
dXQ6OkVycm9yID0+IGUKICAgICAgICAjcHV0cyBlLmNsYXNzCiAgICAgICAg
bmlsCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCmVuZAoKdGhyZWFkcy5lYWNo
eyB8dHwgdC5qb2luIH0-mimepart_4d2c8c55e2e26_1f2bb417548357c--