Community
Participate
Working Groups
3.1 public class A { void foo() { Vector v1= new Vector(); Vector v2= new Vector(); v2.add(v1); v1.add(v2); } } Caused by: java.lang.StackOverflowError at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfIthParamFrom(ParametricStructureComputer.java:297) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfType(ParametricStructureComputer.java:400) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfIthParamFrom(ParametricStructureComputer.java:298) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfType(ParametricStructureComputer.java:400) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfIthParamFrom(ParametricStructureComputer.java:298) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfType(ParametricStructureComputer.java:400) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfIthParamFrom(ParametricStructureComputer.java:298) at org.eclipse.jdt.internal.corext.refactoring.generics.ParametricStructureComputer.updateStructureOfType(ParametricStructureComputer.java:400) ...
Markus, how risky is a fix for 3.1.1 ?
Created attachment 26184 [details] Fix The patch extends the check for ... void foo() { Vector v1= new Vector(); v1.add(v1); } ... to work with multi-level cycles, too. The fix is low risk and just leaves v1 and v2 raw. I opt to put it into 3.1.1.
Patch looks good to me.
Tobias, could you pleas have a look too?
Patch looks good, verified that performance regression is almost unnoticeable. +1 for 3.1.1
Fixed in HEAD and 3.1.1 branch.
Start verification...
Verified using: M20050831-1200 + the two plug-ins in \\Rosenberg.zurich.ibm.com\public\t\jabiru\plugin-export\M20050831-1200.from20050902_1247 There's no stack overflow but I found the following strange behavior, see bug 108666 for details. Closing this one as verified.