I am having problems with serialization in my program. Files that my program
writes on one computer don't read on certain other computers because the
following Exception is thrown:

java.io.InvalidClassException: graph.ViewNode$MySaveInfo; Local class not
compatible: stream classdesc serialVersionUID=-3515051859515377432 local
class serialVersionUID=7675627145717075

So, I have begun to experiment with the issue and discovered that the
serialver tool generates an exception for the following class:

class A implements java.io.Serializable{
    javax.vecmath.Point3d p;
}
D:\Orbiter>serialver A
Exception in thread "main" java.lang.LinkageError: duplicate class
definition: javax/vecmath/Point3d

But not for the following class:

class B implements java.io.Serializable{
    javax.vecmath.Vector3d p;
}

D:\Orbiter>serialver B
B:    static final long serialVersionUID = 7506157961854562889L;

This looks like a bug with Java3D to me. Is this a known bug?

Raffi

Here is the full stack trace of the Exception:

Exception in thread "main" java.lang.LinkageError: duplicate class
definition: javax/vecmath/Point3d
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        at java.lang.Class.getDeclaredFields0(Native Method)
        at java.lang.Class.privateGetDeclaredFields(Class.java:1494)
        at java.lang.Class.getField0(Class.java:1727)
        at java.lang.Class.getDeclaredField(Class.java:1189)
        at
java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1430)
        at java.io.ObjectStreamClass.access$400(ObjectStreamClass.java:45)
        at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:331)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:329)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:249)
        at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:142)
        at sun.tools.serialver.SerialVer.resolveClass(SerialVer.java:190)
        at sun.tools.serialver.SerialVer.serialSyntax(SerialVer.java:161)
        at sun.tools.serialver.SerialVer.main(SerialVer.java:270)

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to