Lorenz Witte writes: > I have a problem sending strings over RMI. I run a client that passes > over a string via RMI to a server. The server does nothing except > returning the same string. It works fine if the server is run on a Sun > VM. Using JamVM (or Kaffe) with GNU Classpath leads to exceptions on the > client side if the strings are longer than 65535 (ASCII) characters. The > following exception is caused: > > Client exception: java.rmi.MarshalException: error marshalling > arguments; nested exception is: > java.net.SocketException: Broken pipe > java.rmi.MarshalException: error marshalling arguments; nested exception is: > java.net.SocketException: Broken pipe > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129) > at com.actia.rmi.strings.RMIServerImpl_Stub.InOut(Unknown Source) > at com.actia.rmi.strings.Client.TransmitString(Client.java:45) > at com.actia.rmi.strings.Client.main(Client.java:104) > Caused by: java.net.SocketException: Broken pipe > at java.net.SocketOutputStream.socketWrite0(Native Method) > at > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) > at java.net.SocketOutputStream.write(SocketOutputStream.java:136) > at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106) > at > java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1639) > at > java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(ObjectOutputStream.java:1677) > at > java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1354) > at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:281) > at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265) You don't appear to be using GNU Classpath's RMI implementation: this should be gnu.java.rmi.server.UnicastRef. Are you sure you haven't got someone else's library on your classpath? Andrew.