IBM Support

PK88962: NOCLASSDEFFOUNDERROR WARNING DURING APPLICATION UPDATE

Fixes are available

7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
PK88962; NoClassDefFoundError warning during application update
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
6.1.0.29: Java SDK 1.5 SR11 Cumulative Fix for WebSphere Application Server
6.1.0.31: Java SDK 1.5 SR11 FP1 Cumulative Fix for WebSphere Application Server
6.1.0.33: Java SDK 1.5 SR12 FP1 Cumulative Fix for WebSphere
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
6.1.0.35: Java SDK 1.5 SR12 FP2 Cumulative Fix for WebSphere
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
6.1.0.37: Java SDK 1.5 SR12 FP3 Cumulative Fix for WebSphere
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
6.1.0.39: Java SDK 1.5 SR12 FP4 Cumulative Fix for WebSphere Application Server
6.1.0.41: Java SDK 1.5 SR12 FP5 Cumulative Fix for WebSphere Application Server
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When performing a partial application update, when the update is
    to modules having dependencies on other modules, a
    NoClassDefFoundError exception can occur.  Generation of this
    exception causes a warning message to be display, for example:
    
    +++ Warning +++: Fri May 15 13:23:46 EDT 2009
    
    java.lang.NoClassDefFoundError:
    com/ibm/commerce/content/facade/AttachmentFacade
    at java.lang.ClassLoader.defineClass0(Native Method)
    at
    java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled
    Code))
    
    ... lines omitted from the stack ...
    
    at
    org.eclipse.jem.java.impl.JavaClassImpl.getExtendedLookupIterato
    r(JavaCl
    assImpl.java:364)
    at
    org.eclipse.jem.java.impl.JavaClassImpl.collectMethodsExtended(J
    avaClass
    Impl.java:236)
    at
    org.eclipse.jem.java.impl.JavaClassImpl.getMethodsExtended(JavaC
    lassImpl
    .java:533)
    at
    org.eclipse.jem.java.impl.JavaClassImpl.listMethodExtended(JavaC
    lassImpl
    .java:957)
    at
    com.ibm.ws.management.application.client.util.getMethods(util.ja
    va:309)
    at
    com.ibm.ws.management.application.client.EnsureMethodProtectionF
    or20EJBH
    elper.prepareTask(EnsureMethodProtectionFor20EJBHelper.java:98)
    at
    
    The key symptom is a NoClassDefFoundError and a stack showing
    calls through types in the package "org.eclipse.jem.java".  The
    exception has most often arising in a call from
    EnsureMethodProtectionFor20EJBHelper.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application Server
    ****************************************************************
    * PROBLEM DESCRIPTION: A NoClassDefFoundError may occur during *
    *                      an application deployment or update     *
    *                      operation, even for a properly          *
    *                      packaged application.  The error can    *
    *                      cause incomplete assignment of method   *
    *                      protections.                            *
    ****************************************************************
    * RECOMMENDATION:  When this error is seen, and if method      *
    *                  protections are important for the           *
    *                  application deployment, two actions are     *
    *                  recommended:                                *
    *                                                              *
    *                  The error may be a result of an             *
    *                  incompletely or incorrectly packaged        *
    *                  application.  The error may be the result   *
    *                  of incorrectly specified class-path in      *
    *                  application modules or support jars.        *
    *                                                              *
    *                  To tell if the error is the result of       *
    *                  either of these two cases, the application  *
    *                  packaging should be reviewed and            *
    *                  corrected.  This case can occur during      *
    *                  application deployment, and can occur       *
    *                  during an application update.               *
    *                                                              *
    *                  The error may be a result of a lack of      *
    *                  visibility to required prerequisite         *
    *                  classes.  In particular, this error has     *
    *                  been seen frequently when an EJB class has  *
    *                  a super type, parameter, or exception type  *
    *                  which is located outside of the EJB jar     *
    *                  which contains the EJB class.  The error    *
    *                  results when an application operation, for  *
    *                  example, a partial update operation, does   *
    *                  not have visibility to the prerequisite     *
    *                  classes.                                    *
    *                                                              *
    *                  To tell if this is the case, review the     *
    *                  application structure and note if any       *
    *                  class dependencies cross jar file           *
    *                  boundaries.                                 *
    *                                                              *
    *                  The consequence of this case is most often  *
    *                  missing or incomplete method protection     *
    *                  assignments.                                *
    *                                                              *
    *                  For this case, to avoid the error,          *
    *                  perform a full application update instead   *
    *                  of a partial application update.            *
    *                                                              *
    *                  As a work-around, following the             *
    *                  application installation or update          *
    *                  operation, review the deployed              *
    *                  should be reviewed, and updates should be   *
    *                  made to complete method protection          *
    *                  assignments, if necessary.                  *
    *                                                              *
    *                  Corrective actions are not necessary if     *
    *                  method protection is not important to the   *
    *                  application deployment.                     *
    *                                                              *
    *                  Also, corrective actions are necessary in   *
    *                  cases where default method protections are  *
    *                  assigned                                    *
    ****************************************************************
    The error message is displayed as a result of a failure to
    reflect class information for a Servlet or enterprise bean
    class while processing application metadata.  IBM WebSphere
    Application Server uses the Java Eclipse Model (JEM) to
    reflect Servlet and Java Enterprise Java Bean (EJB) class
    information.  For several reasons, as described in this note,
    reflection of the class information may fail.
    
    A failure to reflect the class information usually causes
    some but not all class information to be generated.  Of several
    types of class information, including the inheritance tree,
    field, and method  information, the most significant is
    method information.  For enterprise beans, the incomplete
    listing of EJB methods can cause the incomplete assignment of
    protections to those methods.
    
    If method protection is not important to the application
    deployment, there is no important consequence.  Also,
    if default method protections are provided, there is no
    important consequence: Runtime processing of the methods will
    assign the correct method protection.  However, if method
    protection is important, and no default assignments are
    provided, the error is important.  Corrective action must be
    taken, as described in the recommendations section.
    
    As noted above, the error message is displayed as a result of
    a failure to reflect class information.  The reflection of
    class information is performed when processing application and
    module metadata.  Reflection is performed in three cases:
    
    1) Reflection of class information is performed during a new
    application deployment.
    
    2) Reflection of class information is performed when reviewing
    an existing application deployment.
    
    3) Reflection of class information is performed when making an
    update to an already deployed application.
    
    The failure can occur for several reasons.  The most frequent
    and most notable case is case (2.4).  This case is easy to
    trigger when performing a partial update operation.  The
    reasons for the failure can be:
    
    1) A corrupt java class file will cause a failure.
    
    2) A missing java class file will cause a failure.
    
    2.1) A java class file can be missing because of an error in the
    packaging of the application which is being processed.
    
    2.2) A java class file can be missing because of incorrect
    placement of utility libraries in the application, or because
    of incorrectly specified class-path elements in application
    modules or utility jars.
    
    2.3) A java class file can be missing because it exists in a
    shared library, and these are not available to be loaded during
    application deployment.
    
    2.4) A java class file can be missing because a partial update
    is being performed to an already deployed application.  For
    example, when a single module is updated to an application
    which contains other modules or utility jars.  In this case,
    only the files for the update are available to be loaded.  A
    dependency of the module being updated which reaches a utility
    jar of the application which is not present in the update will
    not be visible to the update operation.  However, the update
    will still attempt to process the classes of the module, and
    will fail because of the failure to reach the prerequisite
    class.
    
    This case (2.4) occurs because of a permanent limitation of
    the processing of application updates.  During the update
    processing, only the subset of the application which is being
    updated is available for processing.
    

Problem conclusion

  • The information display for the error to reflect java class
    information has been updated to be more appropriate for all
    cases:
    
    Because the error may lead to a failure to assign method
    protections, and this is a serious error, a warning message is
    displayed in all cases.  The warning provides a reference to
    this APAR PK88962.
    
    Because the error also occurs in many cases where there is no
    consequential problem, to minimize log output in these cases,
    a stack is only displayed when FINER logging is enabled for the
    logger "com.ibm.config.eclipse.wtp".
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 6.0.2.39, 6.1.0.29, and 7.0.0.9.  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

    PK88962

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    60W

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-06-15

  • Closed date

    2009-09-16

  • Last modified date

    2009-09-16

  • 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

  • R60A PSY

       UP

  • R60H PSY

       UP

  • R60I PSY

       UP

  • R60P PSY

       UP

  • R60S PSY

       UP

  • R60W PSY

       UP

  • R60Z PSY

       UP

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z PSY

       UP

  • R700 PSY

       UP

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

Document Information

Modified date:
29 December 2021