[jboss-user] [Beginners Corner] - ava.net.SocketException: Software caused connection abort: s

dlanaghen do-not-reply at jboss.com
Thu Nov 16 16:22:30 EST 2006


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)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3986678#3986678

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3986678



More information about the jboss-user mailing list