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

