You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tiles.apache.org by "Boxiong Ding (JIRA)" <ji...@apache.org> on 2010/04/14 22:06:50 UTC

[jira] Created: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

DefinitionsFactoryException: XML error reading definitions under large load
---------------------------------------------------------------------------

                 Key: TILES-505
                 URL: https://issues.apache.org/jira/browse/TILES-505
             Project: Tiles
          Issue Type: Bug
          Components: tiles-core
    Affects Versions: 2.0.0
         Environment: Tomcat 5.5.27, Struts 2.0.6.
            Reporter: Boxiong Ding


I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:

2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
        at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
        at org.apache.commons.digester.Rule.end(Rule.java:228)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1591)
        at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
        at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
        at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
        at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
        at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
        at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
        at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
        at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
        at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
        at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)

and immediately with the following exceptions:

2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
        at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
        at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
        at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
        at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
        at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
        at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
        at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
        at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
        at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
        at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)


Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".

I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 



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

        

[jira] Commented: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Boxiong Ding (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857452#action_12857452 ] 

Boxiong Ding commented on TILES-505:
------------------------------------

Are you sure the problem was fixed in 2.0.7? I don't see much difference in the source code. I will give a try any way.

> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

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

        

[jira] Issue Comment Edited: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Antonio Petrelli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12858781#action_12858781 ] 

Antonio Petrelli edited comment on TILES-505 at 4/20/10 4:06 AM:
-----------------------------------------------------------------

What do you mean with "won't even start?" Please post any log you have.
Just a note: the 2.0.x branch is not maintained anymore. You are encouraged to upgrade to the Tiles 2.1.x branch for a stable version.
However I doubt that Struts 2.0.x is compatible with Tiles 2.1.x

      was (Author: brenmcguire):
    What do you mean with "won't even start?" Please post any log you have.

  
> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Antonio Petrelli (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antonio Petrelli closed TILES-505.
----------------------------------

    Resolution: Incomplete

Closed, the reporter did not give enough information to verify the bug.

> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Antonio Petrelli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857219#action_12857219 ] 

Antonio Petrelli commented on TILES-505:
----------------------------------------

Try using Tiles 2.0.7.

> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

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

        

[jira] Commented: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Boxiong Ding (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12858699#action_12858699 ] 

Boxiong Ding commented on TILES-505:
------------------------------------

I have tried Tiles 2.0.7, but Tomcat won't even start. 

> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TILES-505) DefinitionsFactoryException: XML error reading definitions under large load

Posted by "Antonio Petrelli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TILES-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12858781#action_12858781 ] 

Antonio Petrelli commented on TILES-505:
----------------------------------------

What do you mean with "won't even start?" Please post any log you have.


> DefinitionsFactoryException: XML error reading definitions under large load
> ---------------------------------------------------------------------------
>
>                 Key: TILES-505
>                 URL: https://issues.apache.org/jira/browse/TILES-505
>             Project: Tiles
>          Issue Type: Bug
>          Components: tiles-core
>    Affects Versions: 2.0.0
>         Environment: Tomcat 5.5.27, Struts 2.0.6.
>            Reporter: Boxiong Ding
>
> I am using Struts 2.0.6, Tiles 2.0 and Tomcat 5.5.27. The application runs fine in the past, but recently we did some load testing and get the following exception intermittently during load test:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor22] ? - End event threw exception
> java.lang.NoSuchMethodException: No such accessible method: addAttribute() on object: org.apache.tiles.definition.digester.DigesterDefinitionsReader
>         at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:250)
>         at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:208)
>         at org.apache.commons.digester.Rule.end(Rule.java:228)
>         at org.apache.commons.digester.Digester.endElement(Digester.java:1067)
>         at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:158)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> and immediately with the following exceptions:
> 2010-04-08 05:51:09,970 ERROR [http-443-Processor38] ? - ApplicationSessionAwareInterceptor:
> org.apache.tiles.definition.DefinitionsFactoryException: XML error reading definitions.
>         at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:257)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(UrlDefinitionsFactory.java:116)
>         at org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(UrlDefinitionsFactory.java:136)
>         at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:463)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:363)
>         at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:345)
>         at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:107)
>         at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
>         at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:343)
> Both exceptions are from DigesterDefinitionsReader.java and root cause for the second one is "org.xml.sax.SAXException: FWK005 parse may not be called while parsing.".
> I am wondering if tiles is thread safe in reading xml definitions. What I understand is it is using Xerces parser to parse tiles.xml, but Xerces parser is not thread safe [http://xerces.apache.org/xerces2-j/faq-dom.html], so there should be some synchronization. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.