Bug #232
Client throws unhandled exceptions upon network connection loss (Windows)
Status: | Closed | Start: | 11/10/2009 | |
Priority: | Normal | Due date: | ||
Assigned to: | Mirco Bauer | % Done: | 100% |
|
Category: | Frontend GNOME | |||
Target version: | 0.7 | |||
Complexity: | Found in Version: | |||
Votes: | 0 |
Description
The client throws the following unhandled exceptions upon network loss (tested by detaching network cable):
http://paste.debian.net/hidden/92b9dbbb/
And
http://paste.debian.net/hidden/d260c347/
System is Windows Vista Ultimate ENG SP1 32-bit, client is 0.6.4.1
Associated revisions
Revision d839da8edb4fb0cd43a8f3b258ee04512109c0bb
Treat a SocketException like a RemotingException as MS .NET is not wrapping low level socket issues into a RemotingException. (closes: #232)
History
Updated by Mirco Bauer 5523 days ago
Please pastebin stack traces directly here using the pre tags, as pastebins have expire after some time (the debian one after 3 days)
Exception Type: System.Net.Sockets.SocketException Exception Message: Etäpalvelin sulki aiemmin luodun yhteyden Exception StackTrace: Server stack trace: kohteessa System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) kohteessa System.Runtime.Remoting.Channels.SocketStream.Read(Byte[] buffer, Int32 offset, Int32 size) kohteessa System.Runtime.Remoting.Channels.SocketHandler.ReadFromSocket(Byte[] buffer, Int32 offset, Int32 count) kohteessa System.Runtime.Remoting.Channels.SocketHandler.BufferMoreData() kohteessa System.Runtime.Remoting.Channels.SocketHandler.Read(Byte[] buffer, Int32 offset, Int32 count) kohteessa System.Runtime.Remoting.Channels.SocketHandler.ReadAndMatchFourBytes(Byte[] buffer) kohteessa System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation) kohteessa System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders() kohteessa System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) kohteessa System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at [0]: kohteessa System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) kohteessa System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) kohteessa Smuxi.Engine.FrontendManager.get_IsAlive() kohteessa Smuxi.Frontend.Gnome.Frontend._CheckFrontendManagerStatus()
Exception Type: System.Net.Sockets.SocketException Exception Message: Yhteyttä ei voi muodostaa, koska kohdekone ei salli sitä 127.0.0.1:7689 Exception StackTrace: Server stack trace: kohteessa System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) kohteessa System.Net.Sockets.Socket.Connect(EndPoint remoteEP) kohteessa System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint) kohteessa System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket() kohteessa System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew) kohteessa System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream) kohteessa System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) kohteessa System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at [0]: kohteessa System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) kohteessa System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) kohteessa Smuxi.Engine.FrontendManager.set_IsFrontendDisconnecting(Boolean value) kohteessa Smuxi.Frontend.Gnome.Frontend.DisconnectEngineFromGUI() kohteessa Smuxi.Frontend.Gnome.Frontend.Quit() kohteessa Smuxi.Frontend.Gnome.Frontend.ShowException(Window parent, Exception ex) kohteessa Smuxi.Frontend.Gnome.Frontend.ShowException(Exception ex) kohteessa Smuxi.Frontend.Gnome.Frontend._CheckFrontendManagerStatus() kohteessa GLib.Timeout.TimeoutProxy.Handler()
Updated by Mirco Bauer 5523 days ago
Yeah this issue is Windows (actually MS .NET) specific as it throws a different exception than Mono does. The error is raised from the .NET Remoting code and doesn't wrap the low level error into a nice RemotingException as Mono does.
Updated by Mirco Bauer 5523 days ago
- Category changed from Frontend to Frontend GNOME
- Target version set to 0.7
Updated by Mirco Bauer 5474 days ago
- Status changed from New to Closed
- % Done changed from 0 to 100
Applied in changeset d839da8edb4fb0cd43a8f3b258ee04512109c0bb.