Something external breaks Zero
David Holmes
david.holmes at oracle.com
Tue Feb 6 10:53:16 UTC 2018
Hi Adrian,
This looks familiar ... let me do some digging .. something from the CPU
(security update) ...
David
On 6/02/2018 8:03 PM, John Paul Adrian Glaubitz wrote:
> 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 :|.
>
More information about the hotspot-dev
mailing list