IBM Support

PM03587: NOCLASSDEFFOUNDERROR THROWN DURING RMICAFTER APPLYING PK72109IN 1.4.2 SR13

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 FP6
    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

    PM03587

  • Reported component name

    JAVA(1.3/1.4 CO

  • Reported component ID

    5648C9800

  • Reported release

    42A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-12-15

  • Closed date

    2010-01-21

  • Last modified date

    2010-09-28

Fix information

  • Fixed component name

    JAVA(1.3/1.4 CO

  • Fixed component ID

    5648C9800

Applicable component levels

  • R42A PSN

       UP

  • R42L PSN

       UP

  • R42W PSN

       UP

  • R420 PSN

       UP

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

Document Information

Modified date:
09 February 2022