IBM Support

PI26025: REFERENCE AND INJECTION ERROR SCENARIOS SHOULD BE IMPROVED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The CWNEN0030E message refers to a factory, which does not make
    sense.  Additionally, the message is not clear that it is
    referring to entries in the java:comp/env/ namespace rather than
     the default JNDI namespace.  Finally, this message is
    unconditionally printed rather than being included in an
    exception message, which means expected JNDI lookup failures
    result in spurious messages being printed.
    
    An IllegalArgumentException occurs if an object being injected
    does not match the type of the field or method declared for
    injection, but it is not possible to determine the type of the
    injected object or which field was being processed.
    
    The CWNEN0047W message includes a stack trace that does not
    provide additional information and clutters the log files.
    
    The web container does not clearly display error messages that
    occur during injection failures.
    
    Application class loaders are retained by the reference and
    injection logic processing after the application is stopped.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty Profile                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Reference and injection error scenarios *
    *                      need to be improved                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The CWNEN0030E message contained misleading information, and it
    was printed unconditionally rather than being included as part
    of an exception message.
    If an injected object does not match the type of the field or
    method being injected, then Java reflection will throw an
    IllegalArgumentException.  This text of this exception was
    included in the injection error message, but it does not contain
    sufficient detail to diagnose the problem.
    The CWNEN0047W error message unnecessarily includes a stack
    trace even though similar messages such as CWNEN0048W,
    CWNEN0049W, and CWNEN0050W do not.
    The web container was generating an FFDC incident when an
    injection error occurs, but it was not printing the injection
    error message text.
    The reference and injection engine tracks per-application data
    for java:global.  However, the application stop logic that
    should have been calling an internal "remove" method was
    incorrectly calling an "add" method, which results in incorrect
    retention of per-application state, including application class
    loaders.
    

Problem conclusion

  • The CWNEN0030E message has been rewritten for clarity.
    Additionally, the message inserts for the reference name have
    been updated to include an explicit "java:comp/env/" prefix to
    make it clear that the names are relative to that context rather
    than the server default JNDI namespace.  Finally, the message is
    no longer explicitly printed and is instead included as
    exception message text.
    If an IllegalArgumentException is thrown by Java reflection, it
    is caught and a new CWNEN0074E message is included in the
    exception message text.
    The webcontainer has been updated to print the injection error
    message text.
    The reference and injection engine has been fixed to use the
    internal "remove" method during application stop.
    The fix for this APAR is currently targeted for inclusion in fix
    pack 8.5.5.4.  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

    PI26025

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-09-19

  • Closed date

    2014-10-04

  • Last modified date

    2014-10-13

  • 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

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

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

Document Information

Modified date:
28 April 2022