users@glassfish.java.net

Getting a java.rmi.MarshalException CORBA COMM FAILURE from Daemon Process

From: <glassfish_at_javadesktop.org>
Date: Wed, 06 Aug 2008 13:38:41 PDT

I have a java daemon process on a server that makes calls to session beans hosted by a Sun App Server EJB container which resides on the same server. Note that the daemon process is running outside of the EJB application container. I get handles to the session beans using InitialContext: ic.lookup(BEAN NAME). Pretty straightforward stuff.

The daemon runs fine for hours (sometimes one or two days), but then I get a java.rmi.MarshalException CORBA COMM FAILURE when trying to lookup the service. I have googled this exception and have seen others with this issue. It appears that it was a bug but was supposedly fixed in Glassfish b49.

Here is the complete stack trace:
Aug 6, 2008 8:25:44 AM com.sun.enterprise.naming.SerialContext lookup
SEVERE: NAM0004: Exception during name lookup : {0}
java.rmi.MarshalException: CORBA COMM_FAILURE 1398079707 Maybe; nested exception is:
        org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 219 completed: Maybe
        at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:271)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
        at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
        at com.sun.enterprise.naming._SerialContextProvider_DynamicStub.lookup(com/sun/enterprise/naming/_SerialContextProvider_DynamicStub.java)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:398)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:425)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at edu.unl.bsm.common.session.ServiceLocator.locateService(ServiceLocator.java:90)
        at edu.unl.bsm.jfcmanager.JFCManagerPacketHandler.handleUnresolvedPackets(JFCManagerPacketHandler.java:196)
        at edu.unl.bsm.jfcmanager.JFCManagerPacketHandler.access$000(JFCManagerPacketHandler.java:37)
        at edu.unl.bsm.jfcmanager.JFCManagerPacketHandler$1.run(JFCManagerPacketHandler.java:54)

Note that the ServiceLocator class is just a simple wrapper I've placed around the InitialContext class.

Any thoughts?
[Message sent by forum member 'snewbold' (snewbold)]

http://forums.java.net/jive/thread.jspa?messageID=291976