IBM Support

LI72814: SOME CLASS FILES IN DB2JCC.JAR (JCC DRIVER) ARE CORRUPT.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • USERS AFFECTED: Users of the JCC driver with DB2 LUW 9 and DB2
    LUW 9.5
    
    PROBLEM DESCRIPTION:
    Some class files in db2jcc.jar are corrupt.
    
    The class files which are corrupt are:
     COM/ibm/db2os390/sqlj/custom/DB2SQLJCustomizer.class
     COM/ibm/db2os390/sqlj/custom/DB2SQLJEntryInfo.class
     COM/ibm/db2os390/sqlj/custom/DB2SQLJProfile.class
    
    These class files are used for the sqljupgrade utility for DB2
    on z/OS.
    
    
    These corrupt classes have caused the following problems:
    
    - When db2jcc.jar was included as a library in a Java project in
      Eclipse 3.3, then a search was started, it raised an exception
     org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
    
    - When db2jcc.jar was deployed in the JBoss J2EE Application
      Server, a message like this appeared in the JBoss log:
       Could not initialise deployment:
       file:[...]db2jcc.jar
       org.jboss.deployment.DeploymentException: exception in init
       of
       file:[...]db2jcc.jar; - nested throwable:
       (java.lang.RuntimeException:
       java.io.IOException: bad magic number: cba78dd8)
       [...]
    
    
    You can check for this defect by seeing whether any of the class
    files in db2jcc.jar do not begin with the "magic number"
    0xcafebabe.
    (The "magic number" 0xcafebabe should be at the start of all
    Java class files.)
    
    Here is one way to do that:
    - Copy db2jcc.jar to a new directory.
    - Change to the new directory.
    - Extract the class files by running
       jar xvf db2jcc.jar
    - Run the following ksh script:
    
    #!/bin/ksh
    for f in `find . -name "*.class" -print`
    do
      od -x $f | head -1 | read offset cafe babe dummy
      if [[ $cafe != "cafe" || $babe != "babe" ]]
      then
        echo $f
        od -x $f | head -1
      fi
    done
    
    The above script outputs the names of
    all the class files which do not begin with the correct
    "magic number".
    If this defect is found, it outputs the following:
    
    ./COM/ibm/db2os390/sqlj/custom/DB2SQLJCustomizer.class
    0000000  cba7 8dd8 0003 0005 0007 1a00 1a00 1f1a
    ./COM/ibm/db2os390/sqlj/custom/DB2SQLJEntryInfo.class
    0000000  cba7 8dd8 0003 0005 021a 1a00 6c1a 006f
    ./COM/ibm/db2os390/sqlj/custom/DB2SQLJProfile.class
    0000000  cba7 8dd8 0003 0005 00d7 1a00 0800 8b1a
    

Local fix

  • You may avoid problems by removing the corrupt classes from
    db2jcc.jar
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of IBM Data Server Driver for JDBC                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See error description.                                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 LUW 9.1 fixpak 5 or above                     *
    ****************************************************************
    

Problem conclusion

  • DB2 LUW 9.1 fixpak 5 or above
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI72814

  • Reported component name

    DB2 UDE ESE LIN

  • Reported component ID

    5765F4104

  • Reported release

    910

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-12-04

  • Closed date

    2010-01-21

  • Last modified date

    2010-01-21

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    LI72819

Fix information

  • Fixed component name

    DB2 UDE ESE LIN

  • Fixed component ID

    5765F4104

Applicable component levels

  • R910 PSY

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 910

Reference #: LI72814

Modified date: 21 January 2010