Community
Participate
Working Groups
Build ID: M20070921-1145 Steps To Reproduce: 1. create new Java project (e.g. with name 'simple') 2. create Xxx.java as follows: --- begin --- public class Xxx { static { new Object(){ public boolean f(Object o) { if (o instanceof Yyy) { ((Yyy<?, ?>)o).getZzz().// } } }; } } --- end --- (note 1: 'Yyy' and '.' will be marked as errors, it is ok) (note 2: there is no need to have Yyy.java) 3. place Java editor cursor between '.' and '//' and press Ctrl+Space. as a result, a 'stack overflow' messagebox comes and one can see in error log: !ENTRY org.eclipse.ui 4 0 2007-12-06 15:15:14.553 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.StackOverflowError at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToParameterizedType(LookupEnvironment.java:400) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToParameterizedType(LookupEnvironment.java:407) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToParameterizedType(LookupEnvironment.java:407) More information: The problem was found on Gentoo Linux x86. Reproduced on some Windows with Eclipse SDK 3.3.0 Build id: I20070323-1616.
Reproduced with HEAD.
Created attachment 86176 [details] Proposed fix
Released for 3.4M5 Test added Completion_1_5#test0338()
Verified for 3.4M5 using I20080204-0010 build.