Just glancing at the stack trace there a few things that I would look for. You are using EC in threads? This is usually hard to get right as you need to have the EC lock before you fire any faults and you don't want to create deadlocks between threads. How many thread to you have that access the DB? Could you have one DB connexion per thread? In this case I would create one EOF stack per thread and lock the stack when processing starts and unlock it at the end, this is by far the easiest model. Do you transfer EO from one thread to the other?

Pierre
--
Pierre Frisch
[email protected]


On May 7, 2009, at 9:47, David Avendasora wrote:

Hi Pierre!

Glad to see you active on the lists again!

See my responses below:

On May 7, 2009, at 12:39 PM, Mr. Pierre Frisch wrote:

Dave,

Which version of WO?

WO 5.3.3

DO you use shared editing context?

No.

Is there any chance that the Editing Context is not locked when the faults fires?

Yes. After 5 years of doing WO (mostly D2JC), this is one of the first places I've started using ECs other than the default EC, so I'm sure I'm abusing it. I'm just not sure where to look to fix it.

Pierre
--
Pierre Frisch
[email protected]


On May 5, 2009, at 13:52, David Avendasora wrote:

I've been getting this error seemingly randomly. I can't reproduce it locally, it just happens a couple times a day and the stack trace shows up in my inbox.

I'm assuming that I must be somehow creating an object in one EC and then trying to use it in another, but I can't seem to find it. Is there anything else that can cause this error?

Thanks,

Dave


Job DEFAULT.Sync Lot Codes threw an unhandled Exception:
java.lang.IllegalStateException: initializeObject: No snapshot for gid _EOIntegralKeyGlobalID[ManufacturedPart (java.lang.Long)206866] at com .webobjects .eoaccess .EODatabaseContext.initializeObject(EODatabaseContext.java:3731) at com .webobjects .eocontrol .EOObjectStoreCoordinator .initializeObject(EOObjectStoreCoordinator.java:646) at com .webobjects .eocontrol.EOEditingContext.initializeObject(EOEditingContext.java: 3805)
        at er.extensions.eof.ERXEC.initializeObject(ERXEC.java:1047)
at com .webobjects .eoaccess.EODatabaseContext._fireFault(EODatabaseContext.java:4301) at com .webobjects .eoaccess .EOAccessFaultHandler .completeInitializationOfObject(EOAccessFaultHandler.java:85) at com .webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java: 1189) at com.webobjects.eocontrol._EOMutableKnownKeyDictionary $Initializer $ _GenericRecordBinding .valueInObject(_EOMutableKnownKeyDictionary.java:519) at com .webobjects .eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java: 1736) at com .bestmaid .bakeryManagement .server.lotCodeTracking._LotCode.lotCodeValue(_LotCode.java:96)
        at sun.reflect.GeneratedMethodAccessor372.invoke(Unknown Source)
at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com .webobjects .eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1559) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $ DefaultImplementation .valueForKeyPath(NSKeyValueCodingAdditions.java:212) at com .webobjects .eocontrol.EOCustomObject.valueForKeyPath(EOCustomObject.java:1675) at com.webobjects.foundation.NSKeyValueCodingAdditions $Utility.valueForKeyPath(NSKeyValueCodingAdditions.java:149) at com .webobjects .eocontrol .EOKeyValueQualifier.evaluateWithObject(EOKeyValueQualifier.java: 131) at com .webobjects .eocontrol.EOAndQualifier.evaluateWithObject(EOAndQualifier.java:96) at com .webobjects .eocontrol.EOQualifier.filteredArrayWithQualifier(EOQualifier.java: 635) at com .bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 618) at com .bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 588) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransactionLotCode .synchronize(ExternalInventoryTransactionLotCode.java:136) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransaction .synchronize(ExternalInventoryTransaction.java:91) at com .bestmaid .bakeryManagement .scheduledjobs .jobs.SynchronizeLotCodes.execute(SynchronizeLotCodes.java:31)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool $WorkerThread.run(SimpleThreadPool.java:525)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com

This email sent to [email protected]



Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to