OpenEJB
  1. OpenEJB
  2. OPENEJB-888

invalid handle value: 007E00DC and conversion of RuntimeException

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:
      windows

      Description

      I have an EJB which raises a custom RuntimeException

      public void raiseException() {
      if (var==null) throw MyRuntimeException("var is null");
      }

      When I call this method I get on the console server

      javax.ejb.EJBTransactionRolledbackException: The transaction has been marked rollback only because the bean encountered a non-application exception
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:348)
      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:251)
      at org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
      at $Proxy107.genererEmpreinte(Unknown Source)
      at fr.aeag.redevances.services.courrier.individuel.impl.CourrierIndivServiceImpl.createCourrier(CourrierIndivServiceImpl.java:194)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
      at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
      at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
      at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
      at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
      at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
      at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
      at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
      at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
      at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: mypackage.exception.RDVException: User does not exist
      at mypackage.mymthod(MyEJBImpl.java:57)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
      at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)

      And a very cryptic exception on the client :

      javax.ejb.EJBException: Unknown Container Exception: java.rmi.RemoteException: Cannot read the response from the server (OEJP/3.0) : invalid handle value: 007E00DC; nested exception is:
      java.io.StreamCorruptedException: invalid handle value: 007E00DC
      at org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:179)
      at org.apache.openejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:117)
      at org.apache.openejb.client.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:52)
      at $Proxy44.createCourrier(Unknown Source)

      On other embedded containers the same code throws a runtimeException that is wrapped cleanly and serialized over the wire

        Activity

        Hide
        xiezhi added a comment -

        Could you tell me the version of your OpenEJB?

        Show
        xiezhi added a comment - Could you tell me the version of your OpenEJB?
        Hide
        Javier Neira Sanchez added a comment -

        Hi, i am getting an similar exception in the client with a NullPointerException in server:
        The exception in the client is:

        Caused by: java.io.StreamCorruptedException: invalid handle value: 007E0111
        at java.io.ObjectInputStream.readHandle(ObjectInputStream.java:1450)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
        at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1929)
        at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1822)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365)
        at org.apache.openejb.client.EJBResponse.readExternal(EJBResponse.java:108)
        at org.apache.openejb.client.Client.processRequest(Client.java:167)
        at org.apache.openejb.client.Client.request(Client.java:42)
        at org.apache.openejb.client.EJBInvocationHandler.request(EJBInvocationHandler.java:129)
        at org.apache.openejb.client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:210)
        at org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:152)
        ... 11 more

        The ejb is deployed in a wasce-2.1.1 and the client are using those dependencies in the pom.xml:

        <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-ejb_3.1_spec</artifactId>
        <version>1.0.2</version>
        </dependency>
        <dependency>
        <groupId>org.apache.openejb</groupId>
        <artifactId>openejb-client</artifactId>
        <version>3.0.4</version>
        </dependency>

        Show
        Javier Neira Sanchez added a comment - Hi, i am getting an similar exception in the client with a NullPointerException in server: The exception in the client is: Caused by: java.io.StreamCorruptedException: invalid handle value: 007E0111 at java.io.ObjectInputStream.readHandle(ObjectInputStream.java:1450) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1929) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1822) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1768) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) at org.apache.openejb.client.EJBResponse.readExternal(EJBResponse.java:108) at org.apache.openejb.client.Client.processRequest(Client.java:167) at org.apache.openejb.client.Client.request(Client.java:42) at org.apache.openejb.client.EJBInvocationHandler.request(EJBInvocationHandler.java:129) at org.apache.openejb.client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:210) at org.apache.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:152) ... 11 more The ejb is deployed in a wasce-2.1.1 and the client are using those dependencies in the pom.xml: <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-ejb_3.1_spec</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>openejb-client</artifactId> <version>3.0.4</version> </dependency>

          People

          • Assignee:
            Unassigned
            Reporter:
            Sami Jaber
          • Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:

              Development