I've been using the NetBeans profiler to track down some leaks and I continuously see this VM crash:
---
...
[Full GC 4006K->2121K(5056K), 0.0924313 secs]
[Full GC 2130K->1981K(5056K), 0.0813916 secs]
[Full GC 1984K->1981K(5056K), 0.0747930 secs]
[Full GC# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=\markSweep.inline.hpp:37
#
# An unexpected error has been detected by Java Runtime Environment:
#
# Internal Error (C:\BUILD_AREA\jdk6_04\hotspot\src\share\vm\gc_implementation\shared\markSweep.inline.hpp:37), pid=2212, tid=3084
# Error: assert(new_pointer != 0 || obj->mark() == markOopDesc::prototype() || (UseBiasedLocking && obj->mark()->has_bias_pattern()) || obj->is_shared(),"should contain a forwarding pointer")
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_04-ea-fastdebug-b01-fastdebug mixed mode windows-x86)
# An error report file with more information is saved as:
# E:\NBPROJECTS\SimpleFrame\hs_err_pid2212.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
---
It always crashes after/during a few full GC.
It happens in NB 5.5.1 (the latest stable release) as well as 6m10 (which I was using for the HeapWalker feature).
It happens w/ 1.7b16 and 6u4 (well, now 6u5), but does not with 6.0fcs and 1.5_12fcs. I also didn't see the crash running with a 6u4 build w/ a 6.0fcs VM.
It doesn't seem to matter whether you use the fastdebug build or not (though the fastdebug build throws the assertion, whereas the release VM just crashes).
I've attached the indicated hs_err log file.
I believe this happens with just about any app; I just used a simple app that shows a JFrame.
--SimpleFrame.java--
import javax.swing.JFrame;
public class SimpleFrame {
public static void main(String[] args) {
JFrame f = new JFrame("Simple Framge");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setBounds(100, 100, 100, 100);
f.setVisible(true);
}
}
---
It wastes time and is frustrating to go through a several step process to try and profile a leak, just to have my test crash while the profiler is trying to take a snapshot or a heap dump.