Re: Software Caused Connection Abort (10053) on Client

Robert DiFalco <[email protected]>
Newsgroups gmane.comp.java.sun.rmi
Message-ID <[email protected]>
Oh, additionally, if I just fix #1, I still get a NoSuchObjectException
from serviceCall on the server (after a server restart), but it does not
cause the connection to be in an unknown state.

-----Original Message-----
From: Robert DiFalco [mailto:[email protected]] 
Sent: Tuesday, November 29, 2005 9:41 AM
To: [email protected]
Subject: Re: Software Caused Connection Abort (10053) on Client

Ok, lets see how this sits with you. I think the problem is a
combination of things. 

1. Our server was binding a reference to its stub instead of "this" in
it's Registry.
2. The agent registry used a caching mechanism to only lookup the server
stub once. It then wrapped the cached stubs in a SmartProxy that would
re-lookup the stub in the server's registry only if an invocation
handler produced a NoSuchObjectException.

For some reason it looks like either one of these alone was ok but
together they introduced unreliable behavior (oddly just on windows so
far). The best way to see it would be to restart the server (but not the
agent). Then have the agent invoke a call on the server after it had
restarted. It's cached stub would be invalid, so the first attempt to
invoke a method on it would cause the SmartProxy to re-lookup the stub
from the server's registry. But unfortunately at that point the
connection was already hosed. If I fix #1 or change #2 so it always gets
the stub from the registry (no caching) or fix both, the errant behavior
goes away. Plausable?

R.

-----Original Message-----
From: Bob Scheifler [mailto:[email protected]]
Sent: Tuesday, November 29, 2005 6:58 AM
To: Robert DiFalco
Cc: [email protected]
Subject: Re: Software Caused Connection Abort (10053) on Client

> In the case of 4716483 wouldn't I have seen something on the client 
> besides just the 10053 socket error?

Not if the arguments of the call are sufficiently large.  Read the 2nd
and 3rd paragraphs of the bug report again.  The server may have
marshalled the exception, but it will immediately process what it thinks
is the next call, see the bad transport op, and close the connection.
The client could still be marshalling its arguments, and not yet gotten
around to reading the exception that was marshalled.

- 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

===========================================================================
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.