brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Kennedy (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (BROOKLYN-77) Infinite recursion getting RendererHints
Date Fri, 10 Oct 2014 22:54:33 GMT

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

Andrew Kennedy resolved BROOKLYN-77.
------------------------------------
    Resolution: Fixed

Pull request #236 fixes the issue, happy to merge it if there are no CLA licensing issues?


> 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)

Mime
View raw message