Application failure with traversal

Lennart Börjeson lennart.borjeson at cinnober.com
Mon Feb 12 08:32:21 UTC 2018


> 10 feb. 2018 kl. 13:11 skrev Roman Kennke <rkennke at redhat.com>:
> 
> Okidoki. This is yet another problem. I think this patch should fix it:
> 
> http://cr.openjdk.java.net/~rkennke/humongous-live-data.patch
> 
> 


System comes up, but crashes when loaded at the same (patched) point:


#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/lennartb/shenandoah-jdk10/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp:371), pid=1366, tid=1377
#  assert(used() >= get_live_data_bytes() || is_humongous()) failed: Live Data must be a subset of used() live: 2334480 used: 2097152
#
# JRE version: OpenJDK Runtime Environment (10.0) (fastdebug build 10-internal+0-adhoc.lennartb.shenandoah-jdk10)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 10-internal+0-adhoc.lennartb.shenandoah-jdk10, mixed mode, tiered, compressed oops, Shenandoah gc, linux-amd64)
# Core dump will be written. Default location: /home/tetest/TE/system/tax1/core.1366
#
# 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: -Xms7G -Xmx7G -XX:+PrintFlagsFinal -Xlog:gc*=info,safepoint*=info,vmoperation*=trace:stdout:uptime,uptimenanos,timenanos,level,tags -XX:+UnlockExperimentalVMOptions -XX:SyncKnobs=Verbose=1 -XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1 -XX:+SafepointTimeout -XX:SafepointTimeoutDelay=1 --add-modules=java.xml.bind --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED -XX:+UseShenandoahGC -XX:ConcGCThreads=8 -XX:ParallelGCThreads=4 -XX:MonitorBound=20000 -XX:-UseBiasedLocking -XX:+DoEscapeAnalysis -XX:+UseNUMA -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCHeuristics=traversal -DRoundRobinPrio=0 -DdumpConfig=VALUE -Djava.net.preferIPv4Stack=true -Djava.util.prefs.systemRoot=/home/tetest com.cinnober.framework.server.impl.FwStart --stdouttolog --stderrtolog -s TAX1 -r http://dean-10g.cinnober.com:22780 -i TE --stdouttolog --stderrtolog -v com.cinnober.common.version.TeVersion

Host: dean.cinnober.com, Intel(R) Xeon(R) CPU E5-2687W v4 @ 3.00GHz, 48 cores, 503G, CentOS Linux release 7.3.1611 (Core) 
Time: Mon Feb 12 09:13:39 2018 CET elapsed time: 390 seconds (0d 0h 6m 30s)

---------------  T H R E A D  ---------------

Current thread (0x00007f0c202e6880):  VMThread "VM Thread" [stack: 0x00007f0c044f7000,0x00007f0c045f7000] [id=1377]

Stack: [0x00007f0c044f7000,0x00007f0c045f7000],  sp=0x00007f0c045f5470,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x18ad6bf]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x15f
V  [libjvm.so+0x18ae4fa]  VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x4a
V  [libjvm.so+0xb15bca]  report_vm_error(char const*, int, char const*, char const*, ...)+0xea
V  [libjvm.so+0x16ae2fc]  ShenandoahHeapRegion::garbage() const+0xac
V  [libjvm.so+0x1501a52]  ShenandoahTraversalHeuristics::choose_collection_set(ShenandoahCollectionSet*)+0xa2
V  [libjvm.so+0x16fb323]  ShenandoahTraversalGC::prepare()+0x93
V  [libjvm.so+0x16fbf6e]  ShenandoahTraversalGC::init_traversal_collection()+0x14e
V  [libjvm.so+0x1697b97]  ShenandoahHeap::entry_init_traversal()+0x87
V  [libjvm.so+0x18ebb6a]  VM_ShenandoahInitTraversalGC::doit()+0x2a
V  [libjvm.so+0x18e8c39]  VM_Operation::evaluate()+0x159
V  [libjvm.so+0x18e5d68]  VMThread::evaluate_operation(VM_Operation*)+0x308
V  [libjvm.so+0x18e6605]  VMThread::loop()+0x275
V  [libjvm.so+0x18e6c70]  VMThread::run()+0xc0
V  [libjvm.so+0x1357912]  thread_native_entry(Thread*)+0x112



> Other than that, we need to debug your original NPE. I tried to
> reproduce it by throwing the passive+barrier flags at a bunch of
> programs, but failed.
> 
> As first step, I'd like to see the actual NPE stacktrace. Maybe one of
> the intrinsics sticks out from there? And then a -XX:+PrintAssembly
> dump would be most useful.

I'll build the hsdis and try to collect some relevant dumps for you.

/Lennart


More information about the shenandoah-dev mailing list