Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-775

ThreadError - Mutex relocking by same thread

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.10.2
    • Affects Version/s: 1.10.0
    • Component/s: Connections, Replica Set
    • Labels:
      None
    • Environment:
      AWS Linux 3.10.37-47.135.amzn1.x86_64. jruby-1.7.12, JDK java-1.7.0-openjdk-1.7.0.55-2.4.7.1.40.amzn1.x86_64

      There appears to be a re-entrant mutex condition in the replica set connection pooling. Stack trace:

      https://gist.githubusercontent.com/cheald/5ed01172c5b2c9943c87/raw/63075158dac4c78c1775cac8bf84ba3b6537bc1e/gistfile1.txt

      The original lock occurs here: https://github.com/mongodb/mongo-ruby-driver/blob/1.x-stable/lib/mongo/connection/pool_manager.rb#L60

      and then the process of reconnecting ends up attempting to resynchronize the same lock here: https://github.com/mongodb/mongo-ruby-driver/blob/1.x-stable/lib/mongo/connection/pool_manager.rb#L150

            Assignee:
            emily.stolfo Emily Stolfo
            Reporter:
            cheald Chris Heald
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: