Issue #5618 has been reported by Lars Christensen. ---------------------------------------- Bug #5618: Exceptions cause DRb connection to be closed http://redmine.ruby-lang.org/issues/5618 Author: Lars Christensen Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p0 (2011-10-30) [i386-mingw32] If an exception is thrown in a DRb server of a class that is not defined in the client process, the DRb connection is closed abrubtly. In Ruby 1.8, the exception was translated to an instance generic exception class (DRb::DRbRemoteError). Steps to reproduce: 1. Start DRb client+server 2. Throw exception of custom class in server (class not defined in client script). Observed behaviour: 3. Client raises DRb::DRbConnError because connection is closed - used to be generic error. Expected behaviour: 3. Client raises DRb::DRbRemoteError, and preserves full stack trace from server. Attached is server/client script showing the problem. Here is the stack trace of the client: C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:570:in `load': connection closed (DRb::DRbConnError) from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:632:in `recv_reply' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:918:in `recv_reply' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1197:in `send_message' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1088:in `block (2 levels) in method_missing' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1172:in `open' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend' from C:/lang/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing' from drbclient.rb:3:in `<main>' -- http://redmine.ruby-lang.org