• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Deadlock
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Deadlock


  • Subject: Deadlock
  • From: Timo Hoepfner <email@hidden>
  • Date: Thu, 22 Jul 2004 19:58:50 +0200

Hi,

I have a problem with a deadlock in my application. I'm doing some work on EOs in background threads. I'm quite sure everything is happening in separate ECs and I'm using Project Wonder's ERXEC with auto locking, so I hope the locking should be OK then.

Any idea what's going wrong here and what I can do against it? Any help would be greatly appreciated!

Here's part of a thread dump. Both the Finalizer Thread and one Worker Thread have acquired a lock on an NSRecursiveLock, and I have no clue how to avoid such a situation.



"WorkerThread8" prio=5 tid=0x005570e0 nid=0x1d26400 in Object.wait() [f1293000..f1295b20]
at java.lang.Object.wait(Native Method)
- waiting on <0x69caae0> (a com.webobjects.foundation.NSRecursiveLock)
at java.lang.Object.wait(Object.java:429)
at com.webobjects.foundation.NSRecursiveLock.lock(NSRecursiveLock.java:72)
- locked <0x69caae0> (a com.webobjects.foundation.NSRecursiveLock)
at com.webobjects.eoaccess.EODatabaseContext.lock(EODatabaseContext.java: 1974)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.addCooperatingObjectSt ore(EOObjectStoreCoordinator.java:130)
at com.webobjects.eoaccess.EODatabaseChannel.setCurrentEditingContext(EODat abaseChannel.java:167)
at com.webobjects.eoaccess.EODatabaseChannel._selectWithFetchSpecificationE ditingContext(EODatabaseChannel.java:789)
at com.webobjects.eoaccess.EODatabaseChannel.selectObjectsWithFetchSpecific ation(EODatabaseChannel.java:216)
at com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecification EditingContext(EODatabaseContext.java:3196)
at com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification( EODatabaseContext.java:3337)
at com.webobjects.eoaccess.EODatabaseContext._fireFault(EODatabaseContext.j ava:4357)
at com.webobjects.eoaccess.EOAccessFaultHandler.completeInitializationOfObj ect(EOAccessFaultHandler.java:85)
at com.webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java: 1189)
at com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_Gener icRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:519)
at com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject .java:1736)
at de.ddcom.storage.om._LogicalFile.state(_LogicalFile.java:65)
...


"Finalizer" daemon prio=8 tid=0x00506c60 nid=0x180da00 in Object.wait() [f0a03000..f0a04b20]
at java.lang.Object.wait(Native Method)
- waiting on <0x69caae0> (a com.webobjects.foundation.NSRecursiveLock)
at java.lang.Object.wait(Object.java:429)
at com.webobjects.foundation.NSRecursiveLock.lock(NSRecursiveLock.java:72)
- locked <0x69caae0> (a com.webobjects.foundation.NSRecursiveLock)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.lock(EOObjectStoreCoor dinator.java:466)
at com.webobjects.eocontrol.EOEditingContext.lockObjectStore(EOEditingConte xt.java:4675)
at com.webobjects.eocontrol.EOEditingContext._dispose(EOEditingContext.java :1047)
at com.webobjects.eocontrol.EOEditingContext.finalize(EOEditingContext.java :1113)
at er.extensions.ERXEC.finalize(ERXEC.java:280)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
...



Thanks for your help,

Timo
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.


  • Prev by Date: Displaying relationship attributes two levels deep
  • Next by Date: Re: FileUpload Problem?
  • Previous by thread: Displaying relationship attributes two levels deep
  • Next by thread: Design Question
  • Index(es):
    • Date
    • Thread