I have a simple test program that uses OpenJPA 0.9.6 to insert an object 
into a db in one transaction (t1) and retrieve it in another transaction 
(t2).  The program hangs in 30-50% of the executions right before the call 
to entitymanager.find() (used to retrieve the object in t2).  By looking 
at the JVM dump, I can see the following deadlock:
1LKDEADLOCK    Deadlock detected !!!
NULL           ---------------------
NULL 
2LKDEADLOCKTHR  Thread "main" (0x0015EC00)
3LKDEADLOCKWTR    is waiting for:
4LKDEADLOCKMON      sys_mon_t:0x41E40548 infl_mon_t: 0x41E40588:
4LKDEADLOCKOBJ      java/lang/[EMAIL PROTECTED]/00D4101C: 
3LKDEADLOCKOWN    which is owned by:
2LKDEADLOCKTHR  Thread "Finalizer thread" (0x41B36200)
3LKDEADLOCKWTR    which is waiting for:
4LKDEADLOCKMON      sys_mon_t:0x0035CD38 infl_mon_t: 0x0035CD78:
4LKDEADLOCKOBJ      sun/misc/[EMAIL PROTECTED]/00D4E5BC: 
3LKDEADLOCKOWN    which is owned by:
2LKDEADLOCKTHR  Thread "main" (0x0015EC00)

I'm using IBM JVM 5 (J2RE 5.0 IBM J9 2.3 Windows XP x86-32 build 
j9vmwi3223-20061001) and OpenJPA Runtime Enhancement.

Is this a known issue?

I can provide the test program, persistence.xml, etc.

--
Best regards,
Vlad Tatavu
Provisioning & Orchestration Development, IBM Tivoli Toronto
[EMAIL PROTECTED]
Office (905) 413-3853

Reply via email to