0 Replies Latest reply on Nov 16, 2006 4:22 PM by David Lanaghen

    ava.net.SocketException: Software caused connection abort: s

    David Lanaghen Newbie

      We were running exception tests that we have written against our api. We restrict the String length of some arguments in our api. In these tests we pass a large String ( int textLength = 33554433; char[] chars = new char[textLength];). These large strings seem to result in the following exception. It seems as though the server closes the socket before the buffer containing the long string has completed sending. The test fails in a matter of seconds. I do not know what timeout mechanism is in place with JBoss but I would think that it has to be far longer than the time required to package and send this buffer.

      The environment:
      JBoss 4.0.3SP1
      Java 1.5_08
      Windows XP

      java.net.SocketException: Software caused connection abort: socket write error
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
      at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1647)
      at java.io.ObjectOutputStream.write(ObjectOutputStream.java:637)
      at org.jboss.invocation.MarshalledValue.writeExternal(MarshalledValue.java:172)
      at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1307)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      at org.jboss.invocation.MarshalledInvocation.writeExternal(MarshalledInvocation.java:479)
      at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1307)
      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:117)
      at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
      at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxyHA.invoke(JRMPInvokerProxyHA.java:172)
      at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:227)
      at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:167)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
      at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
      at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:169)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
      at $Proxy6.create(Unknown Source)
      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:585)
      at com.hli.le.connect.InvokerInterceptor.invoke(InvokerInterceptor.java:38)
      at com.hli.le.connect.ejb.NarrowingInterceptor.invoke(NarrowingInterceptor.java:58)
      at com.hli.le.connect.ejb.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:62)
      at com.hli.le.connect.ejb.EJBExceptionInterceptor.invoke(EJBExceptionInterceptor.java:87)
      at com.hli.le.connect.LEConnectionInterceptor.invoke(LEConnectionInterceptor.java:110)
      at com.hli.le.connect.InterceptorInvocationHandler.invoke(InterceptorInvocationHandler.java:81)
      at com.hli.le.connect.ObjectInvocationHandler.invoke(ObjectInvocationHandler.java:187)
      at $Proxy7.create(Unknown Source)
      at com.hli.le.test.exception.VersionHomeExceptionTest.test029_Create_String_String_StringEqReallyLongText_long_ContentSetId(VersionHomeExceptionTest.java:720)
      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:585)
      at junit.framework.TestCase.runTest(TestCase.java:154)
      at junit.framework.TestCase.runBare(TestCase.java:127)
      at com.hli.le.test.regression.JRTestCase$1.protect(JRTestCase.java:234)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at com.hli.le.test.regression.JRTestCase.run(JRTestCase.java:243)
      at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)