Replication Error in db4o client/server sync

267 Views Asked by At

I've got a strange error appearing in 7.12, and 8.0. I'm trying to replicate one object bi-directionally. They're both db4o databases, the client connects via embedded to the local database, and connects to a db4o server to begin replication.

System is Mac OS X 10.7.3, Java -version:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)

The error on the server is:

objc[7665]: Object 0x7ff03c0020e0 of class __NSArrayM autoreleased with no pool in place
- just leaking - break on objc_autoreleaseNoPool() to debug

and the error on the client is:

java.lang.NullPointerException
at com.db4o.internal.handlers.array.MultidimensionalArrayIterator.moveNext(MultidimensionalArrayIterator.java:47)
at com.db4o.internal.handlers.array.MultidimensionalArrayHandler.writeElements(MultidimensionalArrayHandler.java:99)
at com.db4o.internal.handlers.array.ArrayHandler.write(ArrayHandler.java:407)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:272)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:260)
at com.db4o.internal.handlers.array.ArrayHandler.writeElements(ArrayHandler.java:422)
at com.db4o.internal.handlers.array.ArrayHandler.write(ArrayHandler.java:407)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:272)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.marshall.MarshallingContext.writeObject(MarshallingContext.java:252)
at com.db4o.internal.marshall.MarshallingContext.writeObjectWithCurrentState(MarshallingContext.java:266)
at com.db4o.internal.FieldMetadata.marshall(FieldMetadata.java:775)
at com.db4o.internal.handlers.StandardReferenceTypeHandler$4.processAspect(StandardReferenceTypeHandler.java:155)
at com.db4o.internal.metadata.MarshallingInfoTraverseAspectCommand.processAspect(MarshallingInfoTraverseAspectCommand.java:52)
at com.db4o.internal.metadata.StandardAspectTraversalStrategy.traverseAllAspects(StandardAspectTraversalStrategy.java:24)
at com.db4o.internal.ClassMetadata.traverseAllAspects(ClassMetadata.java:2089)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.traverseAllAspects(StandardReferenceTypeHandler.java:258)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.marshallAspects(StandardReferenceTypeHandler.java:163)
at com.db4o.internal.handlers.StandardReferenceTypeHandler.write(StandardReferenceTypeHandler.java:123)
at com.db4o.internal.Handlers4.write(Handlers4.java:309)
at com.db4o.internal.ObjectReference.continueSet(ObjectReference.java:171)
at com.db4o.internal.ObjectContainerBase.stillToSet(ObjectContainerBase.java:1900)
at com.db4o.internal.ObjectContainerBase.store3(ObjectContainerBase.java:1721)
at com.db4o.internal.ObjectContainerBase.store2(ObjectContainerBase.java:1650)
at com.db4o.internal.ObjectContainerBase.storeAfterReplication(ObjectContainerBase.java:1632)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1618)
at com.db4o.internal.ObjectContainerBase$10.apply(ObjectContainerBase.java:1616)
at com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:437)
at com.db4o.internal.ObjectContainerBase.asTopLevelStore(ObjectContainerBase.java:423)
at com.db4o.internal.ObjectContainerBase.storeInternal(ObjectContainerBase.java:1616)
at com.db4o.internal.TransportObjectContainer.storeInternal(TransportObjectContainer.java:191)
at com.db4o.internal.ObjectContainerBase.store(ObjectContainerBase.java:1598)
at com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:154)
at com.db4o.internal.ExternalObjectContainer.store(ExternalObjectContainer.java:141)
at com.db4o.internal.Serializer.marshall(Serializer.java:26)
at com.db4o.internal.query.processor.QConEvaluation.marshallUsingDb4oFormat(QConEvaluation.java:56)
at com.db4o.internal.query.processor.QConEvaluation.marshall(QConEvaluation.java:45)
at com.db4o.internal.query.processor.QCon.marshall(QCon.java:531)
at com.db4o.internal.query.processor.QConObject.marshall(QConObject.java:262)
at com.db4o.internal.query.processor.QConClass.marshall(QConClass.java:108)
at com.db4o.internal.query.processor.QQueryBase.marshall(QQueryBase.java:766)
at com.db4o.cs.internal.ClientObjectContainer.executeQuery(ClientObjectContainer.java:972)
at com.db4o.internal.query.processor.QQueryBase.executeQuery(QQueryBase.java:476)
at com.db4o.internal.query.processor.QQueryBase.getQueryResult(QQueryBase.java:471)
at com.db4o.internal.query.processor.QQueryBase$3.run(QQueryBase.java:340)
at com.db4o.internal.query.processor.QQueryBase$3.run(QQueryBase.java:339)
at com.db4o.internal.query.processor.QQueryBase.triggeringQueryEvents(QQueryBase.java:574)
at com.db4o.internal.query.processor.QQueryBase.execute(QQueryBase.java:339)
at com.db4o.internal.query.NativeQueryHandler.execute(NativeQueryHandler.java:44)
at com.db4o.internal.ObjectContainerBase.query(ObjectContainerBase.java:1375)
at com.db4o.internal.ExternalObjectContainer.query(ExternalObjectContainer.java:120)
at com.db4o.internal.ExternalObjectContainer.query(ExternalObjectContainer.java:116)
at au.com.kingdomsolutions.tt.Views.MainWindow$6.widgetSelected(MainWindow.java:247)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at au.com.kingdomsolutions.tt.Views.MainWindow.open(MainWindow.java:86)
at au.com.kingdomsolutions.tt.TeamTasks.main(TeamTasks.java:105)
Closing database connection.
[db4o 7.12.250.16103   2012-05-15 07:44:47] 
'/Users/dmuse/.tt/tt.db4o' closed by ShutdownHook.

I've been trying to get it working for a few days now, but haven't gotten very far.

The exception seems to relate to an array, however, I'm not using anything like an array in my object. This could be an internal db4o structure however.

Anyway, all help appreciated!

Cheers

1

There are 1 best solutions below

1
On BEST ANSWER

Hmm, I don't see any replication stack-frame in the second stack trace, only a native query.

The message "objc[7665]: Object 0x7ff03c0020e0 of class __NSArrayM autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug"

looks very suspicious to me. Like db4o is trying to store or serialize a UI object with MacOS internal stuff. I doubt that regular Java object use any __NSArray and reference counting.

So my guess from this is that you're running a native query against the server. That query couldn't be translated to SODA. In that case db4o tries to serialise the query-object and send that to the server. The query is probably an inner class and references it's outer context, which contains GUI objects. And that then causes this issue.

My recommendation: Only use SODA query for queries against the server. Native queries have to many issues in Client-Server mode. Change the query to SODA query which causes this issue and see if it solves the issue.