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)