Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
5.4.1
-
None
Description
Sometimes app fails to normally start. There are stack traces from production environment:
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)
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.