At CDS dump time, when a referenced class fails to load we crash in init_subgraph_entry_fields:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fd7d8036b77, pid=20314, tid=20315
#
# JRE version: Java(TM) SE Runtime Environment (12.0) (build 12-internal+0-2018-11-19-1055094.clredest...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (12-internal+0-2018-11-19-1055094.clredest..., interpreted mode, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x805b77] HeapShared::init_subgraph_entry_fields(Thread*)+0x1b7
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/clredest/src/jdk/core.20314)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: -Xshare:dump -Xmx32m
Host: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz, 32 cores, 31G, Ubuntu 16.04.3 LTS
Time: Tue Dec 4 12:58:25 2018 CET elapsed time: 0 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x00007fd7d000fa10): JavaThread "main" [_thread_in_vm, id=20315, stack(0x00007fd7d99dc000,0x00007fd7d9add000)]
Stack: [0x00007fd7d99dc000,0x00007fd7d9add000], sp=0x00007fd7d9adaae0, free space=1018k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x805b77] HeapShared::init_subgraph_entry_fields(Thread*)+0x1b7
V [libjvm.so+0xb4935c] MetaspaceShared::preload_and_dump(Thread*)+0x16c
V [libjvm.so+0xdb0a10] Threads::create_vm(JavaVMInitArgs*, bool*)+0x820
V [libjvm.so+0x8dfce2] JNI_CreateJavaVM+0x52
C [libjli.so+0x4966] JavaMain+0x86
This blocks the archiving of classes/fields outside of java.base, since those modules aren't guaranteed to exist at dump time. Ignoring such fields at dump time seems sufficient.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fd7d8036b77, pid=20314, tid=20315
#
# JRE version: Java(TM) SE Runtime Environment (12.0) (build 12-internal+0-2018-11-19-1055094.clredest...)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (12-internal+0-2018-11-19-1055094.clredest..., interpreted mode, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x805b77] HeapShared::init_subgraph_entry_fields(Thread*)+0x1b7
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/clredest/src/jdk/core.20314)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: -Xshare:dump -Xmx32m
Host: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz, 32 cores, 31G, Ubuntu 16.04.3 LTS
Time: Tue Dec 4 12:58:25 2018 CET elapsed time: 0 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x00007fd7d000fa10): JavaThread "main" [_thread_in_vm, id=20315, stack(0x00007fd7d99dc000,0x00007fd7d9add000)]
Stack: [0x00007fd7d99dc000,0x00007fd7d9add000], sp=0x00007fd7d9adaae0, free space=1018k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x805b77] HeapShared::init_subgraph_entry_fields(Thread*)+0x1b7
V [libjvm.so+0xb4935c] MetaspaceShared::preload_and_dump(Thread*)+0x16c
V [libjvm.so+0xdb0a10] Threads::create_vm(JavaVMInitArgs*, bool*)+0x820
V [libjvm.so+0x8dfce2] JNI_CreateJavaVM+0x52
C [libjli.so+0x4966] JavaMain+0x86
This blocks the archiving of classes/fields outside of java.base, since those modules aren't guaranteed to exist at dump time. Ignoring such fields at dump time seems sufficient.
- duplicates
-
JDK-8293182 Improve testing of CDS archive heap
-
- Resolved
-
- relates to
-
JDK-8293182 Improve testing of CDS archive heap
-
- Resolved
-