RFR 8210483: AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue Sep 11 07:51:40 UTC 2018


What you did looks sensible - I'm not sure we've seen the end of it 
though; the issue is that there are clients that rely on this value:

http://hg.openjdk.java.net/jdk/jdk/file/tip/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java#l1308

So if that value changes from OVERLOAD to ERROR, a method reference 
would (e.g. in this case) not considered as 'stuck'. That means that we 
would attempt to type-check it during overload resolution in Attr. This 
is not a big deal (Attr will simply end up with an erroneous type), but 
it kind of gives an idea of the hidden scope of the change here.

At the very least I would try to also fix the Overload and 
CheckStuckPolicy in DeferredAttr to take the new enum constant into 
account so that en ERROR overload kind is effectively treated as 
OVERLOAD for the purpose of stuck analysis. That should minimize impact.

Thoughts?
Maurizio


On 11/09/18 02:05, Liam Miller-Cushon wrote:
> Hi,
>
> This change fixes a regression introduced by the fix for JDK-8203679.
>
> I left a comment on the bug with my diagnosis of the crash: 
> https://bugs.openjdk.java.net/browse/JDK-8210483?focusedCommentId=14209494&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14209494
>
> bug: https://bugs.openjdk.java.net/browse/JDK-8210483
> webrev: http://cr.openjdk.java.net/~cushon/8210483/webrev.00/ 
> <http://cr.openjdk.java.net/%7Ecushon/8210483/webrev.00/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20180911/fa4c8050/attachment.html>


More information about the compiler-dev mailing list