JDK-8008507 : JCK tests on lambda fail with VerifyError: Bad local variable type
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs25
  • Priority: P2
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: generic
  • Submitted: 2013-02-19
  • Updated: 2013-04-08
  • Resolved: 2013-04-08
Related Reports
Relates :  
Relates :  
Description
Tests on lambda fail (jdk8b77/jck8b17):

lang/STMT/stmt350/stmt35001m244/stmt35001m244.html
lang/STMT/stmt350/stmt35001m334/stmt35001m334.html
lang/STMT/stmt350/stmt35001m344/stmt35001m344.html
lang/STMT/stmt350/stmt35001m244/stmt35001m244_rt.html
lang/STMT/stmt350/stmt35001m334/stmt35001m334_rt.html
lang/STMT/stmt350/stmt35001m344/stmt35001m344_rt.html

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Exception in thread "main" java.lang.VerifyError: Bad local variable type
Exception Details:
  Location:
    javasoft/sqe/tests/lang/stmt350/stmt35001m244/stmt35001m244.lambda$0(I)I @8: aload_0
  Reason:
    Type integer (current frame, locals[0]) is not assignable to reference type
  Current Frame:
    bci: @8
    flags: { }
    locals: { integer }
    stack: { }
  Bytecode:
    0000000: b200 0704 60b3 0007 2aba 0014 0000 4c2b
    0000010: 05b9 0008 0200 571a ac                 

	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2474)
	at java.lang.Class.getMethod0(Class.java:2715)
	at java.lang.Class.getMethod(Class.java:1622)
	at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:528)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:510)


Comments
As noted in the earlier comment, these tests pass with jdk8/tp tip.
08-04-2013

