Hotspot segfaulting on Linux SPARC

David Holmes david.holmes at oracle.com
Tue Apr 10 21:45:57 UTC 2018


On 11/04/2018 5:39 AM, John Paul Adrian Glaubitz wrote:
> On 04/09/2018 11:31 PM, David Holmes wrote:
>> Looks like you will need compiler folk to jump in here. No idea why 
>> this would be linux-sparc specific, but would need to see exactly what 
>> was being compiled at the time the invalid code sequence was encountered.
>>
>> Sorry. This is what happens when code is no longer actively maintained.
> Update: I just ran "hg update && hg update --clean", applied the 
> following diff
> which includes the suggested fix for 8201360 and the change suggested by
> Zhengyu:
> 
> glaubitz at deb4g:/srv/glaubitz/hs$ hg diff
> diff -r 00805b129186 make/hotspot/lib/CompileJvm.gmk
> --- a/make/hotspot/lib/CompileJvm.gmk   Tue Apr 10 11:43:40 2018 -0700
> +++ b/make/hotspot/lib/CompileJvm.gmk   Tue Apr 10 22:38:12 2018 +0300
> @@ -219,7 +219,7 @@
>       TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
>       OUTPUT_DIR := $(JVM_LIB_OUTPUTDIR), \
>       SRC := $(JVM_SRC_DIRS), \
> -    EXTRA_FILES := $(DTRACE_EXTRA_SOURCE_FILES), \
> +    EXTRA_FILES := $(BUILD_LIBJVM_EXTRA_FILES) 
> $(DTRACE_EXTRA_SOURCE_FILES), \
>       EXCLUDES := $(JVM_EXCLUDES), \
>       EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
>       EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
> diff -r 00805b129186 
> src/hotspot/os_cpu/linux_sparc/vm_version_linux_sparc.cpp
> --- a/src/hotspot/os_cpu/linux_sparc/vm_version_linux_sparc.cpp Tue Apr 
> 10 11:43:40 2018 -0700
> +++ b/src/hotspot/os_cpu/linux_sparc/vm_version_linux_sparc.cpp Tue Apr 
> 10 22:38:12 2018 +0300
> @@ -48,7 +48,7 @@
>           if (vstr != NULL) {
>             // We have a matching line and a valid starting point to the 
> value of
>             // the field, copy the string for keeps.
> -          _string = strdup(vstr);
> +          _string = os::strdup(vstr, mtInternal);
>             break;
>           }
>         }
> 
> and now the crash is different:
> 
> glaubitz at deb4g:/srv/glaubitz/hs$ 
> ./build/linux-sparcv9-normal-server-fastdebug/jdk/bin/java --version
> Error occurred during initialization of boot layer
> java.lang.module.FindException: Error reading module: 
> /srv/glaubitz/hs/build/linux-sparcv9-normal-server-fastdebug/jdk/modules/java.datatransfer 
> 
> Caused by: java.lang.module.InvalidModuleDescriptorException: Illegal 
> load factor: -1.2197928E-12
> glaubitz at deb4g:/srv/glaubitz/hs$
> 
> What exactly is the load factor?

The only reference to that message I can find is from HashMap/HashSet 
where the load factor defines how full the collection becomes before it 
resizes. I would have to guess some kind of floating-point issue here - 
a very small number rather than 0 perhaps?

David

> 
> Adrian
> 


More information about the hotspot-dev mailing list