FWIW, the code in `monitor` that it's stuck on is this:

``` ruby
  #
  # Enters exclusive section.
  #
  def mon_enter
    if @mon_owner != Thread.current
      @mon_mutex.lock
      @mon_owner = Thread.current
    end
    @mon_count += 1
  end
```

It's on the `@mon_mutex.lock` line that it's stuck.