JDK-8000270 : SIGSEGV in CardTableExtension::scavenge_contents_parallel (25.0-b02)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2012-09-30
  • Updated: 2013-09-12
  • Resolved: 2012-10-02
Related Reports
Duplicate :  
Relates :  
Description
jdk8/tl picked up the perm gen removal work in the last two days (hs25-b02). Since then we're seeing several crashes in JPRT when running with "-testset core".

Below is a sample log from a rmic test. I will add comments with links to hs_err and core file, also links to other crashes. For now I've submitted this issue to hotspot/gc. I don't have any crashes from runs with +VerifyBefore/AfterGC.

--------------------------------------------------
TEST: sun/rmi/rmic/manifestClassPath/run.sh
JDK under test: (/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product)
java version "1.8.0-internal"
Java(TM) SE Runtime Environment (build 1.8.0-internal-201209301728.albatem.tl-b00)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode, sharing)

ACTION: shell -- Failed. Execution failed: exit code 1
REASON: User specified action: run shell run.sh 
TIME:   4.087 seconds
messages:
command: shell run.sh []
reason: User specified action: run shell run.sh 
elapsed time (seconds): 4.087
STDOUT:
rm -rf pkg Main.java MainI.java Main.class MainI.class Main_Stub.class
rm -rf jars MANIFEST.MF A.jar B.zip
mkdir pkg
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/javac pkg/A.java pkg/B.java
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/jar cmf MANIFEST.MF A.jar pkg/A.class
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/jar cmf MANIFEST.MF B.zip pkg/B.class
rm -rf pkg
mkdir jars
mv A.jar jars/.
mkdir jars/sub
mv B.zip jars/sub/.
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/javac -classpath jars/A.jar Main.java MainI.java
PASS: succeeded as expected
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/rmic -classpath jars/A.jar:. Main
PASS: succeeded as expected
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/java -classpath jars/A.jar:. Main
PASS: succeeded as expected
rm -f Main.class MainI.class Main_Stub.class
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/javac -classpath jars/sub/B.zip Main.java MainI.java
PASS: succeeded as expected
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/rmic -classpath jars/sub/B.zip:. Main
PASS: succeeded as expected
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/java -classpath jars/sub/B.zip:. Main
PASS: succeeded as expected
rm -f Main_Stub.class
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/rmic -extdirs jars -classpath . Main
PASS: succeeded as expected
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/java -Djava.ext.dirs=jars -cp . Main
PASS: succeeded as expected
rm -f Main_Stub.class
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/rmic -extdirs jars/sub -classpath . Main
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x40285d1f, pid=21522, tid=2002254736
#
# JRE version: Java(TM) SE Runtime Environment (8.0)
# Java VM: Java HotSpot(TM) Server VM (25.0-b02 mixed mode linux-x86 )
# Problematic frame:
# V  [libjvm.so+0x259d1f]  CardTableExtension::scavenge_contents_parallel(ObjectStartArray*, MutableSpace*, HeapWord*, PSPromotionManager*, unsigned int, unsigned int)+0x16f
#
# Core dump written. Default location: /tmp/jprt/P1/172834.albatem/s/jdk/build/linux-i586/testoutput/jdk_rmi/JTwork/sun/rmi/rmic/manifestClassPath/run/core or core.21522
#
# An error report file with more information is saved as:
# /tmp/jprt/P1/172834.albatem/s/jdk/build/linux-i586/testoutput/jdk_rmi/JTwork/sun/rmi/rmic/manifestClassPath/run/hs_err_pid21522.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
FAIL: test failed unexpectedly
-----------------------------------------------------------------
/tmp/jprt/P1/172834.albatem/testproduct/linux_i586_2.6-product/bin/java -Djava.ext.dirs=jars/sub -cp . Main
FAIL: test failed unexpectedly
rm -rf pkg Main.java MainI.java Main.class MainI.class Main_Stub.class
rm -rf jars MANIFEST.MF A.jar B.zip
FAIL: 2 tests failed
STDERR:
/tmp/jprt/P1/172834.albatem/s/jdk/test/sun/rmi/rmic/manifestClassPath/Util.sh: line 82: 21522 Aborted                 (core dumped) "$@"
Exception in thread "main" java.rmi.StubNotFoundException: Stub class not found: Main_Stub; nested exception is: 
	java.lang.ClassNotFoundException: Main_Stub
	at sun.rmi.server.Util.createStub(Util.java:292)
	at sun.rmi.server.Util.createProxy(Util.java:140)
	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:196)
	at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:310)
	at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:237)
	at Main.main(Main.java:10)
