-
Bug
-
Resolution: Fixed
-
P4
-
11
-
ARM 32 build for Raspberry Pi. Source revision r50193.
-
b19
-
arm
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8205882 | 11.0.1 | Boris Ulasevich | P4 | Resolved | Fixed | team |
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
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
- backported by
-
JDK-8205882 JFR enabled ARM32 build assertion failure
-
- Resolved
-