Prepared by: | never on Tue Mar 6 10:16:09 PST 2012 |
---|---|
Workspace: | /net/smite.us.oracle.com/export/ws/ucrypt |
Compare against: | ssh://hg.openjdk.java.net/hsx/hotspot-comp-gate/hotspot |
Summary of changes: | 33 lines changed: 28 ins; 4 del; 1 mod; 7748 unchg |
Patch of changes: | 7150390.patch |
Author comments: |
7150390: JFR test crashed on assert(_jni_lock_count == count) failed: must be equal Reviewed-by: Threads which have been suspended weren't being visited by the logic for maintaining the shared JNI critical count, resuling in incorrect values. It's a very rare problem that could only occur as a result of JVMTI suspending a thread in the middle of a JNI critical operation which should in general be rare. It showed up in the nightlies with regularity but I was unable to reproduce the original problem. Adding the new visited flag identified the issue immediately. Tested with tests from nightlies and the nsk JVMTI related tests. |
Bug id: | 7150390 JFR test crashed on assert(_jni_lock_count == count) failed: must be equal |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/safepoint.cpp
20 lines changed: 15 ins; 4 del; 1 mod; 1353 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/thread.hpp
9 lines changed: 9 ins; 0 del; 0 mod; 1911 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/thread.cpp
4 lines changed: 4 ins; 0 del; 0 mod; 4484 unchg
This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never-dev).