RFR 8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit

Roland Westrelin roland.westrelin at oracle.com
Fri Nov 7 13:16:21 UTC 2014


Hi Jiangli,

> Please review the following changes that fix the crash with -XX:-LazyBootClassLoader on windows x64 platforms (fastdebug only). During VM initialization,  current_stack_pointer() could be called before the VM generates stub routines. The generated get_previous_sp routine cannot be used during that time, use the estimated value for the sp value instead. The x86 implementation is unaffected by the change and always returns the estimated sp value as before.
> 
> bug: https://bugs.openjdk.java.net/browse/JDK-8054008
> webrev: http://cr.openjdk.java.net/~jiangli/8054008/webrev/
> 
> Tested with JPRT and ExtBadJAR test.

But if what os::current_stack_pointer() returns is no longer “accurate”, aren’t you at risk of hitting the assert in  os::verify_stack_alignment()? Shouldn’t you skip the assert entirely if the routine is not yet available?

Also why not make that change on all platform to improve robustness while you’re doing this?

Roland.


More information about the hotspot-runtime-dev mailing list