Bug #7833
closedDRb has problems with BasicObject
Description
I realized some problems with DRb and BasicObject
-
I cannot create front object of BasicObject class because DRb tries to call private_methods class
-
Call to DRb can't return instance of BasicObject class, instead it hangs.
serv.rb:¶
require 'drb'
$drb_uri = 'druby://localhost:1111'
class Front
def func
BasicObject.new
end
end
DRb.start_service($drb_uri, Front.new)
DRb.thread.join
conn.rb:¶
require 'drb'
$drb_uri = 'druby://localhost:1111'
DRb.start_service
conn = DRbObject.new_with_uri($drb_uri)
p conn.func
When after a while (tens of seconds) I break the server, client shows me trace:
conn.rb
C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:570:inload': connection closed (DRb::DRbConnError) from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:632:in
recv_reply'
from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:918:inrecv_reply' from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1197:in
send_message'
from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1088:inblock (2 levels) in method_missing' from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1172:in
open'
from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1087:inblock in method_missing' from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1105:in
with_friend'
from C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1086:inmethod_missing' from D:/programming/iogen_tools/website/server/tmp/conn.rb:5:in
'
Files