I am using the JDBM project in my application. To enable it to deserialize
objects, I added DynamicImport-Package: * to its bundle headers.

This appeared to work for a month or two. However in a recent build (which
has undergone some restructuring) I've begun to get the following failure
to deserialize:

Message: java.lang.ArrayStoreException:
com.elsten.bliss.music.policy.coverartpolicy.assessment.CoverArtAlternativesPart$CoverArtAlternativesPartSerialisationProxy
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
jdbm.htree.HashBucket.readExternal(HashBucket.java:306)
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1809)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
jdbm.helper.Serialization.deserialize(Serialization.java:93)
jdbm.helper.DefaultSerializer.deserialize(DefaultSerializer.java:102)
jdbm.helper.DefaultSerializationHandler.deserialize(DefaultSerializationHandler.java:75)
jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:613)
jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:313)
jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:293)
jdbm.htree.HashDirectory.get(HashDirectory.java:197)
jdbm.htree.HashDirectory.get(HashDirectory.java:204)
jdbm.htree.HashDirectory.get(HashDirectory.java:204)
jdbm.htree.HashDirectory.get(HashDirectory.java:204)
jdbm.htree.HTree.get(HTree.java:142)

The class that is being loaded has not changed during the operation of the
application. Furthermore, the JDBM database is cleared before running, so
to my knowledge there's only
one CoverArtAlternativesPartSerialisationProxy.

I performed a Gogo 'which' which confirmed the class is loaded from the
expected bundle.

Any ideas on what is causing this or areas to investigate?

Dan

Reply via email to