Thanks. I see that all lang/INTF/intf111 lang/STMT/stmt350 (as specified in the above command line) pass with tip of jdk8/tl repo. $ java -Xinternalversion Java HotSpot(TM) 64-Bit Server VM (25.0-b24-jvmg) for linux-amd64 JRE (1.8.0-internal-byadaval_2013_04_05_09_19-b00), built on Apr 5 2013 09:31:18 by "byadaval" with gcc 4.4.6 20110731 (Red Hat 4.4.6-3) $ java -jar /java/re/jck/8/promoted/latest/binaries/JCK-compiler-8/lib/jtjck.jar -v -nojtx lang/INTF/intf111 lang/STMT/stmt350 Apr 5, 2013 10:37:58 AM Harness starting test run with configuration "jck_compiler_linux"... Passed: lang/INTF/intf111/intf11101m1/intf11101m1.html Passed: lang/INTF/intf111/intf11101m0/intf11101m0.html Passed: lang/INTF/intf111/intf11101m2/intf11101m2.html Passed: lang/INTF/intf111/intf11101m3/intf11101m3.html Passed: lang/INTF/intf111/intf11101m4/intf11101m4.html Passed: lang/STMT/stmt350/stmt35001m01/stmt35001m01.html Passed: lang/STMT/stmt350/stmt35001m03/stmt35001m03.html Passed: lang/STMT/stmt350/stmt35001m02/stmt35001m02.html Passed: lang/STMT/stmt350/stmt35001m111/stmt35001m111.html Passed: lang/STMT/stmt350/stmt35001m04/stmt35001m04.html Passed: lang/STMT/stmt350/stmt35001m112/stmt35001m112.html Passed: lang/STMT/stmt350/stmt35001m114/stmt35001m114.html Passed: lang/STMT/stmt350/stmt35001m113/stmt35001m113.html Passed: lang/STMT/stmt350/stmt35001m121/stmt35001m121.html Passed: lang/STMT/stmt350/stmt35001m122/stmt35001m122.html Passed: lang/STMT/stmt350/stmt35001m123/stmt35001m123.html Passed: lang/STMT/stmt350/stmt35001m124/stmt35001m124.html Passed: lang/STMT/stmt350/stmt35001m131/stmt35001m131.html Passed: lang/STMT/stmt350/stmt35001m132/stmt35001m132.html Passed: lang/STMT/stmt350/stmt35001m133/stmt35001m133.html Passed: lang/STMT/stmt350/stmt35001m134/stmt35001m134.html Passed: lang/STMT/stmt350/stmt35001m141/stmt35001m141.html Passed: lang/STMT/stmt350/stmt35001m143/stmt35001m143.html Passed: lang/STMT/stmt350/stmt35001m144/stmt35001m144.html Passed: lang/STMT/stmt350/stmt35001m142/stmt35001m142.html Passed: lang/STMT/stmt350/stmt35001m211/stmt35001m211.html Passed: lang/STMT/stmt350/stmt35001m212/stmt35001m212.html Passed: lang/STMT/stmt350/stmt35001m213/stmt35001m213.html Passed: lang/STMT/stmt350/stmt35001m214/stmt35001m214.html Passed: lang/STMT/stmt350/stmt35001m221/stmt35001m221.html Passed: lang/STMT/stmt350/stmt35001m222/stmt35001m222.html Passed: lang/STMT/stmt350/stmt35001m223/stmt35001m223.html Passed: lang/STMT/stmt350/stmt35001m224/stmt35001m224.html Passed: lang/STMT/stmt350/stmt35001m231/stmt35001m231.html Passed: lang/STMT/stmt350/stmt35001m232/stmt35001m232.html Passed: lang/STMT/stmt350/stmt35001m233/stmt35001m233.html Passed: lang/STMT/stmt350/stmt35001m234/stmt35001m234.html Passed: lang/STMT/stmt350/stmt35001m241/stmt35001m241.html Passed: lang/STMT/stmt350/stmt35001m242/stmt35001m242.html Passed: lang/STMT/stmt350/stmt35001m243/stmt35001m243.html Passed: lang/STMT/stmt350/stmt35001m244/stmt35001m244.html Passed: lang/STMT/stmt350/stmt35001m311/stmt35001m311.html Passed: lang/STMT/stmt350/stmt35001m312/stmt35001m312.html Passed: lang/STMT/stmt350/stmt35001m313/stmt35001m313.html Passed: lang/STMT/stmt350/stmt35001m314/stmt35001m314.html Passed: lang/STMT/stmt350/stmt35001m321/stmt35001m321.html Passed: lang/STMT/stmt350/stmt35001m322/stmt35001m322.html Passed: lang/STMT/stmt350/stmt35001m323/stmt35001m323.html Passed: lang/STMT/stmt350/stmt35001m324/stmt35001m324.html Passed: lang/STMT/stmt350/stmt35001m331/stmt35001m331.html Passed: lang/STMT/stmt350/stmt35001m332/stmt35001m332.html Passed: lang/STMT/stmt350/stmt35001m333/stmt35001m333.html Passed: lang/STMT/stmt350/stmt35001m334/stmt35001m334.html Passed: lang/STMT/stmt350/stmt35001m341/stmt35001m341.html Passed: lang/STMT/stmt350/stmt35001m342/stmt35001m342.html Passed: lang/STMT/stmt350/stmt35001m343/stmt35001m343.html Passed: lang/STMT/stmt350/stmt35001m344/stmt35001m344.html Apr 5, 2013 10:38:25 AM Finished executing all tests, wait for cleanup... Apr 5, 2013 10:38:26 AM Harness done with cleanup from test run. Total time = 27s Setup time = 0s Cleanup time = 0s Test results: passed: 57
05-04-2013

To reproduce with b77: /java/re/jdk/8/promoted/all/b77/binaries/solaris-sparc/bin/java -jar /java/re/jck/8/promoted/latest/binaries/JCK-compiler-8/lib/jtjck.jar -v -nojtx lang/INTF/intf111 lang/STMT/stmt350
05-04-2013

Can some one please provide instructions to reproduce these failures? Thx.
05-04-2013

lang/INTF/intf111 issues are not reproduced (fixed) in jdk8b79 lang/STMT/stmt350 issues are not reproduced (fixed) in jdk8b82
05-04-2013

The second batch of failures seems related to this VM bug (problem with verifier not allowing static interface method calls). I would suggest split the JCK issue into two ones - the first one could be closed, this one needs to be verified - not sure as to whether the VM fix made it to Tl/lambda-repo.
07-03-2013

The first batch of failures is a duplicate of 8004962 (which has been addressed in lambda repository and in TL).
07-03-2013

The following tests fail with this error as well: lang/INTF/intf111/intf11101m3/intf11101m3.html lang/INTF/intf111/intf11101m4/intf11101m4.html lang/INTF/intf111/intf11101m3/intf11101m3_rt.html lang/INTF/intf111/intf11101m4/intf11101m4_rt.html
07-03-2013