Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 328308

Summary: Deadlock between DatabaseValueHolder.getValue() and ConcurrencyManager.acquire()
Product: z_Archived Reporter: Bob Cotton <bob.cotton>
Component: EclipselinkAssignee: Project Inbox <eclipselink.orm-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: critical    
Priority: P3 CC: michael.f.obrien, tom.ware
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Thread Dumps none

Description Bob Cotton CLA 2010-10-20 21:45:27 EDT
Created attachment 181352 [details]
Thread Dumps

[EL Info]: 2010-10-19 13:31:22.326--ServerSession(1139598886)--EclipseLink, version: Eclipse Persistence Services - 2.1.2.v20100904-r8147

In production, for 7 of the last 10 days, we've encountered stuck threads. In most cases the blocked threads hold a lock on a QueryBasedValueHolder. The stuck thread(s) look like this:


"301917118@qtp-1115192682-1128" prio=10 tid=0x00002aaad42aa000 nid=0x4d9e in Object.wait() [0x000000004b268000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000006cd7a7d08> (a org.eclipse.persistence.internal.helper.ConcurrencyManager)
        at java.lang.Object.wait(Object.java:485)
        at org.eclipse.persistence.internal.helper.ConcurrencyManager.acquire(ConcurrencyManager.java:93)
        - locked <0x00000006cd7a7d08> (a org.eclipse.persistence.internal.helper.ConcurrencyManager)
        at org.eclipse.persistence.internal.identitymaps.CacheKey.acquire(CacheKey.java:113)
        at org.eclipse.persistence.internal.identitymaps.AbstractIdentityMap.acquireLock(AbstractIdentityMap.java:107)
        at org.eclipse.persistence.internal.identitymaps.IdentityMapManager.acquireLock(IdentityMapManager.java:127)
        at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.acquireLock(IdentityMapAccessor.java:92)
        at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.acquireLock(IdentityMapAccessor.java:83)
        at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:699)


We were told that this problem was a manifestation of EL Bug 321473. So we deployed 2.1.2.v20100904-r8147, but it is still happening.
Comment 1 Bob Cotton CLA 2010-10-20 21:48:43 EDT
Also: Oracle Bug 10158824
Comment 2 Tom Ware CLA 2010-11-01 11:39:01 EDT
Closing as duplicate - same as Oracle bug listed below.

*** This bug has been marked as a duplicate of bug 321473 ***
Comment 3 Tom Ware CLA 2010-11-01 11:51:47 EDT
Note: this may also be related to bug 324459 - also fixed.

I have marked the duplicate on the basis of the Oracle bug you have listed.  Please feel free to add more information or to change the bug this is a duplicate of if what I have done is incorrect.
Comment 4 Eclipse Webmaster CLA 2022-06-09 10:10:54 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink