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

CME in MutableComponentModelImpl.metaData

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 5.4.1
    • None
    • tapestry-core

    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

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

            Dates

              Created:
              Updated: