IBM Support

JR50373: Prevent recursion when logging request parameters

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Exceptions can occur when parsing the request parameters.  These
    exceptions are logged in the ExtendedErrorInfo logging
    component, which will attempt to print additional information
    about the request that caused the exception, including the
    request parameters.  When attempting to parse the request
    parameters for printing, it can run into an Exception, causing a
     recursive behaviour.
    
     The following is an example of one such case, where there is an
    error extracting the request parameters due to an
    encryption/decryption error, since the Merchant Key that was
    setup in the system was incorrect:
    
       at
    com.ibm.commerce.server.ServletHelper.extractRequestParameters(S
    ervletHelper.java:931)
       at
    com.ibm.commerce.webcontroller.RequestParameterExtractor.printRe
    questParameters(RequestParameterExtractor.java:107)
       at
    com.ibm.commerce.webcontroller.RequestParameterExtractor.toStrin
    g(RequestParameterExtractor.java:81)
       at java.lang.String.valueOf(String.java:1528)
       at java.lang.StringBuilder.append(StringBuilder.java:194)
       at
    com.ibm.commerce.foundation.logging.ExtendedErrorInfo.toString(E
    xtendedErrorInfo.java:157)
       at
    com.ibm.commerce.foundation.logging.ExtendedErrorInfo.logInfo(Ex
    tendedErrorInfo.java:184)
       at
    com.ibm.commerce.exception.ECApplicationException.logMessage(ECA
    pplicationException.java:674)
       at
    com.ibm.commerce.exception.ECException.<init>(ECException.java:2
    96)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:559)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:489)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:131)
       at
    com.ibm.commerce.security.keys.WCKeyRegistry.getNewKey(WCKeyRegi
    stry.java:1291)
       at
    com.ibm.commerce.security.keys.WCKeyRegistry.getNewKey(WCKeyRegi
    stry.java:1316)
       at
    com.ibm.commerce.foundation.internal.common.util.encryption.impl
    .ClassicCommerceActiveEncryptionProviderWithoutVersioningImpl.ge
    tNewGeneratedKey(ClassicCommerceActiveEncryptionProviderWithoutV
    ersioningImpl.java:60)
       at
    com.ibm.commerce.foundation.internal.common.util.encryption.impl
    .ClassicCommerceActiveEncryptionProviderWithoutVersioningImpl.de
    crypt(ClassicCommerceActiveEncryptionProviderWithoutVersioningIm
    pl.java:138)
       at
    com.ibm.commerce.foundation.internal.common.util.encryption.impl
    .ClassicCommerceActiveEncryptionProviderWithoutVersioningImpl.de
    crypt(ClassicCommerceActiveEncryptionProviderWithoutVersioningIm
    pl.java:113)
       at
    com.ibm.commerce.server.ServletHelper.extractRequestParameters(S
    ervletHelper.java:931)
       at
    com.ibm.commerce.webcontroller.RequestParameterExtractor.printRe
    questParameters(RequestParameterExtractor.java:107)
       at
    com.ibm.commerce.webcontroller.RequestParameterExtractor.toStrin
    g(RequestParameterExtractor.java:81)
       at java.lang.String.valueOf(String.java:1528)
       at java.lang.StringBuilder.append(StringBuilder.java:194)
       at
    com.ibm.commerce.foundation.logging.ExtendedErrorInfo.toString(E
    xtendedErrorInfo.java:157)
       at
    com.ibm.commerce.foundation.logging.ExtendedErrorInfo.logInfo(Ex
    tendedErrorInfo.java:184)
       at
    com.ibm.commerce.exception.ECApplicationException.logMessage(ECA
    pplicationException.java:674)
       at
    com.ibm.commerce.exception.ECException.<init>(ECException.java:2
    96)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:559)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:489)
       at
    com.ibm.commerce.exception.ECApplicationException.<init>(ECAppli
    cationException.java:131)
       at
    com.ibm.commerce.security.keys.WCKeyRegistry.getNewKey(WCKeyRegi
    stry.java:1291)
    

Local fix

  • Disable the logging of ExtendedErrorInfo, by adding the
    following as the trace string:
    
    Append this to the end of the trace specification string
    
    
    com.ibm.commerce.foundation.logging.ExtendedErrorInfo=off:
    com.ibm.commerce.foundation.logging.ExtendedInfo=off
    

Problem summary

  • USERS AFFECTED:
     Systems which have exceptions which cause errors while parsing
    request parameters.
    
     PROBLEM ABSTRACT:
     Prevent recursion when logging request parameters
    
     BUSINESS IMPACT:
     Users with these requests are unable to access the site when
    the error occurs.  The recursion also causes an impact to the
    overall server performance.
    
     RECOMMENDATION:
    

Problem conclusion

  • The extended error information no longer attempt to decrypt the
    encoded parameters.
     There is also a check that was added to ensure that printing
    extended information can't be called recursively.
     -------------------------------------------------------------
     The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
     http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR50373

  • Reported component name

    3C COM PROF ED

  • Reported component ID

    5724I4000

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-06-02

  • Closed date

    2014-07-21

  • Last modified date

    2015-02-11

  • 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

    3C COM PROF ED

  • Fixed component ID

    5724I4000

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSPK6A","label":"WebSphere Commerce Professional"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]

Document Information

Modified date:
11 December 2021