IBM Support

PH36493: WASPOSTUPGRADE FAILS WITH NPE PROCESSING DOMAIN-SECURITY.XML CONFIGURATION FILE

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Post-Migration fails due to NullPointerException while
    processing the domain-security.xml configuration file.
    ________
    __________________________________________
    
    WASPostUpgrade
    trace:
    ==================
    [4/17/21 12:41:53:184 CDT] 00000001
    LoggerImpl 1 MIGR0344I: Processing configuration file /apps/IIS/
    was-8.5/WebSphere/AppServer/profiles/PR_IISDMGR/config/waspolici
    es/default/securitydomains/IBM_Information_Server_sd/domain-secu
    rity.xml
    [4/17/21 12:41:53:188 CDT] 00000001 SecurityDomai >
    processContents Entry
    [4/17/21 12:41:53:189 CDT] 00000001
    SecurityDomai > arePrimaryKeysEqual --
    com.ibm.websphere.models.config.jaaslogin.JAASAuthData
    Entry
    [4/17/21 12:41:53:191 CDT] 00000001 SecurityDomai >
    arePrimaryKeysEqual --
    com.ibm.websphere.models.config.security.WIMUserRegistry
    Entry
    [4/17/21 12:41:53:191 CDT] 00000001 LoggerImpl 1 java.lang
    .NullPointerException
    __________________________________________
    ___________
    
    WASPostUpgrade log
    ================
    Caused by:
    java.lang.NullPointerException
    	at com.ibm.ws.migration.postupgr
    ade.common.SecurityDomainConfig.arePrimaryKeysEqual(SecurityDoma
    inConfig.java:161)
    	at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
    	at sun.reflect.DelegatingMethodAccessorImpl.invok
    e(DelegatingMethodAccessorImpl.java:55)
    	at
    java.lang.reflect.Method.invoke(Method.java:508)
    	at com.ibm.ws.
    migration.common.WCCMDocumentReflector.useSubclassToFindMatching
    Object(WCCMDocumentReflector.java:995)
    	at com.ibm.ws.migration.
    common.WCCMDocumentReflector.processXML(WCCMDocumentReflector.ja
    va:513)
    	at com.ibm.ws.migration.common.WCCMDocumentReflector.pr
    ocessXMLChildTagList(WCCMDocumentReflector.java:655)
    	at com.ibm
    .ws.migration.common.WCCMDocumentReflector.processXML(WCCMDocume
    ntReflector.java:563)
    	at com.ibm.ws.migration.common.WCCMDocume
    ntReflector.processContents(WCCMDocumentReflector.java:497)
    	at
    com.ibm.wsspi.migration.document.wccm.BasicWCCMDocumentProcessor
    .processContents(BasicWCCMDocumentProcessor.java:145)
    ~~~
    com.ib
    m.wsspi.migration.transform.BasicDocumentTransform.migrate(Basic
    DocumentTransform.java:100)
    	at com.ibm.ws.migration.postupgrade
    .client.ClientPostUpgradeManager.migrateTransforms(ClientPostUpg
    radeManager.java:223)
    	at com.ibm.ws.migration.postupgrade.clien
    t.ClientPostUpgradeManager.migrate(ClientPostUpgradeManager.java
    :128)
    	at com.ibm.ws.migration.postupgrade.Restore.restoreProfil
    e(Restore.java:491)
    	at com.ibm.ws.migration.postupgrade.Restore
    .<init>(Restore.java:268)
    	... 28 more
    [04/17/2021 12:41:53:194
    CDT] MIGR0286E: The migration failed to
    complete.
    ________________________________________
    
    The
    NullPointerException is caused because migration is comparing
    between a WIMUserRegistry within the domain-security.xml file
    in the backup directory and the new environment and trying to
    compare serverId values, but the WIMUserRegistries in the old
    file do not have this field, so migration is dereferencing
    null. The migration process will be improved to do a better
    comparison of these values.
    

Local fix

  • Quickest workaround is to comment out, or remove the first two
    WIMUserRegistries (the third, WIMUserRegistry_1493644000661, is
    set as the active user registry and should be left unedited) in
    the domain-security.xml
    in the backup directory, and then
    rerun WASPostUpgrade. If it still occurs, add the attribute
    'serverId=""' to the WIMUserRegistry_1493644000661 element so
    it no longer comes through as null. Commenting out the not
    active WIMUserRegistries circumvented the problem, allowing the
    post-migration to complete successfully.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Migration Tools                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: WASPostUpgrade encounters               *
    *                      NullPointerException in                 *
    *                      SecurityDomainConfig                    *
    *                      ArePrimaryKeysEqual for                 *
    *                      WIMUserRegistry                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    This problem is occurring when WASPostUpgrade fails with a
    NullPointerExecption as the root cause. The stack trace will
    show the exception coming from
    SecurityDomainConfig.arePrimaryKeysEqual. In the
    domain-security.xml being processed when the error occurs,
    there will be multiple WIMUserRegistry entries, with at least
    one of them missing the serverId attribute.
    

Problem conclusion

  • Migration was updated to avoid the NullPointerException.
    
    The fix for this APAR is targeted for inclusion in fix pack
    8.5.5.21 and 9.0.5.9. For more information, see 'Recommended
    Updates for WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

  • Comment out or remove any WIMUserRegistry entries in
    domain-security.xml that are not the active user registry for
    that domain. You can uncomment/re-add these entries after
    migration is complete.
    

Comments

APAR Information

  • APAR number

    PH36493

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-04-20

  • Closed date

    2021-07-21

  • Last modified date

    2021-07-21

  • 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

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"900"}]

Document Information

Modified date:
22 July 2021