From: "NAKAMURA, Hiroshi" Date: 2008-11-18T17:04:47+09:00 Subject: [ruby-dev:37110] NME at /usr/lib/ruby/1.8/drb/drb.rb:1204 - undefined method `alive?' for nil:NilClass 都合により少し古いRubyのDRbを使っているのですが、とある環境で、以下の例 外が出ました。再現手順は確立できていません。 Exception `NoMethodError' at /usr/lib/ruby/1.8/drb/drb.rb:1204 - undefined method `alive?' for nil:NilClass # DRbConn#alive?です。 DRbConn.openのensureで、connが非nilでsuccがfalseだと、closedなDRbConnが poolに残る、という状況がありそうです。というわけでこんな感じ? --- drb.rb 2006-07-10 10:57:18.000000000 +0900 +++ /home/nahi/drb.rb 2008-11-14 15:41:31.000000000 +0900 @@ -1202,4 +1202,5 @@ module DRb def alive? # :nodoc: + return false unless @protocol @protocol.alive? end