Issue #6272 has been reported by naruse (Yui NARUSE).
Bug #6272: Rinda sticks on some tests
Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: seki (Masatoshi Seki)
Category: lib
Target version:
ruby -v: ruby 2.0.0dev (2012-04-08 trunk 35259) [x86_64-freebsd9.0]
Rindaが例えば以下のようにすると刺さります。
while [ yes ];do;make test-all TESTS=‘-v -n test_ruby_talk_264062
rinda/test_rinda.rb’ RUBYOPT=-w;done
しばらく追ってみたところ、Rinda は Monitor#synchronize をすることで同期を守っているのですが、
そのテストでは時刻を Rinda::MockClock で扱い、その中で Rinda::MockClock::MyTS
を用いて時刻を配信しているのですが、
この TupleSpace は複数のスレッドから触られるため、同一のスレッドからなら何度入ってもロックしない
Monitor#synchronize でも、デッドロックしてしまうからっぽい気がします。