Hi,
I've managed to reproduce the problem with a modification of one of the
Test examples. If you add the following line to Test56 around line 90
histogram_ref.getData().local();
and run 55 then 56 you'll see a related exception with the latest
visad.jar. It works with an older version. Did some class lose it's
Serializable implementation?
Thanks,
Doug
Doug Lindholm wrote:
Yes, indeed. The very same visad.jar, in fact, since my client and
server are running on the same machine in this case.
Thanks,
Doug
Tom Rink wrote:
Hi Doug,
Are the client and server both using the same version of visad.jar?
TomR
Doug Lindholm wrote:
Hi,
When I switched to the latest visad.jar file I started getting
exceptions like below. It works fine with an older version of
visad.jar. I have been careful to make sure the rmiregistry, server,
and client are all running with the same classpath. I have a
RemoteServerImpl (with RemoteDataReferenceImpls) bound to my server
but when I try to access the data from my client:
java.rmi.UnmarshalException: error unmarshalling return; nested
exception is:
java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: java.lang.Object
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
at visad.RemoteFieldImpl_Stub.local(Unknown Source)
at
edu.ucar.rap.vmet.VMETDisplayer.getSourceData(VMETDisplayer.java:700)
at
edu.ucar.rap.vmet.GriddedDisplayer.processData(GriddedDisplayer.java:135)
at
edu.ucar.rap.vmet.VMETDisplayer.updateData(VMETDisplayer.java:1229)
at
edu.ucar.rap.vmet.VMETDisplayer$UpdateCell.doAction(VMETDisplayer.java:1154)
at visad.ActionImpl.run(ActionImpl.java:353)
at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
Caused by: java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: java.lang.Object at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1268)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1830)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1756)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1636)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1593)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1261)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1830)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1756)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1636)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:297)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:146)
... 7 more
Caused by: java.io.NotSerializableException: java.lang.Object
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:271)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
Any ideas?
Thanks,
Doug
--
*----------------------------------------------------------------------*
| Doug Lindholm, Software Engineer | E-mail: lind@xxxxxxxx |
| Research Applications Program | Phone: 303-497-8374 |
| National Center for Atmospheric Research | |
| P.O. Box 3000 | There's no place |
| Boulder, Colorado 80307-3000 | like $HOME |
*----------------------------------------------------------------------*