IBM Support

PI73221: JAVA.LANG.STACKOVERFLOWERROR MAY OCCUR IN JAX-WS WEB SERVICE CLIENT WHEN PROCESSING PROVIDER SIDE WS-POLICY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a JAX-WS client is configured to use provider side
    WS-Policy the following error may occur:
    
    javax.xml.ws.soap.SOAPFaultException:
    java.lang.StackOverflowError
    ...
    Caused by: java.lang.StackOverflowError
     at java.util.HashMap.getNode(HashMap.java:582)
     at java.util.HashMap.containsKey(HashMap.java:606)
     at java.util.HashSet.contains(HashSet.java:214)
     at
    com.ibm.ws.wspolicy.policyset.PolicySetConfigurationWrapperImpl.
    equals(PolicySetConfigurationWrapperImpl.java:203)
     at java.util.HashMap.getNode(HashMap.java:582)
     at java.util.HashMap.containsKey(HashMap.java:606)
     at java.util.HashSet.contains(HashSet.java:214)
     at
    com.ibm.ws.wspolicy.policyset.PolicySetConfigurationWrapperImpl.
    equals(PolicySetConfigurationWrapperImpl.java:203)
    ...
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  WebSphere Application Server users of       *
    *                  WS-Policy configured to use provider policy *
    *                  to configure Web service clients.           *
    ****************************************************************
    * PROBLEM DESCRIPTION: An infinite loop in                     *
    *                      PolicySetConfigurationWrapperImpl.equal *
    *                      s causes JAX-WS client to fail with     *
    *                      java.lang.StackOverflowError            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The PolicySetConfigurationWrapperImpl class stores a set of
    pre-calculated known matches for equality.  The equals method
    invoked the contains method on the set as part of the
    algorithm for determining equality.  Since the contains method
    may itself call the equals method this can cause an infinite
    loop.
    

Problem conclusion

  • The algorithm used in the
    PolicySetConfigurationWrapperImpl.equals method was modified
    so that it no longer called the contains method on the set of
    pre-calculated matches.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.5.5.12 and 9.0.0.3.  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

    PI73221

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-12-06

  • Closed date

    2016-12-20

  • Last modified date

    2016-12-20

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R850 PSY

       UP

  • R900 PSY

       UP

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

Document Information

Modified date:
18 October 2021