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

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

     [ https://issues.apache.org/jira/browse/BROOKLYN-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Kennedy reassigned BROOKLYN-77:
--------------------------------------

    Assignee: Andrew Kennedy

> 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
>            Assignee: Andrew Kennedy
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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)