Java db4o客户端/服务器同步中的复制错误

Java db4o客户端/服务器同步中的复制错误,java,exception,replication,sync,db4o,Java,Exception,Replication,Sync,Db4o,我在7.12和8.0中出现了一个奇怪的错误。我试图双向复制一个对象。它们都是db4o数据库,客户端通过嵌入式连接到本地数据库,并连接到db4o服务器以开始复制 系统为Mac OS X 10.7.3,Java-版本: 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

我在7.12和8.0中出现了一个奇怪的错误。我试图双向复制一个对象。它们都是db4o数据库,客户端通过嵌入式连接到本地数据库,并连接到db4o服务器以开始复制

系统为Mac OS X 10.7.3,Java-版本:

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)
服务器上的错误是:

objc[7665]: Object 0x7ff03c0020e0 of class __NSArrayM autoreleased with no pool in place
- just leaking - break on objc_autoreleaseNoPool() to debug
客户端上的错误是:

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.
我已经试着让它工作了几天了,但还没走多远

这个异常似乎与数组有关,但是,我在对象中没有使用类似数组的任何东西。但是,这可能是一个内部db4o结构

无论如何,感谢大家的帮助


干杯

嗯,我在第二个堆栈跟踪中没有看到任何复制堆栈帧,只有一个本机查询

消息“objc[7665]:对象0x7ff03c0020e0(类为_NSArrayM)在没有池的情况下自动删除 -只是泄漏-在objc_autoreleasenool()上中断以进行调试”

我看起来很可疑。像db4o一样,它试图用MacOS内部的东西存储或序列化UI对象。我怀疑常规Java对象是否使用任何数组和引用计数

因此,我猜测您正在对服务器运行本机查询。无法将该查询转换为。在这种情况下,db4o尝试序列化查询对象并将其发送到服务器。该查询可能是一个内部类,并引用它的外部上下文,其中包含GUI对象。这就导致了这个问题


我的建议是:对服务器的查询只使用SODA查询。在客户机-服务器模式下,本机查询必须解决许多问题。将查询更改为导致此问题的SODA查询,然后查看它是否解决了此问题。

谢谢!这可能是一个问题,因为我确实希望基于属性值进行复制。此外,当问题发生时,我的服务器数据库中列出了一大堆类,包括GUI类,这可以用您所提到的来解释。我来看看。谢谢