Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Security Level: Public
-
Labels:None
-
Environment:Mac OSX Lion Ruby 1.9.2 (p180)
-
Flagged:Impediment
Description
Using the example code referenced in RCBC-2 (http://www.couchbase.org/issues/browse/RCBC-2)
I simply switched to using ruby 1.9.2 and attempted to run.
/Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `sleep': deadlock detected (fatal)
from /Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:66:in `block in wait'
from <internal:prelude>:10:in `synchronize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:65:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/bucket.rb:80:in `initialize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from hello-world.rb:5:in `<main>'
I simply switched to using ruby 1.9.2 and attempted to run.
/Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `sleep': deadlock detected (fatal)
from /Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:66:in `block in wait'
from <internal:prelude>:10:in `synchronize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:65:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/bucket.rb:80:in `initialize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from hello-world.rb:5:in `<main>'
Activity
Matt Ingenthron
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Matt Ingenthron [ ingenthr ] | Sergey Avseyev [ avsej ] |
Sergey Avseyev
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Sergey Avseyev
made changes -
| Comment |
[ Something strange is happening with latch implementation. Consider following example:
{code:ruby} require 'thread' class Latch def wait @lock = Mutex.new @condition = ConditionVariable.new @lock.synchronize do @condition.wait(@lock) end end def orig_wait lock = Mutex.new condition = ConditionVariable.new lock.synchronize { condition.wait(lock) } end end {code} When I call Latch.new.orig_wait all is ok, but for Latch.new.wait raises error. It's strange because I wrote test for latch and they were passing on ruby 1.9.2 before I published the changeset. So I keep looking for the issue ] |
Sergey Avseyev
made changes -
| Status | In Progress [ 3 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
Sergey Avseyev
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |