Skip to content
This repository has been archived by the owner on Mar 26, 2023. It is now read-only.

attempt to recusive lock a mutex deadlocks instead of throwing an error #353

Open
johnnyt opened this issue Oct 24, 2014 · 0 comments
Open

Comments

@johnnyt
Copy link
Member

johnnyt commented Oct 24, 2014

MRI

ruby -r rubygems examples/echo_server.rb
Listening on 127.0.0.1:1234
*** 127.0.0.1:59598 connected
<internal:prelude>:8:in `lock': deadlock; recursive locking (ThreadError)
    from <internal:prelude>:8:in `synchronize'
    from /Users/johnnyt/code/celluloid/nio4r/lib/nio/selector.rb:22:in `register'
    from examples/echo_server.rb:29:in `accept'
    from examples/echo_server.rb:15:in `block in initialize'
    from examples/echo_server.rb:20:in `call'
    from examples/echo_server.rb:20:in `block in run'
    from /Users/johnnyt/code/celluloid/nio4r/lib/nio/selector.rb:94:in `block (2 levels) in select'
    from /Users/johnnyt/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/set.rb:222:in `block in each'
    from /Users/johnnyt/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/set.rb:222:in `each_key'
    from /Users/johnnyt/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/set.rb:222:in `each'
    from /Users/johnnyt/code/celluloid/nio4r/lib/nio/selector.rb:93:in `block in select'
    from <internal:prelude>:10:in `synchronize'
    from /Users/johnnyt/code/celluloid/nio4r/lib/nio/selector.rb:54:in `select'
    from examples/echo_server.rb:20:in `run'
    from examples/echo_server.rb:46:in `<main>'

MagLev

Maglev deadlocks on the recursive attempt to lock the mutex without
giving an error (i.e waits forever)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant