RFR (XS) 8219574: Minimal VM build failure after JDK-8219414

David Holmes david.holmes at oracle.com
Fri Feb 22 10:48:12 UTC 2019


Hi Aleksey,

On 22/02/2019 7:51 pm, Aleksey Shipilev wrote:
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8219574
> 
> Fix:
> 
> diff -r e94ed0236046 src/hotspot/os/linux/os_linux.cpp
> --- a/src/hotspot/os/linux/os_linux.cpp Fri Feb 22 09:23:37 2019 +0100
> +++ b/src/hotspot/os/linux/os_linux.cpp Fri Feb 22 10:51:11 2019 +0100
> @@ -1357,11 +1357,11 @@
>   // called from signal handler. Before adding something to os::abort(), make
>   // sure it is async-safe and can handle partially initialized VM.
>   void os::abort(bool dump_core, void* siginfo, const void* context) {
>     os::shutdown();
>     if (dump_core) {
> -#ifndef ZERO
> +#ifndef INCLUDE_CDS
>       if (DumpPrivateMappingsInCore) {
>         ClassLoader::close_jrt_image();
>       }
>   #endif
>   #ifndef PRODUCT
> 
> 
> JDK-8219414 incorrectly removed INCLUDE_CDS guard, while ClassLoader::close_jrt_image() is still
> only defined under INCLUDE_CDS.

Right - though the function seems to be declared unconditionally, the 
definition is only under INCLUDE_CDS. I recall seeing some discussion of 
this change but am left wondering how on earth ZERO came into play! ??

Your fix seems good, but I think there is more work related to 
close_jrt_image() needed (by others).

Thanks,
David
-----

> Testing: Linux x86_64 {server, minimal, zero} builds
> 
> Thanks,
> -Aleksey
> 


More information about the serviceability-dev mailing list