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