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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user