[MAGNOLIA-3995] Infinite loop when displaying a Downloaded List component in an inherited area Created: 05/Mar/12 Updated: 08/Mar/12 Resolved: 08/Mar/12 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | templating |
| Affects Version/s: | 4.5 |
| Fix Version/s: | 4.5.1 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Eric Hechinger | Assignee: | Philipp Bärfuss |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
| Description |
|
Gote the following error when trying to display a Downloaded List component: FreeMarker template error! Method public info.magnolia.cms.util.SiblingsHelper info.magnolia.templating.functions.TemplatingFunctions.siblings(info.magnolia.jcr.util.ContentMap) throws javax.jcr.RepositoryException threw an exception when invoked on info.magnolia.templating.functions.TemplatingFunctions@78dc5f15 with arguments of types [info.magnolia.jcr.util.ContentMap,] Java backtrace for programmers: AND SERVER LOG: java.lang.StackOverflowError |
| Comments |
| Comment by Eric Hechinger [ 06/Mar/12 ] |
|
After some test, this component (Downloaded List) is working fine in the main content, but fails in the extra area. |
| Comment by Eric Hechinger [ 07/Mar/12 ] |
|
Latested investigation SiblingsHelper node: website:/demo-project/about/test/extras/extras1/0[mgnl:component] DefaultContent.getChildren() node: website:/demo-project/about/test/extras/extras1[mgnl:area] ********** List<NodeIterator> nodes = new ArrayList<NodeIterator>(); Iterator<Node> iterator = sources.iterator(); while (iterator.hasNext() && inheritsNodes(current)) { current = iterator.next(); nodes.add(current.getNodes()); } return super.wrapNodeIterator(sortInheritedNodes(getWrappedNode().getNodes(), nodes)); DefaultInheritanceContentDecorator.sortInheritedNodes() NodeDepthComparator.compare() |