openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Sutter (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-98) Java deadlock when insert in t1 and find in t2 when using IBM JVM 1.5.0
Date Wed, 10 Jan 2007 22:10:27 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-98?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463732
] 

Kevin Sutter commented on OPENJPA-98:
-------------------------------------

Yes, I already did that printf thing.  It varies on exactly which class is "caught", but,
of course, it always starts with java.*, or javax.*, or sun.* (since that's the conditional).

As far as the rest of the call stack...  I attached the javacore to this Issue so you can
look at the whole thing.  But, the complete finalizer thread is as follows:

3XMTHREADINFO      "Finalizer thread" (TID:0x41ED5F00, sys_thread_t:0x42299718, state:B, native
ID:0x0000165C) prio=5
4XESTACKTRACE          at java/lang/ClassLoader.loadClass(ClassLoader.java:563(Compiled Code))
4XESTACKTRACE          at java/lang/Class.forNameImpl(Native Method)
4XESTACKTRACE          at java/lang/Class.forName(Class.java:160(Compiled Code))
4XESTACKTRACE          at org/apache/openjpa/lib/util/TemporaryClassLoader.loadClass(TemporaryClassLoader.java:56(Compiled
Code))
4XESTACKTRACE          at org/apache/openjpa/lib/util/TemporaryClassLoader.loadClass(TemporaryClassLoader.java:40(Compiled
Code))
4XESTACKTRACE          at java/lang/Class.forNameImpl(Native Method)
4XESTACKTRACE          at java/lang/Class.forName(Class.java:160(Compiled Code))
4XESTACKTRACE          at org/apache/openjpa/enhance/PCClassFileTransformer.needsEnhance(PCClassFileTransformer.java:171(Compiled
Code))
4XESTACKTRACE          at org/apache/openjpa/enhance/PCClassFileTransformer.transform(PCClassFileTransformer.java:117(Compiled
Code))
4XESTACKTRACE          at sun/instrument/TransformerManager.transform(TransformerManager.java:141(Compiled
Code))
4XESTACKTRACE          at sun/instrument/InstrumentationImpl.transform(InstrumentationImpl.java:174(Compiled
Code))
4XESTACKTRACE          at com/ibm/oti/vm/VM.findClassOrNull(Native Method)
4XESTACKTRACE          at com/ibm/oti/vm/BootstrapClassLoader.loadClass(BootstrapClassLoader.java:64(Compiled
Code))
4XESTACKTRACE          at java/lang/ref/ReferenceQueue.enqueue(ReferenceQueue.java:125)
4XESTACKTRACE          at java/lang/ref/Reference.enqueueImpl(Reference.java:93)


> Java deadlock when insert in t1 and find in t2 when using IBM JVM 1.5.0
> -----------------------------------------------------------------------
>
>                 Key: OPENJPA-98
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-98
>             Project: OpenJPA
>          Issue Type: Bug
>         Environment: OpenJPA:
> 0.9.6
> Java:
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build pwi32dev-20061002a (SR3)
> )
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-2006100
> 1 (JIT enabled)
> J9VM - 20060915_08260_lHdSMR
> JIT  - 20060908_1811_r8
> GC   - 20060906_AA)
> JCL  - 20061002
> DB:
> Derby 10.2.1.6
>            Reporter: Vlad Tatavu
>         Assigned To: Kevin Sutter
>         Attachments: console.txt, javacore.20070109.114312.3868.zip, play.zip
>
>
> 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).  I'm using OpenJPA runtime enhancement.
> 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/Object@00D41010/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/Launcher$AppClassLoader@00D4E5B0/00D4E5BC: 
> 3LKDEADLOCKOWN    which is owned by:
> 2LKDEADLOCKTHR  Thread "main" (0x0015EC00)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message