JDK-8012688 : java assert in j.l.invoke.MemberName for interface statics
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang.invoke
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2013-04-19
  • Updated: 2013-10-01
  • Resolved: 2013-10-01
Related Reports
Duplicate :  
Description
There is an assert in j.l.invoke.MemberName that triggers when running with -esa and invoking a method reference to an interface static. See attached diff for a possible fix and a test.

Stacktrace:

java.lang.AssertionError
        at java.lang.invoke.MemberName.referenceKindIsConsistent(MemberName.java:238)
        at java.lang.invoke.MemberName.access$100(MemberName.java:72)
        at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:856)
        at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:872)
        at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1037)
        at java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1341)
        at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:381)
        at MethodReferenceAssertionError.main(MethodReferenceAssertionError.java)
Comments
If the fix is as trivial as it looks I can send this out for review. Which mailing list would be appropriate?
19-04-2013