Freemarker: content?ancestors results in exception
--------------------------------------------------

                 Key: MAGNOLIA-3164
                 URL: http://jira.magnolia-cms.com/browse/MAGNOLIA-3164
             Project: Magnolia
          Issue Type: Bug
          Components: freemarker
    Affects Versions: 4.3.1
         Environment: Magnolia 4.3.1 deployed on RHEL/Intel.  Running the CE 
tomcat-bundle with STK 1.3 installed.
            Reporter: Richard Unger
            Assignee: Boris Kraft


Trying to use the node-built-in "ancestors" in a freemarker template results in 
the following exception.

Sample code to produce the error:   
                 [#list content?ancestors as parents]
                    bla bla
                 [/#list]



Exception stack trace:


FreeMarker template error!



Can't get parent of I18nContentWrapper for website:/[rep:root]:root node 
doesn't have a parent
The problematic instruction:
----------
==> list content?ancestors as pars [on line 5, column 1 in 
biolebensmittel/general/pfadLeiste]
 in include "/biolebensmittel/general/pfadLeiste" [on line 42, column 1 in 
biolebensmittel/Artikelkategorie]
----------

Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Can't get parent of 
I18nContentWrapper for website:/[rep:root]:root node doesn't have a parent
        at 
info.magnolia.freemarker.models.ContentModel.getParentNode(ContentModel.java:146)
        at 
freemarker.core.NodeBuiltins$ancestorsBI.calculateResult(NodeBuiltins.java:85)
        at 
freemarker.core.NodeBuiltins$NodeBuiltIn._getAsTemplateModel(NodeBuiltins.java:73)
        at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
        at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
        at freemarker.core.Environment.visit(Environment.java:210)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:210)
        at freemarker.core.Environment.include(Environment.java:1483)
        at freemarker.core.Include.accept(Include.java:169)
        at freemarker.core.Environment.visit(Environment.java:210)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:210)
        at freemarker.core.Environment.process(Environment.java:190)
        at freemarker.template.Template.process(Template.java:237)
        at 
info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:152)
        at 
info.magnolia.module.templating.renderers.FreemarkerTemplateRenderer.onRender(FreemarkerTemplateRenderer.java:74)
        at 
info.magnolia.module.templating.AbstractRenderer.render(AbstractRenderer.java:83)
        at 
info.magnolia.module.templating.renderers.AbstractTemplateRenderer.renderTemplate(AbstractTemplateRenderer.java:76)
        at 
info.magnolia.module.templating.engine.DefaultRenderingEngine$RenderingHelper$2.render(DefaultRenderingEngine.java:105)
        at 
info.magnolia.module.templating.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:165)
        at 
info.magnolia.module.templating.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:127)
        at 
info.magnolia.module.templating.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$91f654ef.render(<generated>)
        at 
info.magnolia.module.templating.RenderingFilter.render(RenderingFilter.java:132)
        at 
info.magnolia.module.templating.RenderingFilter.doFilter(RenderingFilter.java:92)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.BackwardCompatibilityFilter.doFilter(BackwardCompatibilityFilter.java:72)
        at 
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.InterceptFilter.doFilter(InterceptFilter.java:121)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.AggregatorFilter.doFilter(AggregatorFilter.java:103)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.RepositoryMappingFilter.doFilter(RepositoryMappingFilter.java:90)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:76)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:130)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:57)
        at 
info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:123)
        at 
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:75)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:83)
        at 
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:89)
        at 
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:80)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
        at 
info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:87)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:90)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:87)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
        at 
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
        at 
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:70)
        at 
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96)
        at 
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:199)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.jcr.ItemNotFoundException: root node doesn't have a parent
        at org.apache.jackrabbit.core.NodeImpl.getParent(NodeImpl.java:2122)
        at 
info.magnolia.cms.core.DefaultContent.getParent(DefaultContent.java:368)
        at 
info.magnolia.cms.util.ContentWrapper.getParent(ContentWrapper.java:275)
        at 
info.magnolia.freemarker.models.ContentModel.getParentNode(ContentModel.java:143)
        ... 107 more


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to