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

JFR enabled ARM32 build assertion failure

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 11
    • 11
    • infrastructure
    • ARM 32 build for Raspberry Pi. Source revision r50193.

    • b19
    • arm
    • linux

        ARM32 non-release build fails with assertion message caused by using not initialized variable on vm startup.

        pi@rpi-3:~/boris/tmp2 $ ./jdk-11/fastdebug/bin/java -version
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/build/jdk-jdk/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp:44), pid=22135, tid=22136
        # assert(VM_Version::supports_cx8()) failed: invariant

        thread.cpp
        3589: jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
        3706: JavaThread* main_thread = new JavaThread();
        3729: jint status = init_globals();

        jfrTraceId.cpp
        43: static traceid atomic_inc(traceid volatile* const dest) {
        44: assert(VM_Version::supports_cx8(), "invariant");

        vm_version_arm_32.cpp
        107: void VM_Version::initialize() {
        232: _supports_cx8 = (supports_ldrexd() || supports_kuser_cmpxchg64());

        First _supports_cx8 usage:
          Threads::create_vm -> JavaThread::JavaThread(bool) --> Thread::Thread() --> JfrThreadLocal::JfrThreadLocal() --> atomic_inc(unsigned long long volatile*)

        _supports_cx8 value initizaliation:
          Threads::create_vm -> init.cpp::init_globals --> vm_version.cpp::VM_Version_init() --> vm_version_arm_32.cpp::VM_Version::initialize() --> _supports_cx8 initizaliation

              bulasevich Boris Ulasevich
              bulasevich Boris Ulasevich
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: