https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2013-04-12T10:55:56Z
Ruby Issue Tracking System
Ruby master - Bug #8203: Rinda: recycled object
https://bugs.ruby-lang.org/issues/8203?journal_id=38480
2013-04-12T10:55:56Z
nagachika (Tomoyuki Chikanaga)
nagachika00@gmail.com
<ul></ul><p>おそらくですが、DRb.here? が誤判定していてリモートのオブジェクト(TupleEntry)の参照をカレントプロセス(子プロセス)のオブジェクトと思って object_id から ObjectSpace._id2ref でオブジェクト参照にしようとしてエラーになっているのではないかと。<br>
DRb.here? の誤判定は一度親プロセスで DRb.start_service してから fork しているからかなって気がしますが、再現していないので確認できてないです。main thread の Thread#[] の変数の内容は fork しても引き継がれるようなのでこのせいかなぁ。</p>
Ruby master - Bug #8203: Rinda: recycled object
https://bugs.ruby-lang.org/issues/8203?journal_id=38481
2013-04-12T11:21:09Z
nagachika (Tomoyuki Chikanaga)
nagachika00@gmail.com
<ul></ul><p>再現しないと書きましたが、実は DRb.here? の誤判定は起きていて _id2ref でたまたま同じ object_id のオブジェクトがあったのでエラーにならず、また TupleSpace#write の戻り値を利用していないので問題が起きていないだけみたいでした。<br>
やっぱり DRb.current_server で Thread.current["DRb"]["server"] に親プロセスの DRbServer が入ってしまっているようです。</p>
Ruby master - Bug #8203: Rinda: recycled object
https://bugs.ruby-lang.org/issues/8203?journal_id=90737
2021-03-03T23:34:58Z
jeremyevans0 (Jeremy Evans)
merch-redmine@jeremyevans.net
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul>