Something external breaks Zero
John Paul Adrian Glaubitz
glaubitz at physik.fu-berlin.de
Tue Feb 6 10:03:39 UTC 2018
Hi!
I got home from FOSDEM yesterday, ran my usual "hg pull && hg update --clean" and tried
rebuilding Zero on my new shiny AMD Epyc machine and ran into this:
glaubitz at epyc:/srv/glaubitz/openjdk/hs/build/linux-x86_64-normal-zero-release/jdk/bin$ ./java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (os_linux_zero.cpp:271), pid=43611, tid=43612
# fatal error: caught unhandled signal 11
#
# JRE version: (10.0) (build )
# Java VM: OpenJDK 64-Bit Zero VM (10-internal+0-adhoc.glaubitz.hs, interpreted mode, serial gc, linux-amd64)
# Core dump will be written. Default location: /srv/glaubitz/openjdk/hs/build/linux-x86_64-normal-zero-release/jdk/bin/core
#
# An error report file with more information is saved as:
# /srv/glaubitz/openjdk/hs/build/linux-x86_64-normal-zero-release/jdk/bin/hs_err_pid43611.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Aborted (core dumped)
glaubitz at epyc:/srv/glaubitz/openjdk/hs/build/linux-x86_64-normal-zero-release/jdk/bin$
Enabling core dumps and passing the core file to gdb yields:
glaubitz at epyc:/srv/glaubitz/openjdk/hs/build/linux-x86_64-normal-zero-release/jdk/bin$ gdb ./java --core=core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./java...(no debugging symbols found)...done.
[New LWP 43588]
[New LWP 43587]
[New LWP 43589]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./java -Xlog:all=debug -XX:-UseContainerSupport'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7feca1453700 (LWP 43588))]
(gdb) bt
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007feca06b3cf7 in __GI_abort () at abort.c:90
#2 0x00007feca0184c29 in os::abort (dump_core=<optimized out>, siginfo=<optimized out>, context=<optimized out>) at /srv/glaubitz/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:1416
#3 0x00007feca02b5052 in VMError::report_and_die (id=id at entry=-536870912, message=message at entry=0x7feca03044a4 "fatal error", detail_fmt=detail_fmt at entry=0x7feca1396040 "caught unhandled signal 11", detail_args=detail_args at entry=0x7feca1395f38, thread=<optimized out>,
pc=pc at entry=0x0, siginfo=0x0, context=0x0, filename=0x7feca0331910 "/srv/glaubitz/openjdk/hs/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp", lineno=271, size=0) at /srv/glaubitz/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1494
#4 0x00007feca02b595f in VMError::report_and_die (thread=<optimized out>, filename=filename at entry=0x7feca0331910 "/srv/glaubitz/openjdk/hs/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp", lineno=lineno at entry=271, message=message at entry=0x7feca03044a4 "fatal error",
detail_fmt=detail_fmt at entry=0x7feca1396040 "caught unhandled signal 11", detail_args=detail_args at entry=0x7feca1395f38) at /srv/glaubitz/openjdk/hs/src/hotspot/share/utilities/vmError.cpp:1240
#5 0x00007fec9fed5cb8 in report_fatal (file=file at entry=0x7feca0331910 "/srv/glaubitz/openjdk/hs/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp", line=line at entry=271, detail_fmt=detail_fmt at entry=0x7feca1396040 "caught unhandled signal 11")
at /srv/glaubitz/openjdk/hs/src/hotspot/share/utilities/debug.cpp:228
#6 0x00007feca018e2d5 in JVM_handle_linux_signal (sig=sig at entry=11, info=info at entry=0x7feca1396230, ucVoid=ucVoid at entry=0x7feca1396100, abort_if_unrecognized=abort_if_unrecognized at entry=1) at /srv/glaubitz/openjdk/hs/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp:271
#7 0x00007feca01834d8 in signalHandler (sig=11, info=0x7feca1396230, uc=0x7feca1396100) at /srv/glaubitz/openjdk/hs/src/hotspot/os/linux/os_linux.cpp:4401
#8 <signal handler called>
#9 0x00007fec9fdbb3cc in itableMethodEntry::method (this=<optimized out>) at /srv/glaubitz/openjdk/hs/src/hotspot/share/oops/klassVtable.hpp:265
#10 BytecodeInterpreter::run (istate=0x7feca1452250) at /srv/glaubitz/openjdk/hs/src/hotspot/share/interpreter/bytecodeInterpreter.cpp:2605
#11 0x00007fec9fed318a in CppInterpreter::main_loop (recurse=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/cppInterpreter_zero.cpp:133
#12 0x00007fec9fed3847 in CppInterpreter::normal_entry (method=0x7fec9c3f4dc0, UNUSED=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/cppInterpreter_zero.cpp:76
#13 0x00007fec9fed24be in ZeroEntry::invoke (__the_thread__=0x7fec9800f540, method=method at entry=0x7fec9800f540, this=this at entry=0x7fec980023f8) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/entry_zero.hpp:59
#14 CppInterpreter::invoke_method (method=method at entry=0x7fec9c3f4dc0, entry_point=entry_point at entry=0x7fec9cd2c160 " 5\355\237\354\177", __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/interpreter/cppInterpreter.cpp:66
#15 0x00007feca0242729 in StubGenerator::call_stub (call_wrapper=0x7feca1396c10, result=0x7feca1396e38, result_type=T_LONG, method=0x7fec9c3f4dc0, entry_point=0x7fec9cd2c160 " 5\355\237\354\177", parameters=<optimized out>, parameter_words=2,
__the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/stubGenerator_zero.cpp:98
#16 0x00007feca00113aa in JavaCalls::call_helper (result=0x7feca1396e30, method=..., args=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/javaCalls.cpp:408
#17 0x00007feca0012b2d in JavaCalls::call (__the_thread__=0x7fec9800f540, args=0x7feca1396d40, method=..., result=0x7feca1396e30) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/javaCalls.cpp:307
#18 JavaCalls::call_static (__the_thread__=0x7fec9800f540, args=0x7feca1396d40, signature=<optimized out>, name=<optimized out>, klass=<optimized out>, result=0x7feca1396e30, this=<optimized out>) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/javaCalls.cpp:265
#19 JavaCalls::call_static (result=result at entry=0x7feca1396e30, klass=klass at entry=0x7fec9c3f5fa8, name=<optimized out>, signature=<optimized out>, arg1=..., arg2=..., __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/javaCalls.cpp:285
#20 0x00007feca01599c0 in NativeLookup::lookup_style (method=..., pure_name=pure_name at entry=0x7fec9800fab0 "Java_java_security_AccessController_doPrivileged", long_name=long_name at entry=0x7feca03175d4 "", args_size=args_size at entry=3, os_style=os_style at entry=true,
in_base_library=@0x7feca139701f: false, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/nativeLookup.cpp:182
#21 0x00007feca0159c77 in NativeLookup::lookup_entry (method=..., in_base_library=@0x7feca139701f: false, __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/nativeLookup.cpp:255
#22 0x00007feca015a2a2 in NativeLookup::lookup_base (__the_thread__=0x7fec9800f540, in_base_library=@0x7feca139701f: false, method=...) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/nativeLookup.cpp:372
#23 NativeLookup::lookup (method=..., in_base_library=@0x7feca139701f: false, __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/nativeLookup.cpp:388
#24 0x00007feca0008485 in InterpreterRuntime::prepare_native_call (thread=thread at entry=0x7fec9800f540, method=method at entry=0x7fec9c507cb8) at /srv/glaubitz/openjdk/hs/src/hotspot/share/interpreter/interpreterRuntime.cpp:1414
#25 0x00007fec9fed4082 in CppInterpreter::native_entry (method=0x7fec9c507cb8, UNUSED=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/cppInterpreter_zero.cpp:292
#26 0x00007fec9fed24be in ZeroEntry::invoke (__the_thread__=0x7fec9800f540, method=<optimized out>, this=<optimized out>) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/entry_zero.hpp:59
#27 CppInterpreter::invoke_method (method=<optimized out>, entry_point=<optimized out>, __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/interpreter/cppInterpreter.cpp:66
#28 0x00007fec9fed31af in CppInterpreter::main_loop (recurse=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/cppInterpreter_zero.cpp:147
#29 0x00007fec9fed3847 in CppInterpreter::normal_entry (method=0x7fec9c4324f0, UNUSED=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/cppInterpreter_zero.cpp:76
#30 0x00007fec9fed24be in ZeroEntry::invoke (__the_thread__=0x7fec9800f540, method=method at entry=0x7fec9800f540, this=this at entry=0x7feca1397220) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/entry_zero.hpp:59
#31 CppInterpreter::invoke_method (method=method at entry=0x7fec9c4324f0, entry_point=entry_point at entry=0x7fec9cd2c160 " 5\355\237\354\177", __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/interpreter/cppInterpreter.cpp:66
#32 0x00007feca0242729 in StubGenerator::call_stub (call_wrapper=0x7feca14525c0, result=0x7feca1452688, result_type=T_INT, method=0x7fec9c4324f0, entry_point=0x7fec9cd2c160 " 5\355\237\354\177", parameters=<optimized out>, parameter_words=0,
__the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/cpu/zero/stubGenerator_zero.cpp:98
#33 0x00007feca00113aa in JavaCalls::call_helper (result=0x7feca1452680, method=..., args=<optimized out>, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/javaCalls.cpp:408
#34 0x00007fec9fff047b in InstanceKlass::call_class_initializer (this=this at entry=0x7fec9c432578, __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/oops/instanceKlass.cpp:1104
#35 0x00007fec9fff0a9d in InstanceKlass::initialize_impl (this=0x7fec9c432578, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/oops/instanceKlass.cpp:813
#36 0x00007fec9fff0908 in InstanceKlass::initialize_impl (this=0x7fec9c43f8c8, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/oops/instanceKlass.cpp:771
#37 0x00007fec9fff0908 in InstanceKlass::initialize_impl (this=0x7fec9c43fd40, __the_thread__=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/oops/instanceKlass.cpp:771
#38 0x00007feca0269d98 in Threads::initialize_java_lang_classes (main_thread=main_thread at entry=0x7fec9800f540, __the_thread__=__the_thread__ at entry=0x7fec9800f540) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/thread.cpp:3609
#39 0x00007feca026e74c in Threads::create_vm (args=<optimized out>, canTryAgain=canTryAgain at entry=0x7feca1452dd7) at /srv/glaubitz/openjdk/hs/src/hotspot/share/runtime/thread.cpp:3834
#40 0x00007feca00384b2 in JNI_CreateJavaVM_inner (args=<optimized out>, penv=0x7feca1452e98, vm=0x7feca1452e90) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/jni.cpp:3911
#41 JNI_CreateJavaVM (vm=0x7feca1452e90, penv=0x7feca1452e98, args=<optimized out>) at /srv/glaubitz/openjdk/hs/src/hotspot/share/prims/jni.cpp:4006
#42 0x00007feca0c3bd24 in InitializeJVM (ifn=<synthetic pointer>, penv=0x7feca1452e98, pvm=0x7feca1452e90) at /srv/glaubitz/openjdk/hs/src/java.base/share/native/libjli/java.c:1478
#43 JavaMain (_args=<optimized out>) at /srv/glaubitz/openjdk/hs/src/java.base/share/native/libjli/java.c:411
#44 0x00007feca0e4f51a in start_thread (arg=0x7feca1453700) at pthread_create.c:465
#45 0x00007feca07733ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)
Now the interesting part is that it seems that this is not a regression in
OpenJDK as this also occurs with older trees which definitely worked fine
before.
And what's even more interesting is that it doesn't crash on my SPARC T5:
glaubitz at deb4g:~/openjdk/hs/build/linux-sparcv9-normal-zero-release/jdk/bin$ ./java --version
openjdk 10-internal
OpenJDK Runtime Environment (build 10-internal+0-adhoc.glaubitz.hs)
OpenJDK 64-Bit Zero VM (build 10-internal+0-adhoc.glaubitz.hs, interpreted mode)
glaubitz at deb4g:~/openjdk/hs/build/linux-sparcv9-normal-zero-release/jdk/bin$
But it crashes on the Sun Fire T2000:
glaubitz at stadler:/srv/openjdk/hs/build/linux-sparcv9-normal-zero-release/jdk/bin$ ./java --version
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (os_linux_zero.cpp:271), pid=10309, tid=10310
# fatal error: caught unhandled signal 11
#
# JRE version: (10.0) (build )
# Java VM: OpenJDK 64-Bit Zero VM (10-internal+0-adhoc.glaubitz.hs, interpreted mode, serial gc, linux-sparc)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /srv/openjdk/hs/build/linux-sparcv9-normal-zero-release/jdk/bin/hs_err_pid10309.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Aborted
glaubitz at stadler:/srv/openjdk/hs/build/linux-sparcv9-normal-zero-release/jdk/bin$
All machines run Debian unstable with the latest packages.
Hrmpf. Will try digging now.
Adrian
PS: It was very nice meeting you all at FOSDEM. I wished I would have had more time :|.
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz at debian.org
`. `' Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
More information about the hotspot-dev
mailing list