Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-2595

CME in MutableComponentModelImpl.metaData

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.4.1
    • Fix Version/s: None
    • Component/s: tapestry-core
    • Labels:

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mihasik Michael Mikhulya
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: