Description
The test can fail due to sun.reflect.GeneratedConstructorAccessor1 not being found. Here is the error message:
java.lang.Exception: Failed dcmd queue, Class for name: 1310 ! sun.reflect.GeneratedConstructorAccessor1::newInstance (53 bytes)
at CompilerQueueTest.validateMethodLine(CompilerQueueTest.java:101)
at CompilerQueueTest.main(CompilerQueueTest.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
at java.lang.Thread.run(Thread.java:745)
JavaTest Message: Test threw exception: java.lang.Exception: Failed dcmd queue, Class for name: 1310 ! sun.reflect.GeneratedConstructorAccessor1::newInstance (53 bytes)
The failure is nondeterministic because it depends on whether the method sun.reflect.GeneratedConstructorAccessor1::newInstance was already compiled or not. The failure can be reproduced deterministically (at least on my machine) by running the test with -XX:CompileThreshold=1 or with -XX:CompileThresholdScaling=0.01 so that methods are compiled earlier than usual.
I used the following revision of the hotspot repo:
changeset: 7666:520b40caa4d3
tag: tip
user: zmajo
date: Thu Jan 15 11:30:13 2015 +0100
summary: 8067374: Use %f instead of %g for LogCompilation output
java.lang.Exception: Failed dcmd queue, Class for name: 1310 ! sun.reflect.GeneratedConstructorAccessor1::newInstance (53 bytes)
at CompilerQueueTest.validateMethodLine(CompilerQueueTest.java:101)
at CompilerQueueTest.main(CompilerQueueTest.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
at java.lang.Thread.run(Thread.java:745)
JavaTest Message: Test threw exception: java.lang.Exception: Failed dcmd queue, Class for name: 1310 ! sun.reflect.GeneratedConstructorAccessor1::newInstance (53 bytes)
The failure is nondeterministic because it depends on whether the method sun.reflect.GeneratedConstructorAccessor1::newInstance was already compiled or not. The failure can be reproduced deterministically (at least on my machine) by running the test with -XX:CompileThreshold=1 or with -XX:CompileThresholdScaling=0.01 so that methods are compiled earlier than usual.
I used the following revision of the hotspot repo:
changeset: 7666:520b40caa4d3
tag: tip
user: zmajo
date: Thu Jan 15 11:30:13 2015 +0100
summary: 8067374: Use %f instead of %g for LogCompilation output
Attachments
Issue Links
- relates to
-
JDK-8069162 quarantine serviceability/dcmd/compiler/CompilerQueueTest.java
-
- Resolved
-
-
JDK-8061250 serviceability/dcmd/compiler/CompilerQueueTest.java failed with "Exception java.lang.Exception: Failed dcmd queue, Class for name:..."
-
- Resolved
-