JDK-8027281 : Incorrect invokespecial generated for JCK lang EXPR/expr636/expr63602m* tests
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 8
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-10-24
  • Updated: 2013-12-03
  • Resolved: 2013-11-06
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 Other
8 b117Fixed port-stage-ppc-aixFixed
Related Reports
Blocks :  
Relates :  
Description
During testing of the fix for JDK-8026065: "InterfaceMethodref for invokespecial must name a direct superinterface", 4 failing JCK lang tests were observed.  The fix for JDK-8026065 adds new Hotspot verification code to check that invokespecial names a method in a direct superinterface of the current class or interface.  See (JVMS draft 0.6.3) 4.9.2 Structural Constraints,

   "Each invokespecial instruction must name an instance initialization method (2.0) or
    must reference a method in the current class or interface, a method in a superclass of the
    current class or interface, or a method in a direct superinterface of the current class or interface." 


The failing tests are:

lang/EXPR/expr636/expr63602m06
lang/EXPR/expr636/expr63602m26
lang/EXPR/expr636/expr63602m62
lang/EXPR/expr636/expr63602m261 

2 email threads are attached. The first Karen Kinnear made an inquiry to the javac folks concerning javac issuing an invokespecial on an indirect InterfaceMethodRef.  The second email attached is from Dan Smith who indicates that this is a javac bug.

The Hotspot Runtime team will hold off on committing the new verification code until this is an acknowledged bug since the commit will cause these 4 JCK tests to start failing.
Comments
Verified with b117
03-12-2013

Agree to push the fix. The test provided with the changeset covers the issue.
06-11-2013

8-critical-dev: this is a must fix for JDK 8, it is also blocking a JVM bug. We really need to fix this but it will take more than the ZBB opened bug allowed time to fix. It should be resolved by Nov 6.
06-11-2013