ava.net.SocketException: Software caused connection abort: s
dlanaghen Nov 16, 2006 4:22 PMWe 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)