Caused by: java.lang.ClassNotFoundException: Main_Stub
	at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:260)
	at sun.rmi.server.Util.createStub(Util.java:287)
	... 5 more

TEST RESULT: Failed. Execution failed: exit code 1
--------------------------------------------------
Comments
With Jon's fix for JDK-7199349 then these random crashes in JPRT go away.
02-10-2012

I've grabbed Jon's changes for 7199349 and that seems to resolve the issue. Assuming there isn't any sightings in the next day or so then I will close this issue as a dup of 7199349.
01-10-2012

Here's another one: -------------------------------------------------- TEST: sun/security/tools/keytool/AltProviderPath.sh JDK under test: (/tmp/jprt/P1/101709.albatem/testproduct/linux_i586_2.6-product) java version "1.8.0-internal" Java(TM) SE Runtime Environment (build 1.8.0-internal-201210011017.albatem.jdk-b00) Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode, sharing) ACTION: build -- Passed. Build successful REASON: User specified action: run build DummyProvider TIME: 0.051 seconds messages: command: build DummyProvider reason: User specified action: run build DummyProvider elapsed time (seconds): 0.051 ACTION: compile -- Passed. Compilation successful REASON: .class file out of date or does not exist TIME: 0.05 seconds messages: command: compile /tmp/jprt/P1/101709.albatem/s/test/sun/security/tools/keytool/DummyProvider.java reason: .class file out of date or does not exist elapsed time (seconds): 0.05 ACTION: shell -- Failed. Execution failed: exit code 1 REASON: User specified action: run shell AltProviderPath.sh set a few environment variables so that the shell-script can run stand-alone in the source directory TIME: 2.043 seconds messages: command: shell AltProviderPath.sh [set, a, few, environment, variables, so, that, the, shell-script, can, run, stand-alone, in, the, source, directory] reason: User specified action: run shell AltProviderPath.sh set a few environment variables so that the shell-script can run stand-alone in the source directory elapsed time (seconds): 2.043 STDOUT: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x40285d1f, pid=12630, tid=2000669584 # # JRE version: Java(TM) SE Runtime Environment (8.0) # Java VM: Java HotSpot(TM) Server VM (25.0-b02 mixed mode linux-x86 ) # Problematic frame: # V [libjvm.so+0x259d1f] CardTableExtension::scavenge_contents_parallel(ObjectStartArray*, MutableSpace*, HeapWord*, PSPromotionManager*, unsigned int, unsigned int)+0x16f # # Core dump written. Default location: /tmp/jprt/P1/101709.albatem/s/build/linux-i586/testoutput/jdk_security3/JTwork/scratch/core or core.12630 # # An error report file with more information is saved as: # /tmp/jprt/P1/101709.albatem/s/build/linux-i586/testoutput/jdk_security3/JTwork/scratch/hs_err_pid12630.log # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # STDERR: Generating 1,024 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 3,650 days for: CN=Dummy Test CA, OU=JSN, O=JavaSoft, C=US [Storing keystoreCA.dks] Phoning home... Using server: 10.161.186.18, port 4711 /tmp/jprt/P1/101709.albatem/s/test/sun/security/tools/keytool/AltProviderPath.sh: line 107: 12630 Aborted (core dumped) ${TESTJAVA}${FS}bin${FS}keytool -v -export -rfc -alias "dummyTestCA" -file "dummyTestCA.der" -keystore keystoreCA.dks -storetype "dks" -storepass storepass2 -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} TEST RESULT: Failed. Execution failed: exit code 1 --------------------------------------------------
01-10-2012