Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8201480

ISA/CPU feature detection code crashes on linux-sparc

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 11
    • None
    • hotspot
    • None
    • b10
    • sparc
    • linux

    Description

      On linux-sparc, the JVM crashes in the platform ISA/CPU detection code that was added in JDK-8172232:

      glaubitz@deb4g:/srv/glaubitz/hs$ ./build/linux-sparcv9-normal-server-fastdebug/jdk/bin/java --version
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/thread.hpp:720
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp:720), pid=242281, tid=242282
      # assert(current != __null) failed: Thread::current() called on detached thread
      #
      # JRE version: (11.0) (fastdebug build )
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 11-internal+0-adhoc.glaubitz.hs, mixed mode, sharing, tiered, ERROR in GC mode, 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/glaubitz/hs/hs_err_pid242281.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      #
      Current thread is 242282
      Dumping core ...
      Aborted
      glaubitz@deb4g:/srv/glaubitz/hs$ gdb ./build/linux-sparcv9-normal-server-fastdebug/jdk/bin/java
      GNU gdb (GDB) 8.1.50.20180211-git
      Copyright (C) 2018 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 "sparc64-unknown-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 ./build/linux-sparcv9-normal-server-fastdebug/jdk/bin/java...(no debugging symbols found)...done.
      (gdb) r --version
      Starting program: /srv/glaubitz/hs/build/linux-sparcv9-normal-server-fastdebug/jdk/bin/java --version
      [Thread debugging using libthread_db enabled]
      Using host libthread_db library "/lib/sparc64-linux-gnu/libthread_db.so.1".
      [New Thread 0xfff80001025e9910 (LWP 242288)]
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/thread.hpp:720
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp:720), pid=242285, tid=242288
      # assert(current != __null) failed: Thread::current() called on detached thread
      #
      # JRE version: (11.0) (fastdebug build )
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 11-internal+0-adhoc.glaubitz.hs, mixed mode, sharing, tiered, ERROR in GC mode, 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/glaubitz/hs/hs_err_pid242285.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      #
      Current thread is 242288
      Dumping core ...

      Thread 2 "java" received signal SIGABRT, Aborted.
      [Switching to Thread 0xfff80001025e9910 (LWP 242288)]
      0xfff80001005b3b9c in raise () from /lib/sparc64-linux-gnu/libc.so.6
      (gdb) bt
      #0 0xfff80001005b3b9c in raise () from /lib/sparc64-linux-gnu/libc.so.6
      #1 0xfff80001005b5144 in abort () from /lib/sparc64-linux-gnu/libc.so.6
      #2 0xfff8000101a02fe4 in os::abort (dump_core=<optimized out>, siginfo=0x0, context=0x0) at /srv/glaubitz/hs/src/hotspot/os/linux/os_linux.cpp:1423
      #3 0xfff8000101e23af4 in VMError::report_and_die (id=id@entry=-536870912, message=message@entry=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed",
          detail_fmt=detail_fmt@entry=0xfff8000101f838d8 "frame constructor passed an invalid sp", detail_args=detail_args@entry=0xfff80001025e7ab0, thread=thread@entry=0x0, pc=pc@entry=0x0, siginfo=0x0,
          context=0x0, filename=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp", lineno=331, size=0) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1504
      #4 0xfff8000101e24930 in VMError::report_and_die (thread=0x0, context=context@entry=0x0, filename=filename@entry=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp",
          lineno=lineno@entry=331, message=message@entry=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed",
          detail_fmt=detail_fmt@entry=0xfff8000101f838d8 "frame constructor passed an invalid sp", detail_args=<optimized out>) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1244
      #5 0xfff800010108b9ec in report_vm_error (file=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp", line=line@entry=331,
          error_msg=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed", detail_fmt=0xfff8000101f838d8 "frame constructor passed an invalid sp")
          at /srv/glaubitz/hs/src/hotspot/share/utilities/debug.cpp:230
      #6 0xfff8000101192bec in frame::init (cb=0x0, pc=0xfff8000101a132fc <os::current_frame()> "\235\343\277 /", sp=0xfff80001025e73b1, this=0xfff80001025e7b80)
          at /srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp:331
      #7 frame::frame (this=0xfff80001025e7b80, sp=0xfff80001025e73b1, pc=0xfff8000101a132fc <os::current_frame()> "\235\343\277 /", cb=0x0) at /srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp:345
      #8 0xfff8000101a13344 in os::current_frame () at /srv/glaubitz/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:139
      #9 0xfff8000101e22a7c in VMError::report (st=st@entry=0xfff80001022f9310 <VMError::log>, _verbose=_verbose@entry=true) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:704
      #10 0xfff8000101e23ba8 in VMError::report_and_die (id=id@entry=-536870912, message=message@entry=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed",
          detail_fmt=detail_fmt@entry=0xfff8000101f838d8 "frame constructor passed an invalid sp", detail_args=detail_args@entry=0xfff80001025e8040, thread=thread@entry=0x0, pc=pc@entry=0x0, siginfo=0x0,
          context=0x0, filename=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp", lineno=331, size=0) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1405
      #11 0xfff8000101e24930 in VMError::report_and_die (thread=0x0, context=context@entry=0x0, filename=filename@entry=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp",
          lineno=lineno@entry=331, message=message@entry=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed",
          detail_fmt=detail_fmt@entry=0xfff8000101f838d8 "frame constructor passed an invalid sp", detail_args=<optimized out>) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1244
      #12 0xfff800010108b9ec in report_vm_error (file=0xfff8000101f83670 "/srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp", line=line@entry=331,
          error_msg=0xfff8000101f83900 "assert((((intptr_t)sp & (wordSize-1)) == 0)) failed", detail_fmt=0xfff8000101f838d8 "frame constructor passed an invalid sp")
          at /srv/glaubitz/hs/src/hotspot/share/utilities/debug.cpp:230
      #13 0xfff8000101192bec in frame::init (cb=0x0, pc=0xfff8000101a132fc <os::current_frame()> "\235\343\277 /", sp=0xfff80001025e7941, this=0xfff80001025e8110)
          at /srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp:331
      #14 frame::frame (this=0xfff80001025e8110, sp=0xfff80001025e7941, pc=0xfff8000101a132fc <os::current_frame()> "\235\343\277 /", cb=0x0) at /srv/glaubitz/hs/src/hotspot/cpu/sparc/frame_sparc.cpp:345
      #15 0xfff8000101a13344 in os::current_frame () at /srv/glaubitz/hs/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp:139
      #16 0xfff8000101e22afc in VMError::report (st=st@entry=0xfff80001022f9310 <VMError::log>, _verbose=_verbose@entry=true) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:685
      #17 0xfff8000101e23ba8 in VMError::report_and_die (id=id@entry=-536870912, message=message@entry=0xfff8000101ef0590 "assert(current != __null) failed",
          detail_fmt=detail_fmt@entry=0xfff8000101ef0560 "Thread::current() called on detached thread", detail_args=detail_args@entry=0xfff80001025e85d0, thread=thread@entry=0x0, pc=pc@entry=0x0, siginfo=0x0,
          context=0x0, filename=0xfff8000101ef05b8 "/srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp", lineno=720, size=0) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1405
      #18 0xfff8000101e24930 in VMError::report_and_die (thread=0x0, context=context@entry=0x0, filename=filename@entry=0xfff8000101ef05b8 "/srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp",
          lineno=lineno@entry=720, message=message@entry=0xfff8000101ef0590 "assert(current != __null) failed", detail_fmt=detail_fmt@entry=0xfff8000101ef0560 "Thread::current() called on detached thread",
          detail_args=<optimized out>) at /srv/glaubitz/hs/src/hotspot/share/utilities/vmError.cpp:1244
      #19 0xfff800010108b9ec in report_vm_error (file=0xfff8000101ef05b8 "/srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp", line=line@entry=720,
          error_msg=0xfff8000101ef0590 "assert(current != __null) failed", detail_fmt=0xfff8000101ef0560 "Thread::current() called on detached thread") at /srv/glaubitz/hs/src/hotspot/share/utilities/debug.cpp:230
      #20 0xfff80001019f3f2c in Thread::current () at /srv/glaubitz/hs/src/hotspot/share/runtime/thread.hpp:720
      #21 ResourceMark::ResourceMark (this=0xfff80001025e8600) at /srv/glaubitz/hs/src/hotspot/share/memory/resourceArea.hpp:109
      #22 verify_memory (ptr=ptr@entry=0xfff800010400fc40) at /srv/glaubitz/hs/src/hotspot/share/runtime/os.cpp:632
      #23 0xfff80001019f99e0 in os::free (memblock=0xfff800010400fc40) at /srv/glaubitz/hs/src/hotspot/share/runtime/os.cpp:783
      #24 0xfff8000101e999c0 in CPUinfo::~CPUinfo (this=0xfff80001025e8888, __in_chrg=<optimized out>) at /srv/glaubitz/hs/src/hotspot/os_cpu/linux_sparc/vm_version_linux_sparc.cpp:59
      #25 VM_Version::platform_features () at /srv/glaubitz/hs/src/hotspot/os_cpu/linux_sparc/vm_version_linux_sparc.cpp:184
      #26 0xfff8000101e99c50 in VM_Version::determine_features () at /srv/glaubitz/hs/src/hotspot/cpu/sparc/vm_version_sparc.cpp:505
      #27 0xfff8000101d50eb0 in Threads::create_vm (args=args@entry=0xfff80001025e8d78, canTryAgain=canTryAgain@entry=0xfff80001025e8c57) at /srv/glaubitz/hs/src/hotspot/share/runtime/thread.cpp:3638
      #28 0xfff8000101511368 in JNI_CreateJavaVM_inner (args=0xfff80001025e8d78, penv=0xfff80001025e8d70, vm=0xfff80001025e8d68) at /srv/glaubitz/hs/src/hotspot/share/prims/jni.cpp:3929
      #29 JNI_CreateJavaVM (vm=0xfff80001025e8d68, penv=0xfff80001025e8d70, args=0xfff80001025e8d78) at /srv/glaubitz/hs/src/hotspot/share/prims/jni.cpp:4024
      #30 0xfff8000100367f10 in InitializeJVM (ifn=<synthetic pointer>, penv=0xfff80001025e8d70, pvm=0xfff80001025e8d68) at /srv/glaubitz/hs/src/java.base/share/native/libjli/java.c:1479
      #31 JavaMain (_args=<optimized out>) at /srv/glaubitz/hs/src/java.base/share/native/libjli/java.c:412
      #32 0xfff800010024b874 in start_thread () from /lib/sparc64-linux-gnu/libpthread.so.0
      ---Type <return> to continue, or q <return> to quit---
      #33 0xfff8000100667140 in ?? () from /lib/sparc64-linux-gnu/libc.so.6
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)
      (gdb)

      Attachments

        Activity

          People

            glaubitz John Paul Adrian Glaubitz
            glaubitz John Paul Adrian Glaubitz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: