Java crash in java.net.URLStreamHandler.parseURL C2 compiled Java code
Environment
- Red Hat Enterprise Linux (RHEL) 7.6
- OpenJDK 1.8.0_181-b13
- PPC64LE
- -javaagent:/dir/APM_10_7/wily/Agent.jar
Issue
- Java crash after multiple days of runtime with the following in the fatal error log:
# SIGSEGV (0xb) at pc=0x00003fff71efdc3c, pid=98862, tid=0x00003ffbdb99f1b0
#
# JRE version: OpenJDK Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: OpenJDK 64-Bit Server VM (25.181-b13 mixed mode linux-ppc64 compressed oops)
# Problematic frame:
# J 1985 C2 java.net.URLStreamHandler.parseURL(Ljava/net/URL;Ljava/lang/String;II)V (1193 bytes) @ 0x00003fff71efdc3c [0x00003fff71efc280+0x19bc]
...
Stack: [0x00003ffbdb7a0000,0x00003ffbdb9a0000], sp=0x00003ffbdb99ba20, free space=2030k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 1985 C2 java.net.URLStreamHandler.parseURL(Ljava/net/URL;Ljava/lang/String;II)V (1193 bytes) @ 0x00003fff71efdc3c [0x00003fff71efc280+0x19bc]
J 437 C2 sun.net.www.protocol.file.Handler.parseURL(Ljava/net/URL;Ljava/lang/String;II)V (18 bytes) @ 0x00003fff71915c64 [0x00003fff71915c00+0x64]
J 11465 C2 java.net.URL.<init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V (543 bytes) @ 0x00003fff735feed4 [0x00003fff735fe800+0x6d4]
J 2316 C2 org.springframework.boot.loader.jar.Handler.openConnection(Ljava/net/URL;)Ljava/net/URLConnection; (42 bytes) @ 0x00003fff71be1824 [0x00003fff71be1500+0x324]
J 4978 C2 sun.misc.URLClassPath$Loader.findResource(Ljava/lang/String;Z)Ljava/net/URL; (108 bytes) @ 0x00003fff72664c44 [0x00003fff72664b00+0x144]
J 1447 C2 sun.misc.URLClassPath$1.next()Z (63 bytes) @ 0x00003fff719b75d4 [0x00003fff719b7480+0x154]
J 6074 C2 java.net.URLClassLoader$3$1.run()Ljava/lang/Object; (5 bytes) @ 0x00003fff727e46dc [0x00003fff727e4680+0x5c]
v ~StubRoutines::call_stub
V [libjvm.so+0x59dc4c]
V [libjvm.so+0x8512fc]
V [libjvm.so+0x59c764]
V [libjvm.so+0x6089ec] JVM_DoPrivileged+0x57c
C [libjava.so+0xdabc] Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2Ljava_security_AccessControlContext_2+0x1c
J 6623 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x00003fff72ce9120 [0x00003fff72ce9080+0xa0]
J 6525 C2 org.springframework.boot.loader.LaunchedURLClassLoader$ResourceEnumeration.hasMoreElements()Z (47 bytes) @ 0x00003fff72c9074c [0x00003fff72c90480+0x2cc]
J 11687 C2 java.util.ServiceLoader$LazyIterator.hasNextService()Z (167 bytes) @ 0x00003fff74040738 [0x00003fff74040300+0x438]
J 11691 C2 javax.xml.parsers.FactoryFinder$1.run()Ljava/lang/Object; (31 bytes) @ 0x00003fff7404d220 [0x00003fff7404cd00+0x520]
v ~StubRoutines::call_stub
V [libjvm.so+0x59dc4c]
V [libjvm.so+0x8512fc]
V [libjvm.so+0x59c764]
V [libjvm.so+0x6089ec] JVM_DoPrivileged+0x57c
C [libjava.so+0xda80] Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x20
J 1001 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; (0 bytes) @ 0x00003fff71bfea8c [0x00003fff71bfea00+0x8c]
J 6735 C2 javax.xml.parsers.FactoryFinder.find(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; (354 bytes) @ 0x00003fff72d5926c [0x00003fff72d58f00+0x36c]
...
J 5750% C2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00003fff728c306c [0x00003fff728c2d80+0x2ec]
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
V [libjvm.so+0x59dc4c]
V [libjvm.so+0x8512fc]
V [libjvm.so+0x59a6b4]
V [libjvm.so+0x59add0]
V [libjvm.so+0x5f40d4]
V [libjvm.so+0x9cc628]
V [libjvm.so+0x846150]
C [libpthread.so.0+0x8b94] start_thread+0x104
C [libc.so.6+0x1285f4] clone+0xe4
Root Cause
Possibly the following issue is relevant:
Content from bugs.openjdk.java.net is not included.JVM Crash with SIGSEGV during GC
Diagnostic Steps
- Reproduce with the wily agent removed.
- Reproduce on the latest JDK version.
- Test with tiered compiling disabled with
-XX:-TieredCompilation.
Product(s)
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.