Michael Mikhulya created TAP5-2595:
--------------------------------------

             Summary: CME in MutableComponentModelImpl.metaData
                 Key: TAP5-2595
                 URL: https://issues.apache.org/jira/browse/TAP5-2595
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.4.1
            Reporter: Michael Mikhulya


Sometimes app fails to normally start. There are stack traces from production 
environment:

{noformat}
Caused by: java.util.ConcurrentModificationException: null
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.select(CaseInsensitiveMap.java:487)
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.select(CaseInsensitiveMap.java:457)
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.get(CaseInsensitiveMap.java:393)
        at 
org.apache.tapestry5.ioc.internal.util.InternalUtils.get(InternalUtils.java:493)
        at 
org.apache.tapestry5.internal.model.MutableComponentModelImpl.getMeta(MutableComponentModelImpl.java:359)
        at 
ru.aktivo.services.SecurityChecker.activatePage(SecurityChecker.java:62)
        at $PageActivator_9e307e7399594.activatePage(Unknown Source)
        at 
org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:92)


Caused by: java.util.ConcurrentModificationException: null
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.select(CaseInsensitiveMap.java:487)
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.select(CaseInsensitiveMap.java:457)
        at 
org.apache.tapestry5.ioc.util.CaseInsensitiveMap.get(CaseInsensitiveMap.java:393)
        at 
org.apache.tapestry5.ioc.internal.util.InternalUtils.get(InternalUtils.java:493)
        at 
org.apache.tapestry5.internal.model.MutableComponentModelImpl.getMeta(MutableComponentModelImpl.java:359)
        at 
org.apache.tapestry5.internal.services.MetaDataLocatorImpl.locate(MetaDataLocatorImpl.java:145)
        at 
org.apache.tapestry5.internal.services.MetaDataLocatorImpl.access$000(MetaDataLocatorImpl.java:28)
        at 
org.apache.tapestry5.internal.services.MetaDataLocatorImpl$1.valueForKey(MetaDataLocatorImpl.java:95)
        at 
org.apache.tapestry5.internal.services.MetaDataLocatorImpl.getSymbolExpandedValueFromCache(MetaDataLocatorImpl.java:124)
        at 
org.apache.tapestry5.internal.services.MetaDataLocatorImpl.findMeta(MetaDataLocatorImpl.java:90)
        at $MetaDataLocator_9e307e73993e5.findMeta(Unknown Source)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.findStrategy(PersistentFieldManagerImpl.java:99)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.postChange(PersistentFieldManagerImpl.java:84)
        at $PersistentFieldManager_9e307e739942c.postChange(Unknown Source)
        at 
org.apache.tapestry5.internal.structure.PageImpl.persistFieldChange(PageImpl.java:266)
{noformat}

These exceptions appears when app is started under load (small load, no 
benchmarks or whatever else).

If problem arise then app can't be normally started. Exception is thrown each 
time. Seems like the internal state of CaseInsensitiveMap become broken.

I will attach a patch for issue in several minutes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to