IBM Support

PI59279: INFINITE LOOP DURING APPLICATION STARTUP WHILE ACCESSING PROGRAM MODEL EXTENSION METADATA

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • A hang can occur during application server startup while
    accessing application metadata when starting applications.
    
    The symptom is an warning from the thread monitor, which is
    output to server logs.  The warning will be accompanied with a
    stack showing a call to "HashMap.findNonNullKeyEntry()".
    
    For example:
    
    ThreadMonitor W   WSVR0605W: Thread may be hung  -
    server.startup
    
    at java.util.HashMap.findNonNullKeyEntry(HashMap.java:601)
    at java.util.HashMap.getEntry(HashMap.java:585)
    at java.util.HashMap.get(HashMap.java:571)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getExtendedMeta
    Data(BasicExtendedMetaData.java:2717)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getName(BasicEx
    tendedMetaData.java:301)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData$EPackageExtende
    dMetaDataImpl.getType(BasicExtendedMetaData.java:2091)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getType(BasicEx
    tendedMetaData.java:115)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.getType(XMLHelperIm
    pl.java:812)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.createObject(XMLHel
    perImpl.java:832)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFactor
    y(XMLHandler.java:1941)
    at
    com.ibm.websphere.models.extensions.pmeext.ejbext.serialization.
    PMEEjbextSAXXMLHandler.createObjectFromFactory(PMEEjbextSAXXMLHa
    ndler.java:218)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFeatur
    eType(XMLHandler.java:1915)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObject(XMLHandle
    r.java:1791)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandl
    er.java:1569)
    at
    com.ibm.websphere.models.extensions.pmeext.ejbext.serialization.
    PMEEjbextSAXXMLHandler.processElement(PMEEjbextSAXXMLHandler.jav
    a:337)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandle
    r.java:867)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandle
    r.java:635)
    at
    com.ibm.websphere.models.extensions.pmeext.ejbext.serialization.
    PMEEjbextSAXXMLHandler.startElement(PMEEjbextSAXXMLHandler.java:
    157)
    at
    org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
    Source)
    at
    org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement
    (Unknown Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentCo
    ntentDispatcher.dispatch(Unknown Source)
    at
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocume
    nt(Unknown Source)
    at
    org.apache.xerces.parsers.XML11Configuration.parse(Unknown
    Source)
    at
    org.apache.xerces.parsers.XML11Configuration.parse(Unknown
    Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at
    org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
    Source)
    at
    org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
    Source)
    at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown
    Source)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java
    :179)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourc
    eImpl.java:179)
    at
    org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceIm
    pl.java:1094)
    at
    org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceIm
    pl.java:900)
    at
    org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(R
    esourceSetImpl.java:249)
    at
    org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHe
    lper(ResourceSetImpl.java:264)
    at
    org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(
    ResourceSetImpl.java:390)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStr
    ategyImpl.getMofResource(LoadStrategyImpl.java:1129)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EJBJarFileI
    mpl.getMofResource(EJBJarFileImpl.java:1342)
    at
    com.ibm.websphere.models.extensions.helpers.impl.PMEEJBJarExtens
    ionHelperImpl.needToConvertXMI2XML(PMEEJBJarExtensionHelperImpl.
    java:194)
    at
    com.ibm.websphere.models.extensions.helpers.impl.PMEEJBJarExtens
    ionHelperImpl.<init>(PMEEJBJarExtensionHelperImpl.java:156)
    at
    com.ibm.websphere.models.extensions.helpers.impl.PMEEJBJarExtens
    ionHelperImpl.<init>(PMEEJBJarExtensionHelperImpl.java:103)
    at
    com.ibm.ws.appprofile.ApplicationMetaDataHelper.isEARFileContain
    sAppProfileConfiguration(ApplicationMetaDataHelper.java:235)
    at
    com.ibm.ws.appprofile.ApplicationMetaDataHelper.containsAppProfi
    leConfiguration(ApplicationMetaDataHelper.java:184)
    at
    com.ibm.ws.appprofile.ApplicationMetaDataHelper.metaDataCreated(
    ApplicationMetaDataHelper.java:113)
    at
    com.ibm.ws.runtime.component.MetaDataMgrImpl.fireMetaDataCreated
    (MetaDataMgrImpl.java:279)
    at
    com.ibm.ws.runtime.component.MetaDataMgrImpl.fireMetaDataCreated
    (MetaDataMgrImpl.java:262)
    at
    com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(Meta
    DataMgrImpl.java:446)
    at
    com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaDataFromF
    actories(MetaDataMgrImpl.java:228)
    at
    com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(Meta
    DataMgrImpl.java:411)
    at
    com.ibm.ws.runtime.component.DeployedApplicationImpl.start(Deplo
    yedApplicationImpl.java:952)
    at
    com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication
    (ApplicationMgrImpl.java:768)
    at
    com.ibm.ws.runtime.component.ApplicationMgrImpl.start(Applicatio
    nMgrImpl.java:2155)
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(Compos
    itionUnitMgrImpl.java:445)
    at
    com.ibm.ws.runtime.component.CompositionUnitImpl.start(Compositi
    onUnitImpl.java:123)
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(Compos
    itionUnitMgrImpl.java:388)
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(C
    ompositionUnitMgrImpl.java:116)
    at
    com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitialize
    r.run(CompositionUnitMgrImpl.java:994)
    at
    com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializ
    er.run(WsComponentImpl.java:496)
    at
    com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1691)
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0, V8.0 and V8.5                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: During server start, a hang may occur   *
    *                      in HashMap.findNonNullKeyEntry, from    *
    *                      BasicExtendedMetaData.getExtendedMetada *
    *                      ta                                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The problem appears as a hang during server start.  The
    SystemOut.log and thread dumps will show the stack trace:
    at java.util.HashMap.findNonNullKeyEntry(HashMap.java:601)
    at java.util.HashMap.getEntry(HashMap.java:585)
    at java.util.HashMap.get(HashMap.java:571)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getExtendedMeta
    Data(BasicExtendedMetaData.java:2717)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getName(BasicEx
    tendedMetaData.java:301)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData$EPackageExtende
    dMetaDataImpl.getType(BasicExtendedMetaData.java:2091)
    at
    org.eclipse.emf.ecore.util.BasicExtendedMetaData.getType(BasicEx
    tendedMetaData.java:115)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.getType(XMLHelperIm
    pl.java:812)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.createObject(XMLHel
    perImpl.java:832)
    at
    org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFactor
    y(XMLHandler.java:1941)
    at
    com.ibm.websphere.models.extensions.pmeext.ejbext.serialization.
    PMEEjbextSAXXMLHandler.createObjectFromFactory(PMEEjbextSAXXMLHa
    ndler.java:218)
    

Problem conclusion

  • The problem occurs because of unsafe concurrent access to
    shared data structures used by application metadata.  Unsafe
    accesses occur because applications are started concurrently
    during application server startup.
    
    The problem is fixed by adding synchronization to code which
    accesses the shared data structures.
    
    This problem is the same problem which was fixed by APAR
    PM02318, except that the new problem is in a code location
    not fixed by the original APAR.  The original APAR added
    synchronization to class BaseExtendedMetaData.  The new APAR
    adds synchronization to class PMEExtendedMetaData.
    
    Because the problem involves synchronization, it is timing
    dependent, and will not occur on all server startups.  As a
    work-around, server startup may be reattempted.  If startup
    completes successfully, the problem will not occur during
    normal server operations.
    
    The problem only occurs during server startup and when new
    application startups are performed.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.43, 8.0.0.13, 8.5.5.10.  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

    PI59279

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-03-16

  • Closed date

    2016-04-07

  • Last modified date

    2016-04-07

  • 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



Document information

More support for: WebSphere Application Server
General

Software version: 8.0

Reference #: PI59279

Modified date: 07 April 2016