Re: Software Caused Connection Abort (10053) on Client

Robert DiFalco <[email protected]>
Newsgroups gmane.comp.java.sun.rmi
Message-ID <[email protected]>
In the case of 4716483 wouldn't I have seen something on the client
besides just the 10053 socket error? I think it would have successfully
marshaled the exception to the client side for this to happen (i.e.
serviceCall return true). This is all I have on the client side:

 java.rmi.MarshalException: error marshalling arguments; nested
exception is: 
        javax.net.ssl.SSLException: Connection has been shutdown:
javax.net.ssl.SSLException: java.net.SocketException: Software caused
connection abort: socket write error
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
        at
com.tripwire.space.services.server.ServerService_Stub.exec(Unknown
Source)
        at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
com.tripwire.kernel.rmi.ServerRegistry$SmartHandler.invokeMethod(ServerR
egistry.java:179)
        at
com.tripwire.kernel.rmi.ServerRegistry$SmartHandler.invoke(ServerRegistr
y.java:159)
        at $Proxy1.exec(Unknown Source)
        at
com.tripwire.common.rpc.sync.SyncAdapter.<init>(SyncAdapter.java:57)
        at
com.tripwire.space.common.element.ElementManagerProxy.evalOnServer(Eleme
ntManagerProxy.java:161)
        at
com.tripwire.space.common.element.ElementManagerProxy.addVersions(Elemen
tManagerProxy.java:46)
        at
com.tripwire.si.common.rule.ElementGenerator$PostChanges.run(ElementGene
rator.java:396)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:534)
 Caused by: javax.net.ssl.SSLException: Connection has been shutdown:
javax.net.ssl.SSLException: java.net.SocketException: Software caused
connection abort: socket write error
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.d(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.e(DashoA12275)
        at
com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA12275)
        at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
        at
java.io.BufferedOutputStream.write(BufferedOutputStream.java:110)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStrea
m.java:1639)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Object
OutputStream.java:1548)
        at
java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:114
6)
        at
java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1100)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
241)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1
355)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:281)
        at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:124)
        ... 13 more
 Caused by: javax.net.ssl.SSLException: java.net.SocketException:
Software caused connection abort: socket write error
        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
        at
com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA12275)
        at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
        at
java.io.BufferedOutputStream.write(BufferedOutputStream.java:110)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStrea
m.java:1639)
        at
java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Object
OutputStream.java:1548)
        at
java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:114
6)
        at
java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1100)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
241)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
        at
com.tripwire.space.common.batch.BatchedList.writeExternal(BatchedList.ja
va:240)
        at
java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:126
4)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
245)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
32)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
247)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:13
32)
        at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1
247)
        at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
        at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
        ... 15 more
 Caused by: 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 com.sun.net.ssl.internal.ssl.OutputRecord.a(DashoA12275)
        ... 39 more

-----Original Message-----
From: Bob Scheifler [mailto:[email protected]] 
Sent: Monday, November 28, 2005 1:27 PM
To: Robert DiFalco
Cc: [email protected]
Subject: Re: Software Caused Connection Abort (10053) on Client

>  FINE: RMI TCP Connection(20)-192.168.54.152: (port 9898) exception: 
>  java.io.IOException: unknown transport op 115

Ah, that's an important clue.

> I was thinking that if something
> when wrong in StreamRemoteCall that this 115 could be residual data 
> before the socket is closed. But then again, you can see that if 
> serverCall( call ) returns false,k the socket is closed in the finally

> block, so that seems unlikely.

As Peter Jones pointed out in an earlier thread, server-side failures
don't all result in serviceCall returning false.  Read the bug report he
previously referred to:
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4716483

Turning on server-side exception logging
    -Dsun.rmi.server.exceptionTrace=true
or setting the server-side call logging (sun.rmi.server.call) level to
FINE should make the preceding server-side exception visible, if that's
the culprit.

- Bob

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff RMI-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

For a list of frequently asked RMI questions please refer to:
http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html

To view past RMI-USERS postings, please see:
http://archives.java.sun.com/archives/rmi-users.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.