2012-05-14 59 views
0

我有一個奇怪的錯誤出現在7.12和8.0中。我試圖雙向複製一個對象。它們都是db4o數據庫,客戶端通過嵌入式連接到本地數據庫,並連接到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結構。

無論如何,所有幫助表示感謝!

乾杯

回答

1

嗯,我看不出有任何複製堆棧幀在第二堆棧跟蹤,只有本機查詢。

消息「objc [7665]:在地方 沒有池自動釋放類__NSArrayM的對象0x7ff03c0020e0 - 只泄漏 - 在objc_autoreleaseNoPool打破()調試」

看起來很可疑我。就像db4o試圖用MacOS內部的東西來存儲或序列化UI對象一樣。我懷疑普通的Java對象使用任何__NSArray和引用計數。

所以我從這個猜測是,你正在對服務器運行本機查詢。該查詢無法翻譯爲SODA。在這種情況下,db4o會嘗試將查詢對象序列化並將其發送到服務器。該查詢可能是一個內部類,並引用它的外部上下文,其中包含GUI對象。這就導致了這個問題。

我的建議:只使用SODA查詢來查詢服務器。原生查詢在客戶端 - 服務器模式下有許多問題。將查詢更改爲導致此問題的SODA查詢,並查看它是否可以解決問題。

+0

謝謝!這可能是我想要基於屬性值進行復制的問題。另外,當問題發生時,我的服務器數據庫中會列出一大堆類,其中包括GUI類,這些可以用你提到的內容來解釋。我會看一看。謝謝。 –

+0

就是這樣,很好的工作。一切似乎都在起作用。 –

相關問題