IBM Support

PI85902: LOOKUP OF REMOTE EJBS MAY RESULT IN NOSUCHOBJECTEXCEPTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Remote EJB lookups can result in NoSuchObjectException if EJB
    stubs are only found on an unexpected ClassLoader, as in the
    case of a custom login module.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  WebSphere Application Server users of EJBs  *
    *                  that have EJB stubs packaged in a           *
    *                  server-accessible location outside of their *
    *                  application                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: java.rmi.NoSuchObjectException is       *
    *                      thrown from                             *
    *                      PortableRemoteObject.toStub while       *
    *                      looking up a remote EJB                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The EJB Container attempts to narrow the result of a remote
    EJB lookup before returning to the caller.  If the EJB stubs
    are packaged in a server-accessible location outside of the
    application (such as a custom login module), this can result in
    a classloader mismatch that fails the narrow call and
    invalidates the ORB's cache.  Further attempts to lookup the
    remote EJB generate an FFDC with the following exception:
    java.rmi.NoSuchObjectException: object (class
    <stub-class>) not exported
    at
    com.ibm.rmi.javax.rmi.PortableRemoteObject.toStub(PortableRemote
    Object.java:196)
    at
    com.ibm.CORBA.iiop.PortableRemoteObject.toStub(PortableRemoteObj
    ect.java:61)
    at
    javax.rmi.PortableRemoteObject.toStub(PortableRemoteObject.java:
    127)
    at
    com.ibm.ws.runtime.component.WASEJBRuntimeImpl.toStubPrivileged(
    WASEJBRuntimeImpl.java:1568)
    at
    com.ibm.ws.runtime.component.WASEJBRuntimeImpl.getRemoteReferenc
    e(WASEJBRuntimeImpl.java:1521)
    at
    com.ibm.ws.runtime.component.WASEJBRuntimeImpl.getRemoteReferenc
    e(WASEJBRuntimeImpl.java:1516)
    at
    com.ibm.ejs.container.EJSWrapperCommon.getRemoteBusinessReferenc
    e(EJSWrapperCommon.java:970)
    at
    com.ibm.ejs.container.EJSWrapperCommon.getRemoteBusinessObject(E
    JSWrapperCommon.java:942)
    at
    com.ibm.ejs.container.EJSHome.createRemoteBusinessObject(EJSHome
    .java:1673)
    at
    com.ibm.ejs.container.EJSHome.createRemoteBusinessObject(EJSHome
    .java:1644)
    at
    com.ibm.ejs.container.util.EJBRemoteInterfaceReferenceObjectFact
    ory.getObject(EJBRemoteInterfaceReferenceObjectFactory.java:180)
    at
    com.ibm.ws.naming.util.ReferenceDataUtil.getReferenceObjectFacto
    ryAndGetObject(ReferenceDataUtil.java:175)
    at
    com.ibm.ws.naming.util.ReferenceDataUtil.executeReferenceObjectF
    actory(ReferenceDataUtil.java:97)
    at
    com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.resolveLocalRefer
    enceDataBinding(WsnOptimizedNamingImpl.java:2500)
    at
    com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.resolveReferenceD
    ataBinding(WsnOptimizedNamingImpl.java:2305)
    at
    com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.resolveUnresolved
    Binding(WsnOptimizedNamingImpl.java:1980)
    at
    com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.resolve_binding(W
    snOptimizedNamingImpl.java:1685)
    at
    com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.do_resolve_comple
    te_info(WsnOptimizedNamingImpl.java:625)
    at
    com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.resolve_com
    plete_info(WsnOptimizedNamingImplBase.java:2217)
    at
    com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_complete_i
    nfo(_NamingContextStub.java:538)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl$2.run(CNContextImpl.java
    :2958)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl$2.run(CNContextImpl.java
    :2954)
    at
    com.ibm.ws.naming.util.CommonHelpers.retry(CommonHelpers.java:87
    1)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl
    .java:2952)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.j
    ava:1818)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.j
    ava:1777)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.
    java:1434)
    at
    com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.jav
    a:616)
    at
    com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:165)
    at
    com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
    at
    org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.jav
    a:161)
    at javax.naming.InitialContext.lookup(InitialContext.java:428)
    ...
    

Problem conclusion

  • The EJB Container no longer attempts to narrow the result of a
    remote EJB lookup, as it is unnecessary, so there is no chance
    of accidentally invalidating the ORB's cache.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 9.0.0.5.  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

    PI85902

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-08-16

  • Closed date

    2017-09-26

  • Last modified date

    2017-09-26

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVS22","label":"General"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"900","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
26 September 2017