JDK-8055269 : java/lang/invoke/MethodHandles/CatchExceptionTest.java fails intermittently
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang.invoke
  • Affected Version: 8u40,8u60,9
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-08-18
  • Updated: 2016-06-03
  • Resolved: 2015-05-19
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 8 JDK 9
8u60Fixed 9 b66Fixed
Related Reports
Relates :  
Description
TESTFAIL:java/lang/invoke/MethodHandles/CatchExceptionTest.java

java/lang/invoke/MethodHandles/CatchExceptionTest.java failed in jdk9/b25 same binaries run, one time (out of 466) only so far.

----------System.out:(2/44)----------
-Dseed=7710583411526433950
-DtestLimit=2000
----------System.err:(28/1879)----------
java.lang.IllegalArgumentException: bad parameter count 256
	at java.lang.invoke.MethodHandleStatics.newIllegalArgumentException(MethodHandleStatics.java:122)
	at java.lang.invoke.MethodType.checkSlotCount(MethodType.java:185)
	at java.lang.invoke.MethodType.checkPtypes(MethodType.java:178)
	at java.lang.invoke.MethodType.<init>(MethodType.java:109)
	at java.lang.invoke.MethodType.makeImpl(MethodType.java:307)
	at java.lang.invoke.MethodType.methodType(MethodType.java:206)
	at java.lang.invoke.LambdaForm.signatureType(LambdaForm.java:488)
	at java.lang.invoke.LambdaForm.getPreparedForm(LambdaForm.java:649)
	at java.lang.invoke.LambdaForm.prepare(LambdaForm.java:566)
	at java.lang.invoke.MethodHandle.<init>(MethodHandle.java:463)
	at java.lang.invoke.SimpleMethodHandle.<init>(SimpleMethodHandle.java:37)
	at java.lang.invoke.SimpleMethodHandle.dropArguments(SimpleMethodHandle.java:54)
	at java.lang.invoke.MethodHandles.dropArguments(MethodHandles.java:2282)
	at java.lang.invoke.MethodHandles.catchException(MethodHandles.java:2838)
	at test.java.lang.invoke.MethodHandles.CatchExceptionTest.runTest(CatchExceptionTest.java:175)
	at test.java.lang.invoke.MethodHandles.CatchExceptionTest.main(CatchExceptionTest.java:105)
	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:484)
	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.IllegalArgumentException: bad parameter count 256
JavaTest Message: shutting down test


Comments
RULE java/lang/invoke/MethodHandles/CatchExceptionTest.java Exception java.lang.InternalError: java.lang.NoSuchMethodException: no such method: java.lang.invoke.MethodHandle.linkToSpecial(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,int,long,Object,int,Object,Object,Object,int,int,Object,Object,Object,Object,Object,long,Object,Object,long,int,Object,Object,int,Object,long,int,Object,int,Object,Object,Object,int,Object,Object,long,Object,long,Object,int,long,Object,Object,Object,Object,int,Object,int,int,Object,Object,Object,long,Object,Object,int,int,long,int,Object,int,long,long,Object,Object,int,long,Object,Object,int,long,int,Object,Object,Object,Object,int,int,int,int,Object,Object,Object,Object,int,int,int,Object,Object,Object,int,Object,int,Object,int,Object,long,Object,Object,Object,int,Object,int,Object,Object,long,Object,long,Object,int,Object,int,Object,Object,int,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,MemberName)Object/invokeStatic RULE java/lang/invoke/MethodHandles/CatchExceptionTest.java Exception java.lang.NoSuchMethodError: java.lang.invoke.MethodHandle.linkToSpecial(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;IJLjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;IILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;JILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;JILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;JLjava/lang/Object;IJLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;IILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;IIJILjava/lang/Object;IJJLjava/lang/Object;Ljava/lang/Object;IJLjava/lang/Object;Ljava/lang/Object;IJILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;IIIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;JLjava/lang/Object;JLjava/lang/Object;ILjava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object; RULE java/lang/invoke/MethodHandles/CatchExceptionTest.java Exception java.lang.NoSuchMethodException: no such method: java.lang.invoke.MethodHandle.linkToSpecial(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,int,long,Object,int,Object,Object,Object,int,int,Object,Object,Object,Object,Object,long,Object,Object,long,int,Object,Object,int,Object,long,int,Object,int,Object,Object,Object,int,Object,Object,long,Object,long,Object,int,long,Object,Object,Object,Object,int,Object,int,int,Object,Object,Object,long,Object,Object,int,int,long,int,Object,int,long,long,Object,Object,int,long,Object,Object,int,long,int,Object,Object,Object,Object,int,int,int,int,Object,Object,Object,Object,int,int,int,Object,Object,Object,int,Object,int,Object,int,Object,long,Object,Object,Object,int,Object,int,Object,Object,long,Object,long,Object,int,Object,int,Object,Object,int,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,MemberName)Object/invokeStatic RULE java/lang/invoke/MethodHandles/CatchExceptionTest.java Exception java.lang.RuntimeException: method call w/ lag = ...: expected [throwOrReturn/normal, [#-8928053, null]] to equal null
12-05-2015

Another instance of this failure since in Aurora, this time with a seed value of 5958033809167032561: http://scaaa008.us.oracle.com:9502/runs/00877/877106.CORELIBS-JDK-NIGHTLY-JTREG/877106.CORELIBS-JDK-NIGHTLY-JTREG-7/results/workDir/java/lang/invoke/MethodHandles/CatchExceptionTest.jtr
11-05-2015

[~iignatyev] Igor, please, find somebody to fix this test bug. Thanks!
17-04-2015

Another seed value observed to elicit failure: -Dseed=4147447313846965069
25-02-2015

When the test in question is run using -Dseed=7710583411526433950 as an argument to jtreg, the test fails consistently, 10 out of 10 times as run. Changing priority accordingly. Tests which use randomness to select their test cases should be monitored extra closely for intermittent failures as that could indicate the presence of a bug.
24-02-2015