Today, we at the CDL ran across a bug that we had seen a long time ago, dealing with records getting corrupt in the 'attributes' table, and causing errors in publish or search that in turn cause interaction w/ the database to hang. Usually the user can navigate out and do anything with pre-cached objects, but anything that has to reference the media that has corrupted data causes the app to hang. Logging stops after the initial exception, and the JVM must be restarted to clear the error condition. Also, javamonitor cannot kill the instance w/o a force kill, as the communications on the port gets jammed. The error condition recurs for the same asset until the Attributes table is purged of all data about the offending asset.
I have added this bug to the bug tracker (bugs.pachyforge.org)
The following is an example of the exception that is found:
PXAudioVideoPassthroughTransformer returning reference to object
java.lang.IllegalArgumentException: removeObjectToPropertyWithKey: the key attributes is not a Array or one of its subclasses - unable to remove the value.
at com.
WebObjects.eocontrol.EOCustomObject.excludeObjectFromPropertyWithKey(EOCustomObject.java:987)
at com.webobjects.eocontrol.EOCustomObject.removeObjectFromPropertyWithKey(EOCustomObject.java:1013)
at com.webobjects.eocontrol.EOClassDescription.propagateDeleteForObject(EOClassDescription.java:478)
at com.webobjects.eocontrol.EOCustomObject.propagateDeleteWithEditingContext(EOCustomObject.java:688)
at com.webobjects.eocontrol.EOEditingContext.propagateDeletesUsingTable(EOEditingContext.java:2231)
at com.webobjects.eocontrol.EOEditingContext._processDeletedObjects(EOEditingContext.java:2193)
at com.webobjects.eocontrol.EOEditingContext._processRecentChanges(EOEditingContext.java:1744)
at com.webobjects.eocontrol.EOEditingContext._prepareForPushChanges(EOEditingContext.java:3257)
at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3213)
at ca.ucalgary.apollo.data.CXDatabaseManagedObjectStore.setValueForAttributeInObject(CXDatabaseManagedObjectStore.java:96)
at ca.ucalgary.apollo.data.CXManagedObject.setStoredValueForAttribute(CXManagedObject.java:154)
at ca.ucalgary.apollo.data.CXURLObject.setStoredValueForAttribute(CXURLObject.java:91)
at ca.ucalgary.apollo.data.CXManagedObject.setValueForAttribute(CXManagedObject.java:147)
at org.
NMC.pachyderm.foundation.PXAssetTransformation.objectRelatedToObjectSatisfyingContext(PXAssetTransformation.java:158)
at org.nmc.pachyderm.foundation.PXAssetTransformation.objectRelatedToObjectSatisfyingContext(PXAssetTransformation.java:67)
at org.nmc.pachyderm.foundation.PXCompileResources.executeInContext(PXCompileResources.java:99)
at org.nmc.pachyderm.foundation.PXBuildPhase._executeInContext(PXBuildPhase.java:96)
at org.nmc.pachyderm.foundation.PXLocalThreadAgent$Worker.run(PXLocalThreadAgent.java:73)