[jbosstools-issues] [JBoss JIRA] (JBIDE-21287) Infinite cycle in ParametedType.isAssignableTo()

Rastislav Wagner (JIRA) issues at jboss.org
Thu Dec 10 04:42:01 EST 2015


Rastislav Wagner created JBIDE-21287:
----------------------------------------

             Summary: Infinite cycle in ParametedType.isAssignableTo()
                 Key: JBIDE-21287
                 URL: https://issues.jboss.org/browse/JBIDE-21287
             Project: Tools (JBoss Tools)
          Issue Type: Bug
          Components: cdi
    Affects Versions: 4.3.0.Final
            Reporter: Viacheslav Kabanovich
            Assignee: Viacheslav Kabanovich
             Fix For: 4.3.1.Beta1, 4.4.0.Alpha1


java.lang.StackOverflowError is reported in
http://stackoverflow.com/questions/33301776/an-internal-error-occurred-during-jboss-tools-project-validator

Infinitely cycling calls are 
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)

Sample that reproduces the stack trace:
{code}
public class B {
	
	static class A1<V extends A1<V>> {		
	}

	static class A2<T extends A2<T>> extends A1<A2<T>> {
	}
	
	static class A3 extends A2<A3> {
	}

	@Inject
	A1<A2<A3>> q;
}
{code}

One more infinite cycle in ParametedType.equals():
	at org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:171)
can be reproduced with sample:
{code}
public class A<V extends A.B<V>>  {

	static class B<V1 extends A.B<V1>> {  
	}

	@Inject
	A.B<V> s2; 
}
 {code}




--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list