Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-4654

JacORB throwing spurious UNKNOWN NoSuchMethodException

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • No Release
    • JBossAS-4.2.1.GA
    • IIOP service
    • None

    Description

      When a RemoteException contains an exception that isn't mapped to a CorbaException,
      JacORB is throwing a spurious NoSuchMethodException.

      e.g. the following error thrown by the server in the testsuite:

      2007-08-31 11:42:48,113 TRACE [org.jboss.proxy.ejb.EjbObjectCorbaServant.bank-iiop/Account] Exception in EJBObject invocation
      javax.management.MBeanException
      at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:184)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:165)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
      at org.jboss.proxy.ejb.EjbObjectCorbaServant._invoke(EjbObjectCorbaServant.java:287)
      at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source)
      at org.jacorb.poa.RequestProcessor.process(Unknown Source)
      at org.jacorb.poa.RequestProcessor.run(Unknown Source)
      Caused by: java.rmi.ServerException: EJBException:; nested exception is:
      javax.ejb.EJBException: Internal error getting results for field member owner
      at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:365)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:209)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
      at org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:532)
      at org.jboss.ejb.Container.invoke(Container.java:989)
      at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
      ... 8 more
      Caused by: javax.ejb.EJBException: Internal error getting results for field member owner
      at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCAbstractCMPFieldBridge.loadArgumentResults(JDBCAbstractCMPFieldBridge.java:498)
      at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCAbstractCMPFieldBridge.loadArgumentResults(JDBCAbstractCMPFieldBridge.java:432)
      at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCAbstractCMPFieldBridge.loadInstanceResults(JDBCAbstractCMPFieldBridge.java:393)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:207)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:88)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:646)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:628)
      at org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager.java:406)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:252)
      at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:243)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
      at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
      at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:280)
      at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
      at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:76)
      at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:238)
      at org.jboss.ejb.plugins.security.PreSecurityInterceptor.invoke(PreSecurityInterceptor.java:105)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
      ... 15 more
      Caused by: java.sql.SQLException: Got a org.omg.stub.javax.ejb._EJBObject_Stub[cl=org.jboss.mx.loading.UnifiedClassLoader3@ff45de{ url=vfsfile:/home/ejort/jboss-head/b

      Results in the following on the client:

      "CORBA UNKNOWN 0 No; nested exception is:
      org.omg.CORBA.UNKNOWN: org.omg.CORBA.portable.UnknownException vmcid: 0x0 minor code: 0 completed: No" type="java.rmi.RemoteException">java.rmi.RemoteExcept
      ion: CORBA UNKNOWN 0 No; nested exception is:
      org.omg.CORBA.UNKNOWN: org.omg.CORBA.portable.UnknownException vmcid: 0x0 minor code: 0 completed: No
      at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:282)
      at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
      at org.jboss.proxy.ejb.DynamicIIOPStub.invoke(DynamicIIOPStub.java:148)
      at org.jboss.test.bankiiop.interfaces._Account_Stub.getPrimaryKey(Unknown Source)
      at org.jboss.test.bankiiop.test.BankStressTestCase.testTeller(BankStressTestCase.java:88)
      at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
      at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
      at junit.extensions.TestSetup.run(TestSetup.java:25)
      Caused by: org.omg.CORBA.UNKNOWN: org.omg.CORBA.portable.UnknownException vmcid: 0x0 minor code: 0 completed: No
      at org.jacorb.orb.SystemExceptionHelper.read(Unknown Source)
      at org.jacorb.orb.ReplyReceiver.getReply(Unknown Source)
      at org.jacorb.orb.Delegate.invoke_internal(Unknown Source)
      at org.jacorb.orb.Delegate.invoke(Unknown Source)
      at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
      at org.jboss.proxy.ejb.DynamicIIOPStub.invoke(DynamicIIOPStub.java:123)
      ... 23 more
      Caused by: java.lang.NoSuchMethodException: org.omg.CORBA.portable.UnknownException.<init>(java.lang.String, int, org.omg.CORBA.CompletionStatus)
      at java.lang.Class.getConstructor0(Class.java:2678)
      at java.lang.Class.getConstructor(Class.java:1629)
      ... 29 more

      The NoSuchMethodException is obviously not the cause.
      It comes from jacorb assuming that all Corba SystemExceptions have a constructor of a certain signature
      (something that is not true for UnknownException).

      Attachments

        Activity

          People

            sguilhen Stefan Guilhen
            adrian.brock Adrian Brock (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: