8072863: Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath
Reviewed-by: dholmes, coleenp
Contributed-by: Cheleswer Sahu <cheleswer.sahu@oracle.com>
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp Fri Apr 10 15:18:45 2015 +0000
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp Mon Apr 13 23:04:02 2015 -0700
@@ -126,7 +126,7 @@
tty->print_cr(" name: %s, sig: %s, flags: %08x", fs.name()->as_C_string(), fs.signature()->as_C_string(), fs.access_flags().as_int());
}
#endif //PRODUCT
- fatal("Invalid layout of preloaded class");
+ vm_exit_during_initialization("Invalid layout of preloaded class: use -XX:+TraceClassLoading to see the origin of the problem class");
}
dest_offset = fd.offset();
}
@@ -3626,7 +3626,7 @@
tty->print_cr(" name: %s, sig: %s, flags: %08x", fs.name()->as_C_string(), fs.signature()->as_C_string(), fs.access_flags().as_int());
}
#endif //PRODUCT
- fatal("Invalid layout of preloaded class");
+ vm_exit_during_initialization("Invalid layout of preloaded class: use -XX:+TraceClassLoading to see the origin of the problem class");
return -1;
}
--- a/hotspot/src/share/vm/prims/whitebox.cpp Fri Apr 10 15:18:45 2015 +0000
+++ b/hotspot/src/share/vm/prims/whitebox.cpp Mon Apr 13 23:04:02 2015 -0700
@@ -1234,7 +1234,7 @@
if (res == NULL) {
tty->print_cr("Invalid layout of %s at %s", ik->external_name(),
name_symbol->as_C_string());
- fatal("Invalid layout of preloaded class");
+ vm_exit_during_initialization("Invalid layout of preloaded class: use -XX:+TraceClassLoading to see the origin of the problem class");
}
//fetch the field at the offset we've found