My Oracle Support Banner

GlassFish Multi-Threaded Client Lookup to a Remote EJB Throws Permission Exceptions (Doc ID 1293292.1)

Last updated on FEBRUARY 26, 2019

Applies to:

Oracle GlassFish Server - Version 2.1.1 to 2.1.1 [Release 2.1]
Information in this document applies to any platform.
***Checked for relevance on 19-Mar-2013***

Symptoms

A multi-threaded Java client performing a remote IIOP call to an EJB (Enterprise Java Bean) hosted on a remote GlassFish Server may encounter spurious lookup problems with errors similar to "CORBA NO_PERMISSION".  This issue is more likely to occur if the client performs multiple concurrent JNDI lookups for an EJB.   

When the problem is encountered during the lookup of an EJB, the following error will be seen in the GlassFish server.log:

#|2011-01-26T19:16:57.133+0800|WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=67;_ThreadName=Thread-149;_RequestID=b1a2c6c9-e864-4307-a57f-a06239440199;|javax.ejb.EJBException: nested exception is: java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
org.omg.CORBA.NO_PERMISSION: vmcid: 0x0 minor code: 0 completed: No
at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:576)
at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:627)
at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:530)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:406)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:224)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:350)
at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:108)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555


If there is no concurrent access to the EJB or if the lookups are performed sequentially then this exception is not seen and all the operations succeed.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.