daniel.daugherty@Eng 2000-02-11
I ran into this bug while trying to analyze a different bug:
4309773 4/1 JVMPI: Using JVMPI on Windows2000 final crashes the JVM
However, this bug has a different call stack so I think the root cause
is different. When the following command is run:
c:\winnt\java Xrunhprof:site=heap Hello
A segmentation violation happens. Hello.class is a simple hello world
program:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world.");
}
}
The path used to invoke java is important. By running c:\winnt\java,
the relevant DLL's are found by looking in the registry. This means
that c:/program files/javasoft/jre/1.3/lib/rt.jar is used instead of
c:/jdk1.3/jre/lib/rt.jar. The JRE version of rt.jar is smaller than
the "installed" version of rt.jar.
Here is the stack trace from Visual C++ 6.0:
symbolOopDesc::utf8_length() line 59 + 12 bytes
symbolOopDesc::as_C_string() line 32 + 8 bytes
jvmpi::post_class_load_event(oopDesc * 0x0c3c71f0, long 0) line 424 + 15 bytes
jvmpi::post_class_load_event(oopDesc * 0x0c3c71f0) line 441 + 11 bytes
issue_jvmpi_class_load_event(klassOopDesc * 0x0c3c7108) line 167 + 25 bytes
SystemDictionary::classes_do(void (klassOopDesc *)* 0x08001177 issue_jvmpi_class_load_event(class klassOopDesc *)) line 876 + 7 bytes
jvmpi::post_vm_initialization_events() line 191 + 10 bytes
Threads::create_vm(JavaVMInitArgs * 0x0006fce4) line 1826
JNI_CreateJavaVM(JavaVM_ * * 0x0006fe34, void * * 0x0006fe54, void * 0x0006fce4) line 1930 + 9 bytes
The debugger complains about an attempt to dereference a NULL "this".
I ran into this bug while trying to analyze a different bug:
4309773 4/1 JVMPI: Using JVMPI on Windows2000 final crashes the JVM
However, this bug has a different call stack so I think the root cause
is different. When the following command is run:
c:\winnt\java Xrunhprof:site=heap Hello
A segmentation violation happens. Hello.class is a simple hello world
program:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello world.");
}
}
The path used to invoke java is important. By running c:\winnt\java,
the relevant DLL's are found by looking in the registry. This means
that c:/program files/javasoft/jre/1.3/lib/rt.jar is used instead of
c:/jdk1.3/jre/lib/rt.jar. The JRE version of rt.jar is smaller than
the "installed" version of rt.jar.
Here is the stack trace from Visual C++ 6.0:
symbolOopDesc::utf8_length() line 59 + 12 bytes
symbolOopDesc::as_C_string() line 32 + 8 bytes
jvmpi::post_class_load_event(oopDesc * 0x0c3c71f0, long 0) line 424 + 15 bytes
jvmpi::post_class_load_event(oopDesc * 0x0c3c71f0) line 441 + 11 bytes
issue_jvmpi_class_load_event(klassOopDesc * 0x0c3c7108) line 167 + 25 bytes
SystemDictionary::classes_do(void (klassOopDesc *)* 0x08001177 issue_jvmpi_class_load_event(class klassOopDesc *)) line 876 + 7 bytes
jvmpi::post_vm_initialization_events() line 191 + 10 bytes
Threads::create_vm(JavaVMInitArgs * 0x0006fce4) line 1826
JNI_CreateJavaVM(JavaVM_ * * 0x0006fe34, void * * 0x0006fe54, void * 0x0006fce4) line 1930 + 9 bytes
The debugger complains about an attempt to dereference a NULL "this".
- duplicates
-
JDK-4309773 JVMPI: Using JVMPI on Windows2000 final crashes the JVM
-
- Closed
-
-
JDK-4321119 JVMPI: java -Xrunhprof causes gpf in Windows 95
-
- Closed
-