Code review request: 8002273 NMT to report JNI memory leaks when -Xcheck:jni is on (original) (raw)
David Holmes david.holmes at oracle.com
Thu Nov 8 20:06:19 PST 2012
- Previous message: Code review request: 8002273 NMT to report JNI memory leaks when -Xcheck:jni is on
- Next message: Code review request: 8002273 NMT to report JNI memory leaks when -Xcheck:jni is on
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Zhengyu,
On 9/11/2012 3:23 AM, Zhengyu Gu wrote:
This fix is related to JDK-8001743: Overlapped thread stacks. The cause of 8001743 is that, an attached JNI thread exited without detaching the thread, so JVM will leak a JavaThread object that attached to the JNI thread.
The patch allows NMT to report such case when -Xcheck:jni VM option is specified. http://cr.openjdk.java.net/~zgu/8002273/webrev.00/
I'm a little unclear who is doing the checking here. Is it the case that a regular thread while updating its NMT records, detects that there is an overlap with an existing region, and infers from that that the other region must belong to a thread that failed to detach?
This comment doesn't read clearly to me, and we don't generally include references to bug reports:
138 // an attached JNI thread can exit without detaching the thread, that results 139 // JVM to leak JavaThread object (JDK-8001743)
If my understanding of the check is correct then to me a clearer comment would be:
// Overlapping stack regions indicate that a JNI thread failed to // detach from the VM before exiting. This leaks the JavaThread object.
Cheers, David
Thanks,
-Zhengyu
- Previous message: Code review request: 8002273 NMT to report JNI memory leaks when -Xcheck:jni is on
- Next message: Code review request: 8002273 NMT to report JNI memory leaks when -Xcheck:jni is on
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]