You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Matthew Champion (JIRA)" <ji...@apache.org> on 2014/10/10 14:00:35 UTC

[jira] [Created] (BROOKLYN-77) Infinite recursion getting RendererHints

Matthew Champion created BROOKLYN-77:
----------------------------------------

             Summary: Infinite recursion getting RendererHints
                 Key: BROOKLYN-77
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-77
             Project: Brooklyn
          Issue Type: Bug
    Affects Versions: 0.7.0-SNAPSHOT
            Reporter: Matthew Champion


The RendererHints.getHintsFor(Object,Class) static method calls itself recursively with the same arguments passed into it. It was intended to delegate to the method RendererHints._getHintsFor(Object,Class) like several of the other overloaded implementations. This causes an infinite recursion triggering a stackoverflow error.

The stack trace is just a snippet as it is long and only a single line matters.

      at brooklyn.util.task.DynamicTasks.waitForLast(DynamicTasks.java:304) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.entity.software.MachineLifecycleEffectorTasks.start(MachineLifecycleEffectorTasks.java:212) ~[brooklyn-software-base-0.7.0-20141009.100111-188.jar:0.7.0-SNAPSHOT]
        at brooklyn.entity.basic.SoftwareProcessImpl.doStart(SoftwareProcessImpl.java:473) ~[brooklyn-software-base-0.7.0-20141009.100111-188.jar:0.7.0-SNAPSHOT]
        at brooklyn.entity.basic.SoftwareProcessImpl.start(SoftwareProcessImpl.java:427) ~[brooklyn-software-base-0.7.0-20141009.100111-188.jar:0.7.0-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_67]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_67]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_67]
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1047) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown Source) ~[na:na]
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) ~[groovy-all-1.8.6.jar:1.8.6]
        at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown Source) ~[na:na]
        at brooklyn.util.GroovyJavaMethods.invokeMethodOnMetaClass(GroovyJavaMethods.groovy:144) ~[brooklyn-utils-groovy-0.7.0-20141009.094638-190.jar:0.7.0-SNAPSHOT]
        at brooklyn.management.internal.AbstractManagementContext.invokeEffectorMethodLocal(AbstractManagementContext.java:255) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.management.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:278) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        ... 11 common frames omitted
Caused by: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.7.0_67]
        at java.util.concurrent.FutureTask.get(FutureTask.java:188) [na:1.7.0_67]
        at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[guava-17.0.jar:na]
        at brooklyn.util.task.BasicTask.get(BasicTask.java:343) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.util.task.BasicTask.getUnchecked(BasicTask.java:352) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        ... 32 common frames omitted
java.lang.StackOverflowError: null
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]
        at brooklyn.config.render.RendererHints.getHintsFor(RendererHints.java:97) ~[brooklyn-core-0.7.0-20141009.095343-189.jar:0.7.0-SNAPSHOT]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)