glassfish
  1. glassfish
  2. GLASSFISH-18722

[PERF] Standalone client fails receiving 1k or longer string via IIOP (Blocking IIOP-based perf tests)

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 4.0_dev
    • Fix Version/s: 4.1.1
    • Component/s: orb
    • Labels:
      None

      Description

      Accessing a remote EJB to get 1k, 100k strings via a standalone client fails with error. This issue is present in 3.1.2 as well. In Solaris this happens all the time, for Linux it happens more on secure listener and sometimes on non-secure listener too.

      java.rmi.MarshalException: CORBA COMM_FAILURE 1330446373 No; nested exception is:
      org.omg.CORBA.COMM_FAILURE: WARNING: 00410037: Timeout while reading data in buffer manager vmcid: OMG minor code: 37 completed: No
      at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:258)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:211)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)
      at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
      at weblogic.performance.benchmarks.rmi._EJBRMIBenchmarks_DynamicStub.getString(weblogic/performance/benchmarks/rmi/_EJBRMIBenchmarks_DynamicStub.java)
      at weblogic.performance.benchmarks.rmi.clients.GetStringUser.op(RMIUser.java:148)
      at weblogic.performance.benchmarks.rmi.clients.RMIUser.execute(RMIUser.java:70)
      at weblogic.performance.utils.controller.ClientThread.run(ClientThread.java:81)
      Caused by: org.omg.CORBA.COMM_FAILURE: WARNING: 00410037: Timeout while reading data in buffer manager vmcid: OMG minor code: 37 completed: No
      at $Proxy28.bufferReadManagerTimeout(Unknown Source)
      at com.sun.corba.ee.impl.encoding.BufferManagerReadStream.underflow(BufferManagerReadStream.java:142)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_1.grow(CDRInputStream_1_1.java:113)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_octet_array(CDRInputStream_1_0.java:714)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.getConvertedChars(CDRInputStream_1_0.java:2335)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_2.read_wstring(CDRInputStream_1_2.java:171)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1077)
      at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531)
      at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:383)
      at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:482)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:201)
      ... 6 more
      java.rmi.MarshalException: CORBA COMM_FAILURE 1330446373 No; nested exception is:
      org.omg.CORBA.COMM_FAILURE: WARNING: 00410037: Timeout while reading data in buffer manager vmcid: OMG minor code: 37 completed: No
      at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:258)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:211)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)
      at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:227)
      at weblogic.performance.benchmarks.rmi._EJBRMIBenchmarks_DynamicStub.getString(weblogic/performance/benchmarks/rmi/_EJBRMIBenchmarks_DynamicStub.java)
      at weblogic.performance.benchmarks.rmi.clients.GetStringUser.op(RMIUser.java:148)
      at weblogic.performance.benchmarks.rmi.clients.RMIUser.execute(RMIUser.java:70)
      at weblogic.performance.utils.controller.ClientThread.run(ClientThread.java:81)
      Caused by: org.omg.CORBA.COMM_FAILURE: WARNING: 00410037: Timeout while reading data in buffer manager vmcid: OMG minor code: 37 completed: No
      at $Proxy28.bufferReadManagerTimeout(Unknown Source)
      at com.sun.corba.ee.impl.encoding.BufferManagerReadStream.underflow(BufferManagerReadStream.java:142)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_1.grow(CDRInputStream_1_1.java:113)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_octet_array(CDRInputStream_1_0.java:714)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.getConvertedChars(CDRInputStream_1_0.java:2335)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_2.read_wstring(CDRInputStream_1_2.java:171)
      at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1077)
      at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531)
      at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$14.read(DynamicMethodMarshallerImpl.java:383)
      at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:482)
      at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:201)
      ... 6 more
      null

        Activity

        Hide
        Harshad Vilekar added a comment -

        Looking at the issue now. Tried the test case provided by Amit, and could duplicate the client side exception on my Linux box with the latest GF 4.0 build.

        Show
        Harshad Vilekar added a comment - Looking at the issue now. Tried the test case provided by Amit, and could duplicate the client side exception on my Linux box with the latest GF 4.0 build.
        Hide
        Scott Oaks added a comment -

        In May at perf team meetings, we discussed that the ORBDebug output would be too large for this test to make sense of, and that we expected the behavior might change after the summertime ORB integrations (but the latter isn't hte case; this is still an issue).

        Show
        Scott Oaks added a comment - In May at perf team meetings, we discussed that the ORBDebug output would be too large for this test to make sense of, and that we expected the behavior might change after the summertime ORB integrations (but the latter isn't hte case; this is still an issue).
        Hide
        Harshad Vilekar added a comment -

        Could you rerun the test with the flag : "-Dcom.sun.corba.ee.ORBDebug=transport". Please set this on both the client and the GlassFish server. And include the server log and the client side output.

        Also, is it possible to attach the test that duplicates the issue ? I ran a simple app that invokes a remote method that returns a string of size > 100K. The call is repeated 1000 times, but it couldn't duplicate the failure on my Solaris / Linux box.

        Show
        Harshad Vilekar added a comment - Could you rerun the test with the flag : "-Dcom.sun.corba.ee.ORBDebug=transport". Please set this on both the client and the GlassFish server. And include the server log and the client side output. Also, is it possible to attach the test that duplicates the issue ? I ran a simple app that invokes a remote method that returns a string of size > 100K. The call is repeated 1000 times, but it couldn't duplicate the failure on my Solaris / Linux box.

          People

          • Assignee:
            Harshad Vilekar
            Reporter:
            amitagarwal
          • Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: