Chemr / DRb コネクションスレッドでの GC 時におちる
外部から DRb で Chemr にアクセスしてそのうえそのスレッドで GC が発生すると落ちるんだけどどうしたらいいかサッパリわからんよ><
巨大なインデックスもってる chm をひらいて Amalgam 側から Chemr インデックスひこうとすると Chemr が落ちる。でかいインデックスもってるのを Amalgam からひかないようにすれば一応大丈夫だけど、たくさん開いてるとタイミング悪く GC がきたりするし……
該当メソッドだけ GC 禁止してもメソッドから抜けた DRb 内で GC 発生すると死ぬし、アドホックな解決はできなそう。
EXC_BAD_ACCESS (0x0001) KERN_INVALID_ADDRESS (0x0001) at 0xc009aae4 Thread 0 Crashed: 0 _NSAddExceptionHandlerForLock + 261 1 _NSAppKitLock + 59 2 -[NSEvent dealloc] + 122 3 0x27000 + 6206 4 obj_free + 986 5 gc_sweep + 453 6 garbage_collect + 503 7 rb_gc + 11 8 rb_gc_start + 11 9 call_cfunc + 283
開放されちゃだめなのか開放されてるのかなぁ。