PM40985: ARRAYINDEXOUTOFBOUNDSEXCEPTION FROM ANNOTATIVEMETADATAMANAGERIMPL

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • WebSphere Application Server 7.0
    
    
    Problem :
    When a newly developed Application is installed the following
    error is seen at application startup but application starts fine
    .
    
    Error seen at startup :
    [18.05.11 17:39:35:463 CEST] 00000008 annotations   E
    ArchiveInputStreamData iterate unable to process input stream
    
    java.lang.ArrayIndexOutOfBoundsException
     at org.objectweb.asm.ClassReader.readClass(Unknown Source)
     at org.objectweb.asm.ClassReader.accept(Unknown Source)
     at org.objectweb.asm.ClassReader.accept(Unknown Source)
     at
    com.ibm.ws.amm.scan.util.ClassScanner.scanInputStream(ClassScann
    er.java:
    235)
     at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl$1.applyTo(Annotativ
    eMetadat
    aManagerImpl.java:260)
     at
    com.ibm.wsspi.amm.scan.context.ArchiveInputStreamData.iterate(Ar
    chiveInp
    utStreamData.java:241)
     at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMeta
    dataMana
    gerImpl.java:258)
     at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMeta
    dataMana
    gerImpl.java:219)
     at
    com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno
    tationsP
    rocessorImpl.java:108)
     at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl
    .process
    Annotations(WARFileImpl.java:302)
    
    
    The error seen  usually suggests a scenario where  the
    ObjectWeb-provided ASM library is unable to process a Java
    Class file. This could be for a number of reasons, including
    that the   .class file is corrupted.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0 and V8.0 deploying Java         *
    *                  Enterprise Edition 5 and higher             *
    *                  applications with annotations.              *
    ****************************************************************
    * PROBLEM DESCRIPTION: An ArrayIndexOutOfBoundsException is    *
    *                      thrown from                             *
    *                      AnnotativeMetadataManagerImpl during    *
    *                      application installation.               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Annotations processing, when reading class bytes, can
    throw a java.lang.ArrayIndexOutOfBoundsException when
    encountering byte values which are not valid for a
    class file.
    
    The exception is caught at an incorrect location during the
    annotations processing, leading to several problem symptoms:
    
       * Input streams are left open for too long.
       * The scan of some target classes is skipped.
       * Extra stack traces are displayed to system and trace logs.
    
    The error message will appear in wsadmin.traceout for
    installations via scripting. Console-based installation of the
    application will cause this error to appear in SystemOut.log.
    

Problem conclusion

  • An internal change was made to the annotation processing
    component to properly handle this failure condition. If the
    exception is thrown, the InputStream is properly closed and
    annotation scanning of the next class will continue. Logging
    and tracing was updated to provide additional information when
    this problem occurs.
    
    A work-around is to identify the classes which can not be
    processed and remove them from the application. The following
    trace specification will help with this diagnosis:
    
    com.ibm.config.annotations=finer
    
    If the classname was available to display, the following
    message will appear in Trace.log:
    
    Class [ CLASS_NAME ] could not be read for annotations - it
    will be ignored.
    
    If the classname was not available, the following will appear
    in Trace.log:
    
    A class could not be read for annotations.
    
    Any class that isn't readable during annotation processing
    may not be usable by the application and cause it to
    function improperly. The application deployer may need to
    review the application and make appropriate changes to avoid
    unexpected behavior.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.19 and 8.0.0.1.  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

    PM40985

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-06-08

  • Closed date

    2011-06-27

  • Last modified date

    2011-06-27

  • 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

  • R700 PSY

       UP

  • R800 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere Application Server
General

Software version:

7.0

Reference #:

PM40985

Modified date:

2011-06-27

Translate my page

Machine Translation

Content navigation