| Summary: | java.lang.IllegalStateException at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.clone(UnresolvedReferenceBinding.java:43) | ||
|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Tom van den Berge <tom.vandenberge> |
| Component: | Core | Assignee: | Srikanth Sankaran <srikanth_sankaran> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | jarthana, manoj.palat, shankhba, srikanth_sankaran |
| Version: | 4.4 | ||
| Target Milestone: | 4.4.2 | ||
| Hardware: | PC | ||
| OS: | Mac OS X | ||
| Whiteboard: | |||
|
Description
Tom van den Berge
Hi Tom, Will it be possible for you to provide us a test case. Thanks (In reply to shankha banerjee from comment #2) > Hi Tom, > Will it be possible for you to provide us a test case. > > Thanks I can't. I've tried many things, but it seems to have something to do with my project. It's not a specific piece of code that always gives this error. (In reply to Tom van den Berge from comment #3) > (In reply to shankha banerjee from comment #2) > > Hi Tom, > > Will it be possible for you to provide us a test case. > > > > Thanks > > I can't. I've tried many things, but it seems to have something to do with > my project. It's not a specific piece of code that always gives this error. Tom, did you say you are on 4.4.1 ? I think this is likely the same bug as https://bugs.eclipse.org/bugs/show_bug.cgi?id=432977 which was resolved only for 4.5 M2. If you verify the problem is not there on M2, I can backport the fix for you. > I think this is likely the same bug as > https://bugs.eclipse.org/bugs/show_bug.cgi?id=432977 which was resolved only > for 4.5 M2. This bug bug was fixed (or at least it disappeared) in 4.4. Stephan mentions this in comment #9, and I have confirmed the fix in comment #10. I can't reproduce this particular bug in 4.4.1 either. The bug in question here is unfortunately very hard to reproduce. When I reported it, I could reproduce it in many different classes, but today I can't anymore. Neither the code nor my Eclipse installation have changed. I'm puzzled ;) I can readily get rid of this ISE - as it is not strictly speaking a correctness issue at the point it is thrown - It is just that the type system is still holding onto some handles it should not be. Cleanest would be to understand how that happens and address it, but looks like without a test case we are not going to be able to do that .... OK, I managed to reproduce with a junit. Sorry, the bug is due to my fault. The throw of IllegalStateException is completely unjustified - I was under the impression that once a URB is resolved, the resolution propagates itself all over leaving no trace of the URB. I realize now that this is not so. The resolution propagates itself all over source types yes, but binary types could still be legitimately holding handles to the URB. Fix is simply to remove the throw and forward the clone call to the resolved type. Fix and tests released here: http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=f316b069838038f8089cd2fbc2dd1992644b54d4. Jay, this needs to be backported too. Reopening for back porting. In this case, I think you are waiting for the missed out verification during 4.5 M3 ? Anyways updated thw white board content. Manoj, can you verify this for M3 so Jay can backport this ? TIA (In reply to Srikanth Sankaran from comment #11) > Manoj, can you verify this for M3 so Jay can backport this ? TIA Manoj, can you verify this for M3 so Jay can backport this ? TIA (In reply to Srikanth Sankaran from comment #12) > (In reply to Srikanth Sankaran from comment #11) > > Manoj, can you verify this for M3 so Jay can backport this ? TIA > > Manoj, can you verify this for M3 so Jay can backport this ? TIA Manoj, can you please verify this so Jay can backport this ? TIA. Verified for 4.5 M3 by code inspection. (In reply to Jayaprakash Arthanareeswaran from comment #14) > Verified for 4.5 M3 by code inspection. Thanks Jay. Now if commit order is not important, I can release this in the maintenance branch right now - if commit order is important, I suggest let us leave this resolved for M3 with whiteboard already tagged for 4.4.2 and reopen it just in time for backport. (I am not even sure, we need to reopen to adjust target). Leaving a bug in reopened state for several weeks is very unhelpful IMHO. Let me know what you would like to do, Thanks Jay. (In reply to Srikanth Sankaran from comment #15) > Thanks Jay. Now if commit order is not important, I can release this > in the maintenance branch right now - if commit order is important, I > suggest > let us leave this resolved for M3 with whiteboard already tagged for 4.4.2 It's not important, but in certain cases of M2 candidates, I found dependencies and hence tried the same order. Looks like in this case, there is none, so this can be released already. > reopen it just in time for backport. (I am not even sure, we need to reopen > to adjust target). Leaving a bug in reopened state for several weeks is > very unhelpful IMHO. I understand and I am okay with this. The reason I wanted to do it that way was to differentiate bugs that are being back ported in current batch and bugs that are being considered in future batches. I guess I can just maintain a list locally. (In reply to Jayaprakash Arthanareeswaran from comment #16) >Looks like in this case, there > is none, so this can be released already. Thanks, released for Luna SR2 here: http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?h=R4_4_maintenance&id=38586fcf09747ed185b551296a6070b2be6702ab I just upgraded to 4.4.1.M20141112-0800, but I'm still getting the same exception :( (In reply to Tom van den Berge from comment #18) > I just upgraded to 4.4.1.M20141112-0800, but I'm still getting the same > exception :( Sorry to hear that. How did you upgrade? Did you download the full build or through the update site? In any case, can you check what version you have for org.eclipse.jdt.core bundle? Thanks! I upgraded through the update site , and I currently have 3.10.0.v20140902-0626 (under Plug-ins), which is not good I guess. I just updated it again through the update site, and now I have 3.10.2.v20141112-0635. Maybe I did something wrong the first time, but it seems ok now. I'll let you know if the bug shows up again or not. Thanks! As per comment #20, marking as verified. (In reply to Tom van den Berge from comment #20) > I upgraded through the update site , and I currently have > 3.10.0.v20140902-0626 (under Plug-ins), which is not good I guess. > > I just updated it again through the update site, and now I have > 3.10.2.v20141112-0635. Maybe I did something wrong the first time, but it > seems ok now. > > I'll let you know if the bug shows up again or not. Thanks! Thanks, this particular one cannot show up - it is physically impossible as UnresolvedReferenceBinding.clone() does not throw ISE any more :) I am more interested in https://bugs.eclipse.org/bugs/show_bug.cgi?id=445630#c15 since we think it should go away, but have no proof that it should. Thanks Tom. |