Java crash due to power8 OpenJDK on power9
Environment
- Red Hat Enterprise Linux 7
- POWER9 cpu
Issue
- Java crashes within 1-2 seconds with the following in the fatal error log on OpenJDK 1.8.0_272-b10:
# Internal Error (signature.cpp:267), pid=97181, tid=0x00007fff816af1b0
# Error: ShouldNotReachHere()
...
Stack: [0x00007fff814b0000,0x00007fff816b0000], sp=0x00007fff816a7760, free space=2013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xbc3380] VMError::report_and_die()+0x1a0
V [libjvm.so+0x3f7f18] report_should_not_reach_here(char const*, int)+0x88
V [libjvm.so+0xab63fc] SignatureIterator::iterate_returntype()+0x26c
V [libjvm.so+0x322cdc] ClassFileParser::parse_method(bool, AccessFlags*, Thread*)+0xbdc
V [libjvm.so+0x324238] ClassFileParser::parse_methods(bool, AccessFlags*, bool*, bool*, Thread*)+0x238
V [libjvm.so+0x325550] ClassFileParser::parseClassFile(Symbol*, ClassLoaderData*, Handle, KlassHandle, GrowableArray<Handle>*, TempNewSymbol&, bool, Thread*)+0xf10
V [libjvm.so+0x32efdc] ClassLoader::load_classfile(Symbol*, Thread*)+0x44c
V [libjvm.so+0xb1d7a4] SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x384
...
Dynamic libraries:
7fff81970000-7fff825e0000 r-xp 00000000 fd:00 408574 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.ppc64le/jre/lib/ppc64le/server/libjvm.so
...
OS:Red Hat Enterprise Linux Server release 7.9 (Maipo)
vm_info: OpenJDK 64-Bit Server VM (25.272-b10) for linux-ppc64le JRE (1.8.0_272-b10), built on Oct 20 2020 01:33:13 by "mockbuild" with gcc 4.8.5 20150623 (Red Hat 4.8.5-44)
- Java crashes within minutes with the following in the fatal error log on 1.8.0_265-b01:
# SIGSEGV (0xb) at pc=0x00007fffa8983884, pid=1566, tid=0x00007fffa720f1b0
...
Stack: [0x00007fffa7010000,0x00007fffa7210000], sp=0x00007fffa720def0, free space=2039k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x4d3884] G1ParScanThreadState::trim_queue()+0x394
V [libjvm.so+0x4afa38] G1ParEvacuateFollowersClosure::do_void()+0x438
V [libjvm.so+0x4b0138] G1ParTask::work(unsigned int) [clone .part.430]+0x3d8
V [libjvm.so+0xbdef8c] GangWorker::loop()+0x18c
V [libjvm.so+0xbded74] GangWorker::run()+0x54
V [libjvm.so+0x933950] java_start(Thread*)+0x160
C [libpthread.so.0+0x8cd4] start_thread+0x104
Dynamic libraries:
7fffa84b0000-7fffa9110000 r-xp 00000000 fd:00 1275071932 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.265.b01-1.el7_9.ppc64le/jre/lib/ppc64le/server/libjvm.so
...
OS:Red Hat Enterprise Linux Server release 7.9 (Maipo)
vm_info: OpenJDK 64-Bit Server VM (25.265-b01) for linux-ppc64le JRE (1.8.0_265-b01), built on Jul 28 2020 11:16:00 by "mockbuild" with gcc 4.8.5 20150623 (Red Hat 4.8.5-44)
Resolution
Do a clean install from rhel-7-for-power-9-rpms. rhel-7-for-power-le-rpms packages are not supported on power9.
Root Cause
Power8 packages from rhel-7-for-power-le-rpms installed on power9.
Diagnostic Steps
- Verify the cpu architecture
cat sosreport/proc/cpuinfo | grep POWERor in the fatal error log (e.g.cpu : POWER9 (architected), altivec supported). - Check
sosreport/sos_commands/yum/yum_listto see if any packages fromrhel-7-for-power-le-rpmare installed.
Product(s)
Category
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.