Project

General

Profile

Actions

Bug #12702

closed

DRb client fails when calling out-of-process remote method with a block

Added by djellemah (John Anderson) about 8 years ago. Updated about 5 years ago.

Status:
Rejected
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-08-24 trunk 55999) [x86_64-linux]
[ruby-core:77038]

Description

See attached code for test case.

applies to ruby-2.3.1 and ruby-2.4.0dev (2016-08-24 trunk 55999)

The problem starts in DRbObject#method_missing where
the code following DRb.here? is used for the in-process case which works.

But the code in the block for

succ, result = self.class.with_friend(@uri (Uri Gorelik)) do

is used for the out-of-process case. Here, DrbMessage#send_request fails
because b is a Proc, and in DrbMessage#dump the call to make_proxy fails
because DRbObject.new(b) fails.


Files

drb_block_error.rb (1.46 KB) drb_block_error.rb code to reproduce the problem djellemah (John Anderson), 08/24/2016 11:45 AM
Actions

Also available in: Atom PDF

Like0
Like0