Haven't seen this before, looks like the null is coming from the GeronimoSecurityService.

We test system and application exceptions in the itests for each bean type on both the remote and local servers as well as on Tomcat. We don't run those on Geronimo though, which we really should. There was some code in Geronimo to do that at one point, but it got axed as being too hard to maintain quite a while ago. I think we should bring it back.

I'm not sure what it might take Geronimo plan-wise, but here's the app:

  
http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-beans/3.1.2/openejb-itests-beans-3.1.2.jar

And the client which includes all deps and is an executable jar:

  
http://repo2.maven.org/maven2/org/apache/openejb/openejb-itests-standalone-client/3.1.2/openejb-itests-standalone-client-3.1.2.jar

-David

On Nov 2, 2009, at 10:44 AM, Quintin Beukes wrote:

Hey,

When I get a SystemException from the container during remote EJB
invocation, all future requests for the InitialContext are "broken". My exact situation (reason for causing the SystemException) is on my fault, but if there is another reason I think it's good to recover from it so to be able to continue serving requests. I got the following by invoking on a
method which isn't in the remote EJB class/Remote interface.

This is what I got:
------- SNIP -------
02 Nov 2009 20:28:33,649 ERROR -- Exception: Error deleting employee: XXXXXX
(javax.ejb.EJBException)
javax.ejb.EJBException: Container has suffered a SystemException

org .apache .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:178)

org .apache .openejb .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117)

org .apache .openejb .client .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
   $Proxy7.deletePerson(Unknown Source)

net .kunye .personnel .client .employees .delete .DeleteEmployeeWizardAction .performAction(DeleteEmployeeWizardAction.java:87)

net .kunye .personnel .client .employees .delete .DeleteEmployeeWizardAction .performAction(DeleteEmployeeWizardAction.java:55)

org.openide.util.actions.NodeAction$DelegateAction $1.run(NodeAction.java:589)

org .netbeans .modules .openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77)

org.openide.util.actions.NodeAction $DelegateAction.actionPerformed(NodeAction.java:585) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: 1995)

javax.swing.AbstractButton $Handler.actionPerformed(AbstractButton.java:2318)

javax .swing .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: 242)
   javax.swing.AbstractButton.doClick(AbstractButton.java:357)

javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java: 1220)

javax.swing.plaf.basic.BasicMenuItemUI $Handler.mouseReleased(BasicMenuItemUI.java:1261)
   java.awt.Component.processMouseEvent(Component.java:6041)
   javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
   java.awt.Component.processEvent(Component.java:5806)
   java.awt.Container.processEvent(Container.java:2058)
   java.awt.Component.dispatchEventImpl(Component.java:4413)
   java.awt.Container.dispatchEventImpl(Container.java:2116)
   java.awt.Component.dispatchEvent(Component.java:4243)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java: 3986)
   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
   java.awt.Container.dispatchEventImpl(Container.java:2102)
   java.awt.Window.dispatchEventImpl(Window.java:2440)
   java.awt.Component.dispatchEvent(Component.java:4243)
   java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

org .netbeans .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

java .awt .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: 273)

java .awt .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

java .awt .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: 173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 160)
   java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

java.rmi.RemoteException: The server has encountered a fatal error: Unknown error in container java.lang.NullPointerException; nested exception is:
java.lang.NullPointerException

org .apache .openejb .server .ejbd.EjbRequestHandler.replyWithFatalError(EjbRequestHandler.java: 425)

org .apache .openejb .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: 205)

org .apache .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 149)
   org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)

org.apache.openejb.server.ejbd.KeepAliveServer $Session.service(KeepAliveServer.java:213)

org .apache .openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233)
   org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66)
   org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91)
   org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120)

java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886)

java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908)
   java.lang.Thread.run(Thread.java:619)

java.lang.NullPointerException: null

org .apache .geronimo .openejb .GeronimoSecurityService .isCallerAuthorized(GeronimoSecurityService.java:96)

org .apache .openejb .core.stateless.StatelessContainer.invoke(StatelessContainer.java:151)

org .apache .openejb .core.stateless.StatelessContainer.invoke(StatelessContainer.java:136)

org .apache .openejb .server .ejbd .EjbRequestHandler .doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)

