JDK-8231499 : Shenandoah: compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2 fails
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8-shenandoah,11-shenandoah,14
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-09-26
  • Updated: 2019-10-08
  • Resolved: 2019-09-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 14
14 b17Fixed
Related Reports
Relates :  
Description
Fails only with Shenandoah, need to see what is up there.

$ CONF=linux-x86_64-server-fastdebug make images test TEST=compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC"

STDOUT:
CompileCommand: compileonly *TestDefaultMethodArrayCloneDeoptC2Interface.test
WB error: failed to blocking compile at level 4 method  compiler.arraycopy.TestDefaultMethodArrayCloneDeoptC2Interface::test
STDERR:
java.lang.Exception: Method should be compiled
	at compiler.arraycopy.TestDefaultMethodArrayCloneDeoptC2.testIntfArr(TestDefaultMethodArrayCloneDeoptC2.java:93)
	at compiler.arraycopy.TestDefaultMethodArrayCloneDeoptC2.main(TestDefaultMethodArrayCloneDeoptC2.java:66)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:830)

JavaTest Message: Test threw exception: java.lang.Exception: Method should be compiled
JavaTest Message: shutting down test

Comments
URL: https://hg.openjdk.java.net/jdk/jdk/rev/752bf4d5fbb7 User: rkennke Date: 2019-09-30 15:00:22 +0000
30-09-2019

Can turn that compilation failure fatal without changing the test with: $ CONF=linux-x86_64-server-fastdebug make images test TEST=compiler/arraycopy/TestDefaultMethodArrayCloneDeoptC2.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+AbortVMOnCompilationFailure"
26-09-2019

Bisection says the test failure started to happen after JDK-8231086. Or maybe by JDK-8231085, but it fails to compile without JDK-8231086.
26-09-2019

Adding -XX:+PrintCompilation to that test yields: 190 10 b compiler.arraycopy.TestDefaultMethodArrayCloneDeoptC2Interface::test (8 bytes) COMPILE SKIPPED: failed spill-split-recycle sanity check (not retryable)
26-09-2019