Package: classpath

GNU Classpath fails to deserialize the attached FastTreeMap.fullCollection.version1.obj - see attached test case

With Sable, I get -


fis% jikes-sablevm TestReadExternalFormFromDisk.javafis% java -classpath .:/usr/share/java/commons-collections.jar TestReadExternalFormFromDisk
java.io.IOException: Unknown marker on stream: 5
   at java.io.ObjectInputStream.readObject (ObjectInputStream.java:391)
   at java.io.ObjectInputStream.readFields (ObjectInputStream.java:1815)
   at java.io.ObjectInputStream.readObject (ObjectInputStream.java:339)
at TestReadExternalFormFromDisk.main (TestReadExternalFormFromDisk.java:12)
   at java.lang.VirtualMachine.invokeMain (VirtualMachine.java)
   at java.lang.VirtualMachine.main (VirtualMachine.java:108)
fis%


With Kaffe, I get -


fis% jikes-kaffe TestReadExternalFormFromDisk.java
fis% /usr/lib/kaffe/bin/java -classpath .:/usr/share/java/commons-collections.jar TestReadExternalFormFromDisk java.io.InvalidClassException: class org.apache.commons.collections.FastTreeMap: Local class not compatible: stream serialVersionUID=8694543788950117671, local serialVersionUID=3247026550555952763
   at java.io.ObjectStreamClass.setClass (ObjectStreamClass.java:303)
at java.io.ObjectInputStream.readClassDescriptor (ObjectInputStream.java:562)
   at java.io.ObjectInputStream.readObject (ObjectInputStream.java:228)
   at java.io.ObjectInputStream.readObject (ObjectInputStream.java:275)
at TestReadExternalFormFromDisk.main (TestReadExternalFormFromDisk.java:12)
fis%


This may instead be a bug in Jakarta Commons Collections - to which FastTreeMap.fullCollection.version1.obj belongs - but I assume the Collections authors succeed in deserializing using Sun's libraries

This bug prevents the Jakarta Commons Collections build tests from succeeding

Thanks always for maintaining free Java in Debian!

Jack

Attachment: FastTreeMap.fullCollection.version1.obj
Description: Binary data

import java.io.*;

// FastTreeMap.fullCollection.version1.obj deserialization test case
// It seems GNU Classpath fails to deserialize this file : P
public class TestReadExternalFormFromDisk {

  public static void main(String[] args) throws ClassNotFoundException,
         IOException {
    ObjectInputStream stream = new ObjectInputStream(new FileInputStream(
        "FastTreeMap.fullCollection.version1.obj"));

    Object object = stream.readObject();
  }
}

Reply via email to