org .apache .openejb .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: 129)

org .apache .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:196) org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 149)
   org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)

org.apache.openejb.server.ejbd.KeepAliveServer $Session.service(KeepAliveServer.java:213)

org .apache .openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233)
   org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66)
   org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91)
   org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120)

java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886)

java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908)
   java.lang.Thread.run(Thread.java:619)

------- SNIP -------

There after, when I try to invoke OTHER methods, I get this:



02 Nov 2009 20:29:45,990 ERROR -- Exception: Error creating new employee:
XXXXXX (javax.ejb.EJBException)
javax.ejb.EJBException: Unknown Container Exception:
java.rmi.RemoteException: Received invalid response code from server: -1

org .apache .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:184)

org .apache .openejb .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117)

org .apache .openejb .client .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
   $Proxy7.registerPerson(Unknown Source)

net .kunye .personnel .client .employees .add .AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java: 69)

net .kunye .personnel .client .employees .add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java: 47)

net .kunye .personnel .client .navigation .NavigationRootTopComponent .btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107)

net .kunye.personnel.client.navigation.NavigationRootTopComponent.access $000(NavigationRootTopComponent.java:36)

net.kunye.personnel.client.navigation.NavigationRootTopComponent $1.actionPerformed(NavigationRootTopComponent.java:67) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: 1995)

javax.swing.AbstractButton $Handler.actionPerformed(AbstractButton.java:2318)

javax .swing .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: 242)

javax .swing .plaf .basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   java.awt.Component.processMouseEvent(Component.java:6041)
   javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
   java.awt.Component.processEvent(Component.java:5806)
   java.awt.Container.processEvent(Container.java:2058)
   java.awt.Component.dispatchEventImpl(Component.java:4413)
   java.awt.Container.dispatchEventImpl(Container.java:2116)
   java.awt.Component.dispatchEvent(Component.java:4243)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java: 3986)
   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
   java.awt.Container.dispatchEventImpl(Container.java:2102)
   java.awt.Window.dispatchEventImpl(Window.java:2440)
   java.awt.Component.dispatchEvent(Component.java:4243)
   java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

org .netbeans .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

java .awt .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: 273)

java .awt .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

java .awt .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: 173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 160)
   java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

java.rmi.RemoteException: Received invalid response code from server: -1

org .apache .openejb .client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:239)

org .apache .openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:157)

org .apache .openejb .client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117)

org .apache .openejb .client .proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
   $Proxy7.registerPerson(Unknown Source)

net .kunye .personnel .client .employees .add .AddEmployeeWizardAction.performAction(AddEmployeeWizardAction.java: 69)

net .kunye .personnel .client .employees .add.AddEmployeeWizardAction.openWizard(AddEmployeeWizardAction.java: 47)

net .kunye .personnel .client .navigation .NavigationRootTopComponent .btnAddEmployeeActionPerformed(NavigationRootTopComponent.java:107)

net .kunye.personnel.client.navigation.NavigationRootTopComponent.access $000(NavigationRootTopComponent.java:36)

net.kunye.personnel.client.navigation.NavigationRootTopComponent $1.actionPerformed(NavigationRootTopComponent.java:67) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java: 1995)

javax.swing.AbstractButton $Handler.actionPerformed(AbstractButton.java:2318)

javax .swing .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java: 242)

javax .swing .plaf .basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   java.awt.Component.processMouseEvent(Component.java:6041)
   javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
   java.awt.Component.processEvent(Component.java:5806)
   java.awt.Container.processEvent(Container.java:2058)
   java.awt.Component.dispatchEventImpl(Component.java:4413)
   java.awt.Container.dispatchEventImpl(Container.java:2116)
   java.awt.Component.dispatchEvent(Component.java:4243)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java: 3986)
   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
   java.awt.Container.dispatchEventImpl(Container.java:2102)
   java.awt.Window.dispatchEventImpl(Window.java:2440)
   java.awt.Component.dispatchEvent(Component.java:4243)
   java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

org .netbeans .core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

java .awt .EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: 273)

java .awt .EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

java .awt .EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: 173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 160)
   java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Quintin Beukes

Reply via email to