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