IBM Support

PM79779: CONCURRENTMODIFICATIONEXCEPTION WHEN STARTING APPLICATIONS IF SERVER STARTED WITH 'START COMPONENTS AS NEEDED'

Fixes are available

8.5.0.2: WebSphere Application Server V8.5 Fix Pack 2
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If you are using the 'start components as needed' option when
    starting the server, the component startup sequence will be
    changed. Then when starting applications, the following error
    will be thrown because a certain component processor is
    being registered later than expected:
    
    java.util.ConcurrentModificationException
    at
    java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap
    .java:122)
    at
    java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127)
    at java.util.HashMap$ValueIterator.next(HashMap.java:212)
    at
    com.ibm.ws.injectionengine.InjectionEngineImpl.processorInitiali
    zation(InjectionEngineImpl.java:358)
    at
    com.ibm.ws.injectionengine.InjectionEngineImpl.processInjectionM
    etaData(InjectionEngineImpl.java:309)
    at
    com.ibm.ws.util.ComponentNameSpaceHelper.populateJavaNameSpace(C
    omponentNameSpaceHelper.java:806)
    at
    com.ibm.ws.util.ComponentNameSpaceHelper.populateJavaNameSpace(C
    omponentNameSpaceHelper.java:745)
    at
    com.ibm.ws.webcontainer.webapp.WebAppImpl.scanListeners(WebAppIm
    pl.java:656)
    at
    com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.
    java:250)
    at
    com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(We
    bGroupImpl.java:100)
    at
    com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(Virtua
    lHostImpl.java:166)
    at
    com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.
    java:732)
    at
    com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebCo
    ntainer.java:617)
    at
    com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebCo
    ntainerImpl.java:376)
    at
    com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebCont
    ainerImpl.java:668)
    ...
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server that use the start components as     *
    *                  needed configuration option.                *
    ****************************************************************
    * PROBLEM DESCRIPTION: ConcurrentModificationException may     *
    *                      occur when starting applications if     *
    *                      'start components as needed' option     *
    *                      is used.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the 'start components as needed' option is used, some
    services provided by the application server are not started
    until an application starts which uses those services.
    When starting applications enable some container provided
    services, such as JPA, BeanValidation, or WebServices, this is
    interfering with other concurrently starting applications and
    resulting in a ConcurrentModificationException like this:
    Caused by: java.util.ConcurrentModificationException
    at
    java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashM
    ap.java:122)
    at
    java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127)
    at java.util.HashMap$ValueIterator.next(HashMap.java:212)
    at
    com.ibm.ws.injectionengine.InjectionEngineImpl.processorInitiali
    zation(InjectionEngineImpl.java:358)
    at
    com.ibm.ws.injectionengine.InjectionEngineImpl.processInjectionM
    etaData(InjectionEngineImpl.java:309)
    at
    com.ibm.ws.util.ComponentNameSpaceHelper.populateJavaNameSpace(C
    omponentNameSpaceHelper.java:806)
    

Problem conclusion

  • When the 'start components as needed' option is used, the
    injection service that controls which objects may be
    referenced by or injected into an application is dynamically
    notified of new services as they are started, so that
    additional data types may be referenced or injected. A
    synchronization problem exists in this application server
    service such that if a dynamic notification occurs while an
    application is starting, a ConcurrentModificationException may
    occur.
    
    The injection service code within the application server
    process has been updated to correct this synchronization
    problem. Multiple applications may start concurrently with the
    'start components as needed' option enabled.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.29, 8.0.0.6, and 8.5.0.2.  Please refer to the
    Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM79779

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-12-28

  • Closed date

    2013-01-10

  • Last modified date

    2013-01-10

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 October 2021