Dave Bergert - 2008-05-09

I wanted to share my experiences with a jdbm problem that ended up being related to a JAVA JRE bug.

We experienced this error when attempting to open a jdbm space using JRE 1.5.0_15 -- (The system was not shutdown probably I suspect that the jdbm file was either corrupted or needed checkpointing in the jdbm recovery() method)

    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1820)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
    at jdbm.recman.TransactionManager.recover(TransactionManager.java:223)
    at jdbm.recman.TransactionManager.<init>(TransactionManager.java:104)
    at jdbm.recman.RecordFile.<init>(RecordFile.java:99)
    at jdbm.recman.BaseRecordManager.<init>(BaseRecordManager.java:140)
    at jdbm.recman.Provider.createRecordManager(Provider.java:89)
    at jdbm.RecordManagerFactory.createRecordManager(RecordManagerFactory.java:118)

We discovered that this was an issue for versions 1.5.0_08 through of the Java JRE.
See this bug report: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6541870

When we used 1.5.0_07 or 1.6.0_06 - this error went away.

I spent a lot of time on this one :(  Hopefully this post is helpful