RFR (M) #5 CR 8003985: Support @Contended annotation
Aleksey Shipilev
aleksey.shipilev at oracle.com
Tue Jan 15 11:27:52 PST 2013
And so I built the fresh trunk of hotspot-rt.
The path Staffan mentions appears to be some specific launcher, and I
don't have that as the part of my regular build with new build system.
Hence I assumed running jstack from the built JDK would render the same
effect, since it goes through the same deadlock detection code?
Suspecting this has something to do with cross-version JDK, picked
another victim:
$ java -version
java version "1.7.0_12-ea"
Java(TM) SE Runtime Environment (build 1.7.0_12-ea-b04)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b26, mixed mode)
...and:
hotspot-rt-HEAD jstack'ing jdk7u12: OK
hotspot-rt-HEAD jstack'ing hotspot-rt-HEAD: OK
jdk7u12 jstack'ing jdk7u12: OK
jdk7u12 jstack'ing hotspot-rt-HEAD: OK
...hence everything seems to be fine. Staffan, can you clean your build
and make the test again? Or, can you publish more thorough steps to
reproduce?
-Aleksey.
On 01/15/2013 10:52 PM, Aleksey Shipilev wrote:
> Sorry to hear it. Looking.
> Is this a part of regular test suite (which I had missed to run)?
>
> -Aleksey.
>
> On 01/15/2013 10:43 PM, Staffan Larsen wrote:
>> This change seems to have broken deadlock detection in SA. Here is the exception that I get:
>>
>> java.lang.RuntimeException: should not reach here
>> at sun.jvm.hotspot.oops.InstanceKlass.getFieldOffset(InstanceKlass.java:327)
>>
>> I haven't yet dug into the details. To reproduce, start any Java program, then run:
>>
>>> sudo build/linux/linux_amd64_compiler2/jvmg/hotspot -cp build/linux/linux_amd64_compiler2/generated/sa-jdi.jar sun.jvm.hotspot.tools.JStack <pid of the program>
>>
>> Using java runtime at: /home/staffan/java/8latest/jre
>> Attaching to process ID 28487, please wait...
>> Debugger attached successfully.
>> Server compiler detected.
>> JVM version is 25.0-b15-internal-jvmg
>> Deadlock Detection:
>>
>> java.lang.RuntimeException: should not reach here
>> at sun.jvm.hotspot.oops.InstanceKlass.getFieldOffset(InstanceKlass.java:327)
>> at sun.jvm.hotspot.oops.Field.<init>(Field.java:47)
>> at sun.jvm.hotspot.oops.OopField.<init>(OopField.java:42)
>> at sun.jvm.hotspot.oops.InstanceKlass.newField(InstanceKlass.java:915)
>> at sun.jvm.hotspot.oops.InstanceKlass.findLocalField(InstanceKlass.java:628)
>> at sun.jvm.hotspot.oops.InstanceKlass.findField(InstanceKlass.java:665)
>> at sun.jvm.hotspot.oops.InstanceKlass.findField(InstanceKlass.java:689)
>> at sun.jvm.hotspot.oops.OopUtilities.initThreadFields(OopUtilities.java:220)
>> at sun.jvm.hotspot.oops.OopUtilities.threadOopGetParkBlocker(OopUtilities.java:292)
>> at sun.jvm.hotspot.runtime.JavaThread.getCurrentParkBlocker(JavaThread.java:385)
>> at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:82)
>> at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:39)
>> at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:52)
>> at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
>> at sun.jvm.hotspot.tools.JStack.run(JStack.java:60)
>> at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
>> at sun.jvm.hotspot.tools.JStack.main(JStack.java:86)
>> Can't print deadlocks:should not reach here
>
More information about the hotspot-dev
mailing list