JDK-7016301 : G1: SIGSEGV in JVM_ArrayCopy
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs20
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2011-02-01
  • Updated: 2013-09-18
  • Resolved: 2011-03-07
Related Reports
Duplicate :  
Relates :  
Description
Application crashes after 20 hours (-server -XX:+UseCompressedOops -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+UseCodeCacheFlushing):

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f3cf9df2989, pid=23733, tid=139899030206800
#
# JRE version: 7.0-b126
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.0-b06 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x52f989]  JVM_ArrayCopy+0xc9

Stack: [0x00007f3cc7eff000,0x00007f3cc8000000],  sp=0x00007f3cc7ffe420,  free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x52f989]  JVM_ArrayCopy+0xc9;;  JVM_ArrayCopy+0xc9
J  java.lang.System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
j  java.util.concurrent.CopyOnWriteArrayList.toArray([Ljava/lang/Object;)[Ljava/lang/Object;+32
j  java.util.logging.Logger.getHandlers()[Ljava/util/logging/Handler;+7
j  java.util.logging.Logger.log(Ljava/util/logging/LogRecord;)V+52
j  java.util.logging.Logger.doLog(Ljava/util/logging/LogRecord;)V+33
j  java.util.logging.Logger.log(Ljava/util/logging/Level;Ljava/lang/String;)V+34
j  java.util.logging.Logger.info(Ljava/lang/String;)V+19
j  spec.jbb.Company.displayResultTotals(Z)V+629
j  spec.jbb.JBBmain.DoARun(Lspec/jbb/Company;SII)V+223
j  spec.jbb.JBBmain.runWarehouse(IIF)Z+87
j  spec.jbb.JBBmain.doIt()V+238

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  java.lang.System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
j  java.util.concurrent.CopyOnWriteArrayList.toArray([Ljava/lang/Object;)[Ljava/lang/Object;+32
j  java.util.logging.Logger.getHandlers()[Ljava/util/logging/Handler;+7
j  java.util.logging.Logger.log(Ljava/util/logging/LogRecord;)V+52
j  java.util.logging.Logger.doLog(Ljava/util/logging/LogRecord;)V+33
j  java.util.logging.Logger.log(Ljava/util/logging/Level;Ljava/lang/String;)V+34
j  java.util.logging.Logger.info(Ljava/lang/String;)V+19
j  spec.jbb.Company.displayResultTotals(Z)V+629
j  spec.jbb.JBBmain.DoARun(Lspec/jbb/Company;SII)V+223
j  spec.jbb.JBBmain.runWarehouse(IIF)Z+87
j  spec.jbb.JBBmain.doIt()V+238
J  spec.jbb.JBBmain.main([Ljava/lang/String;)V
j  sun.reflect.GeneratedMethodAccessor33.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+24
J  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
j  jrockit.qa.stress.kitchensink.process.stress.modules.SpecJbb2005StressModule.execute()V+95
j  jrockit.qa.stress.kitchensink.process.stress.modules.StressModule.run()V+128
v  ~StubRoutines::call_stub

Comments
EVALUATION Ran the Kitchensink bigapp with the workaround for 7009266 and the (currently being worked on) fix for 7009266 on 2 platforms (linux-x64 and solaris-sparc) with the options given in this CR. Both tests ran successfully for several (48) hours. One thing to note though - with all garbage collectors the app lists a bunch of uncaught exceptions after around 20 hours. Closing as a duplicate of 7009266.
07-03-2011

EVALUATION This a lot looks like a problem with the weak references (in the Logger class in this case) interaction with SATB (7009266).
16-02-2011