IBM Support

PM03589: NOCLASSDEFFOUNDERROR THROWN DURING RMIC

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: NoClassDefFoundError is thrown by getFVDesc()
    call during RMIC from 142_SR13 onwards.
    .
    Stack Trace: java.lang.NoClassDefFoundError:ClassName1
    
     at java.lang.Class.getDeclaredFields0(Native Method)
    
            at
    java.lang.Class.privateGetDeclaredFields(Class.java:1651)
            at java.lang.Class.getDeclaredField(Class.java:1328)
            at
    com.ibm.rmi.io.ObjectStreamClass$1.run(ObjectStreamClass.java:15
    25)
            at java.security.AccessController.doPrivileged1(Native
    Method)
            at
    java.security.AccessController.doPrivileged(AccessController.jav
    a(Compiled Code))
            at
    com.ibm.rmi.io.ObjectStreamClass.getDeclaredField(ObjectStreamCl
    ass.java:1523)
      at
    com.ibm.rmi.io.ObjectStreamClass.init0(ObjectStreamClass.java:84
    4)
            at
    com.ibm.rmi.io.ObjectStreamClass.init(ObjectStreamClass.java:678
    )
            at
    com.ibm.rmi.io.ObjectStreamClass.access$100(ObjectStreamClass.ja
    va:116)
            at
    com.ibm.rmi.io.ObjectStreamClass$ObjectStreamClassCachingFactory
    .get(ObjectStreamClass.java:188)
              at
    com.ibm.rmi.io.ObjectStreamClass.lookup(ObjectStreamClass.java:4
    04)
            at
    com.ibm.rmi.util.RepositoryId.getFVDesc(RepositoryId.java:647)
    
            at
    com.ibm.rmi.util.RepositoryId.createForJavaType(RepositoryId.jav
    a:1142)
            at
    com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java
    :1299)
            at
    com.ibm.rmi.util.RepositoryId.createForAnyType(RepositoryId.java
    :1265)
            at
    com.ibm.tools.rmic.iiop.Type.setRepositoryID(Type.java:1030)
            ...........
    .
    N/A
    

Local fix

  • RMIC compiler requires *all* the classes that get referenced
    indirectly from the bean classes (whether they are compiled or
    not),including the ones in the dependant .jars .So when running
    EJBDeploy
    customer has to ensure these extra classes are available in the
    classpath to EJBDeploy.
    

Problem summary

  • IBM RMIC code does excessive classloading and resolution which
    helps improve performance at runtime but is unnecessary at rmic
    time.
    

Problem conclusion

  • This defect will be fixed in:
    1.4.2 SR13-4
    1.4.2 SR13-4 (z/OS 64-bit)
    1.4.2 SR13-4 (Linux AMD64)
    1.4.2 SR13-4 (Windows AMD64)
    5.0.0 SR12
    .
    ibm orb code has been modified to prevent excessive class
    resolution during rmic time.
    .
    To obtain the fix:
    Install build 20100121 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM03589

  • Reported component name

    LIN AMD 64 JAVA

  • Reported component ID

    620400103

  • Reported release

    142

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-12-15

  • Closed date

    2010-01-21

  • Last modified date

    2010-01-21

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

    PM03587

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

Fix information

  • Fixed component name

    LIN AMD 64 JAVA

  • Fixed component ID

    620400103

Applicable component levels

  • R142 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCGLMF","label":"Java SDK"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.4.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
21 January 2010