This forum has been archived. Please start a new discussion on GitHub.

Existing conection forcibly closed


I keep getting this error on my Ice client..
SocketException: An existing connection was forcibly closed by the remote host.

  at System.Net.Sockets.Socket+SocketAsyncResult.CheckIfThrowDelayedException () [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket.EndReceive (IAsyncResult asyncResult, System.Net.Sockets.SocketError& errorCode) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket.EndReceive (IAsyncResult result) [0x00000] in <filename unknown>:0 
  at IceInternal.TcpTransceiver.finishRead (IceInternal.Buffer buf) [0x00000] in <filename unknown>:0 
Rethrow as ConnectionLostException
  at IceInternal.TcpTransceiver.finishRead (IceInternal.Buffer buf) [0x00000] in <filename unknown>:0 
  at Ice.ConnectionI.finishAsync (Int32 operation) [0x00000] in <filename unknown>:0 
(Filename:  Line: -1)

I'm connecting my client thru Glacier2 to the server. I'm using Ice 3.4.1. on a Windows 7 machine. The client is a C# client and the server is c++. It probably doesn't matter what the server is since I'm connecting thru Glacier 2.

It seems like the Glacier2 connection is established correctly and the session was created. The client was able to send and receive messages. But after a short while I get the above exception on the client. Nad that short while seems to be random. Sometimes it's almost immedaitely after the connection is established, sometimes a few secs after.

I'm attaching the Glacier2 logs with Ice.Trace.Network set to 3, Ice.Trace.Protocol set to 1 and Ice.Trace.Session set to 1. From what I can see things seemed normal.

Not sure what's causing it. And it's only happening on this one machine. The specs on the machine and its OS are identical to a couple other machines I have tried it on.


  • mes
    mes California
    Hi Budyanto,

    I'm not yet sure what would be causing this. I'd like to get more information:

    * What OS is the Glacier2 host using?
    * Can you post the log output of the client with Ice.Trace.Network=3 and Ice.Trace.Protocol=1?
    * Can you include Glacier2.Trace.Session=1 in your Glacier2 configuration and post a new log output?