Unless the fix for serialization that I sent as a diff get rolled in,
serializing any Ruby object will attempt to serialize the entire
runtime, including things that can't be serialized. Like threads,
dynamic methods, etc.
On Jul 24, 2007, at 12:20 PM, Kyle Maxwell (JIRA) wrote:
DRb hangs when transferring Ruby objects created in Java
--------------------------------------------------------
Key: JRUBY-1235
URL: http://jira.codehaus.org/browse/JRUBY-1235
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.0.0
Environment: Mac OS X Tiger
Reporter: Kyle Maxwell
Priority: Minor
If I use a Java class to create Ruby objects, they cannot be sent
over DRb. i.e:
package com.kylemaxwell.development;
import org.jruby.*;
import java.util.*;
public class Fu
{
public static RubyHash rubyHashPlease()
{
Ruby jruby = Ruby.getDefaultInstance();
HashMap map = new HashMap();
map.put(
RubyString.newUnicodeString(jruby, "foo"),
RubyString.newUnicodeString(jruby, "bar")
);
return new RubyHash(jruby, map, new RubyNil(jruby));
}
}
# jirb
require "java"
=> true
Fu = com.kylemaxwell.development.Fu
=> Java::ComKylemaxwellDevelopment::Fu
Fu.ruby_hash_please
=> {"foo"=>"bar"}
Fu.ruby_hash_please
=> {"foo"=>"bar"}
Marshal::dump _
=> "\004\010{\006\"\010foo\"\010bar"
Marshal::load _
=> {"foo"=>"bar"}
require 'drb'
=> true
DRb.start_service nil, Fu
=> #<DRb::DRbServer:0x9...
DRb.uri
=> "druby://kyle.wan:59476"
# other window...
require 'drb'
=> true
DRb.start_service
=> #<DRb::DRbServer:0x679f...
Fu = DRbObject.new nil, "druby://kyle.wan:59476"
=> #<DRb::DRbObject:0x65bd14 @ref=nil, @uri="druby://kyle.wan:59476">
Fu.ruby_hash_please
# Hangs....
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/
software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email