zero broken in jdk/jdk? [resend ]

Chris Phillips ChrisPhi at LGonQn.Org
Wed Dec 12 22:42:00 UTC 2018


This change broke Zero,
changeset:   52960:a6182c464b31
user:        jgeorge
date:        Wed Dec 12 10:13:11 2018 +0530
summary:     8200613: SA: jstack throws UnmappedAddressException with a
CDS core file

On 2018-12-12 4:13 p.m., Chris Phillips wrote:
> 
> Hi Magnus
> Oopsn^ 2
> 
> On 2018-12-12 3:58 p.m., Chris Phillips wrote:
>> Oops.
>>
>> On 2018-12-12 3:51 p.m., Chris Phillips wrote:
>>> Hi Magnus
>>>
>>> On 2018-12-12 1:53 p.m., "Chris Phillips"@T O wrote:
>>>> Hi Magnus,
>>>>
>>>> On 12/12/18 01:28 PM, Magnus Ihse Bursie wrote:
>>>>> I get the following build error when building zero in jdk/jdk:
>>>>>
>>>>> workspace/build/linux-x64-zero/hotspot/variant-zero/libjvm/objs/os_linux.o:
>>>>> In function `os::abort(bool, void*, void const*)':
>>>>> workspace/open/src/hotspot/os/linux/os_linux.cpp:1358: undefined
>>>>> reference to `ClassLoader::close_jrt_image()'
>>>>> collect2: error: ld returned 1 exit status
>>>>> lib/CompileJvm.gmk:172: recipe for target
>>>>> 'workspace/build/linux-x64-zero/support/modules_libs/java.base/server/libjvm.so'
>>>>> failed
>>>>>
>>>>> Is this a known problem?
>>>>>
>>>>> /Magnus
>>>>>
>>>>>
>>>> Not seen this before, will take a look.
>>>>
>>>> Chris
>>>>
>>>>
>>>
>>> Yes, somebody broke Zero  (Recent CDS change?)
>>>
>>> The following fixes it please do open a bug or shall I?
>>>
> 
> 
> This works, not sure why #ifdef INCLUDE_CDS doesn't.
> 
> (the body of close_jrt_image is under an ifdef INCLUDE_CDS, but maybe
>  there is a higher level #ifdef? )
> 
> diff --git a/src/hotspot/os/linux/os_linux.cpp
> b/src/hotspot/os/linux/os_linux.cpp
> --- a/src/hotspot/os/linux/os_linux.cpp
> +++ b/src/hotspot/os/linux/os_linux.cpp
> @@ -1354,9 +1354,11 @@
>  void os::abort(bool dump_core, void* siginfo, const void* context) {
>    os::shutdown();
>    if (dump_core) {
> +#ifndef ZERO
>      if (UseSharedSpaces && DumpPrivateMappingsInCore) {
>        ClassLoader::close_jrt_image();
>      }
> +#endif
>  #ifndef PRODUCT
>      fdStream out(defaultStream::output_fd());
>      out.print_raw("Current thread is ");
> 
> 


More information about the zero-dev mailing list