[
https://issues.apache.org/jira/browse/SHINDIG-1893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13651649#comment-13651649
]
Abhinav Singhvi commented on SHINDIG-1893:
------------------------------------------
Once this exception comes sometime default template processor stuck in some
sort of infinite loop :
at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquireShared(ReentrantReadWriteLock.java:486)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1281)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:731)
at
net.sf.ehcache.store.chm.SelectableConcurrentHashMap$Segment.get(SelectableConcurrentHashMap.java:871)
at
net.sf.ehcache.store.chm.SelectableConcurrentHashMap.get(SelectableConcurrentHashMap.java:360)
at net.sf.ehcache.store.MemoryStore.get(MemoryStore.java:300)
at
net.sf.ehcache.store.MemoryOnlyStore.get(MemoryOnlyStore.java:106)
at
net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2071)
at net.sf.ehcache.Cache.get(Cache.java:1589)
at
org.apache.shindig.common.cache.ehcache.EhConfiguredCache.getElement(EhConfiguredCache.java:54)
at
org.apache.shindig.expressions.juel.JuelProvider$1.get(JuelProvider.java:68)
at de.odysseus.el.tree.TreeStore.get(TreeStore.java:59)
at
de.odysseus.el.TreeValueExpression.<init>(TreeValueExpression.java:69)
at
de.odysseus.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:314)
at
de.odysseus.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:81)
at
org.apache.shindig.expressions.Expressions.parse(Expressions.java:115)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.evaluate(DefaultTemplateProcessor.java:484)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processAttributes(DefaultTemplateProcessor.java:417)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:354)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:130)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:356)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:245)
at
org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:153)
> Null pointer exception in gadget template processing
> ----------------------------------------------------
>
> Key: SHINDIG-1893
> URL: https://issues.apache.org/jira/browse/SHINDIG-1893
> Project: Shindig
> Issue Type: Bug
> Components: Java
> Affects Versions: 2.5.0-beta5
> Reporter: Marshall Shi
> Attachments: template.patch
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> During our gadget development, several gadgets are referring to the same
> gadget template. The rendering of those gadgets is problematic sometimes.
> When the problem occur, the Java stack trace look like this:
> Stack Dump = java.lang.NullPointerException
> at org.apache.xerces.dom.ParentNode.nodeListItem(Unknown Source)
> at org.apache.xerces.dom.ParentNode.item(Unknown Source)
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:134)
>
> at
> org.apache.shindig.gadgets.templates.tags.TemplateBasedTagHandler.processTemplate(TemplateBasedTagHandler.java:68)
>
> at
> org.apache.shindig.gadgets.templates.tags.TemplateBasedTagHandler.process(TemplateBasedTagHandler.java:58)
>
> at
> org.apache.shindig.gadgets.templates.XmlTemplateLibrary$LibraryTagHandler.process(XmlTemplateLibrary.java:305)
>
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElementInner(DefaultTemplateProcessor.java:341)
>
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processElement(DefaultTemplateProcessor.java:246)
>
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processNode(DefaultTemplateProcessor.java:154)
>
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processChildNodes(DefaultTemplateProcessor.java:134)
>
> at
> org.apache.shindig.gadgets.templates.DefaultTemplateProcessor.processTemplate(DefaultTemplateProcessor.java:126)
>
> at
> org.apache.shindig.gadgets.rewrite.TemplateRewriter.executeTemplates(TemplateRewriter.java:357)
>
> at
> org.apache.shindig.gadgets.rewrite.TemplateRewriter.rewriteImpl(TemplateRewriter.java:177)
>
> at
> org.apache.shindig.gadgets.rewrite.TemplateRewriter.rewrite(TemplateRewriter.java:129)
>
> at
> org.apache.shindig.gadgets.render.HtmlRenderer.render(HtmlRenderer.java:88)
> at
> org.apache.shindig.gadgets.render.Renderer.render(Renderer.java:101)
> at
> org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.render(GadgetRenderingServlet.java:112)
>
> at
> org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.doGet(GadgetRenderingServlet.java:90)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
> It should be a concurrent issue of xerces API when parsing the template.
> Proposed fix is to add synchronized to the key XML element.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira