IBM Support

PI26770: NullPointerException when application uses CDI @Produces method with InjectionPoint

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • With WebSphere Application Server v8.5.5.3, given a class that
    declares a @Produces method with a InjectionPoint as parameter:
    
    - if the class itself has no field injected, the InjectionPoint
    parameter is OK
    
    - if the class itself has a field injected, whatever the field
    is, the InjectionPoint parameter is wrong, it points to the
    field that is injected in the producer class itself.
    

Local fix

  • An interim fix is not required as setting the following JVM
    custom property will avoid the problem.
    
    Set to "true": (default=false)
    com.ibm.ws.webbeans.trackInjectionPointsWithStack
    
    For details on how to set a JVM property, refer to the article
    "Java virtual machine custom properties" in the Information
    Center for your WebSphere Application Server version and
    operating system.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server using Contexts and Dependency        *
    *                  Injection (CDI) from v8.0.0.9 and v8.5.5.3  *
    ****************************************************************
    * PROBLEM DESCRIPTION: NullPointerException when application   *
    *                      uses CDI @Produces method with an       *
    *                      InjectionPoint                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    With WebSphere Application Server v8.5.5.3, given a class that
    declares a @Produces method with a InjectionPoint as parameter:
    - if the class itself has no field injected, the InjectionPoint
    parameter is OK
    - if the class itself has a field injected, whatever the field
    is, the InjectionPoint parameter is wrong, it points to the
    field that is injected in the producer class itself.
    

Problem conclusion

  • The InjectionPoint processing was updated to avoid a case where
    the injection point being processed was inadvertently
    overwritten by another injection point.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.0.0.11 and 8.5.5.6.  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

    PI26770

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-09-30

  • Closed date

    2015-01-09

  • Last modified date

    2015-12-08

  • 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

  • R800 PSY

       UP

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 850

Reference #: PI26770

Modified date: 08 December 2015