Bug #198

avatar

Missing dictionary on WIndows

Added by Christian Herrmann 5534 days ago. Updated 5442 days ago.

Status:Closed Start:09/27/2009
Priority:Urgent Due date:
Assigned to:avatarMirco Bauer % Done:

100%

Category:Engine
Target version:0.7
Complexity:

Found in Version:

Votes: 0

Description

Sometimes on windows I get the following error. After connecting with the client running on linux it's fixed again.
Exception Type:
System.Runtime.Serialization.SerializationException

Exception Message:
Die Schlüssel für dieses Wörterbuch sind nicht vorhanden.

Exception StackTrace:

Server stack trace: 
   bei System.ThrowHelper.ThrowSerializationException(ExceptionResource resource)
   bei System.Collections.Generic.Dictionary`2.OnDeserialization(Object sender)
   bei System.Runtime.Serialization.ObjectManager.RaiseDeserializationEvent()
   bei System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   bei System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   bei System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMessage(Stream inputStream, IMethodCallMessage reqMsg, Boolean bStrictBinding)
   bei System.Runtime.Remoting.Channels.BinaryClientFormatterSink.DeserializeMessage(IMethodCallMessage mcm, ITransportHeaders headers, Stream stream)
   bei System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]: 
   bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   bei Smuxi.Engine.GroupChatModel.get_Persons()
   bei Smuxi.Frontend.Gnome.GroupChatView.Sync()
   bei Smuxi.Frontend.Gnome.GnomeUI.<SyncChat>c__AnonStorey9.<>m__F(Object , EventArgs )
   bei Gtk.Application.InvokeCB.Invoke()
   bei GLib.Timeout.TimeoutProxy.Handler()

ngrep.log (299.2 KB) Mirco Bauer, 12/21/2009 01:55 PM

smuxi.tcpdump (310.6 KB) Mirco Bauer, 12/21/2009 06:23 PM

smuxi_working.tcpdump (213.5 KB) Mirco Bauer, 12/21/2009 07:16 PM


Related issues

duplicated by Smuxi - Bug #234 crash on open Closed 11/15/2009

Associated revisions

Revision 28f733c9890edac6dcad798bb373006bbac44c9c
Added by Mirco Bauer 5442 days ago

Added a workaround for empty generic dictionaries, as MS .NET will fail to deserialize those from Mono. (closes: #198)

History

Updated by Mirco Bauer 5526 days ago

avatar

Hm, that kinda sounds like a serialization issue between Mono and MS .NET... never seen such on Linux (with Mono)

Updated by Mirco Bauer 5450 days ago

avatar
Here some details that might help to identify the issue:
ps auxf | grep mono
cobrian  31847  0.0  8.0 162348 42424 pts/2    Sl+  Dec03   0:30      \_ mono /usr/lib/smuxi/smuxi-server.exe
The last output:
2009-12-21 15:20:50,400 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:20:53,069 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:00,401 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:03,069 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:10,402 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:13,070 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:20,402 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:23,070 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:30,403 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:33,071 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
2009-12-21 15:21:40,404 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.
Exception you get with the frontend when you connect to that server:
Exception Type:
System.Runtime.Serialization.SerializationException

Exception Message:
Tämän sanaston avaimet puuttuvat.

Exception StackTrace:

Server stack trace: 

   kohteessa System.ThrowHelper.ThrowSerializationException(ExceptionResource resource)

   kohteessa System.Collections.Generic.Dictionary`2.OnDeserialization(Object sender)

   kohteessa System.Runtime.Serialization.ObjectManager.RaiseDeserializationEvent()

   kohteessa System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)

   kohteessa System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)

   kohteessa System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMessage(Stream inputStream, IMethodCallMessage reqMsg, Boolean bStrictBinding)

   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.GroupChatModel.get_Persons()

   kohteessa Smuxi.Frontend.Gnome.GroupChatView.Sync()

   kohteessa Smuxi.Frontend.Gnome.GnomeUI.<SyncChat>c__AnonStorey9.<>m__F(Object , EventArgs )

   kohteessa Gtk.Application.InvokeCB.Invoke()

   kohteessa GLib.Timeout.TimeoutProxy.Handler()

Updated by Mirco Bauer 5450 days ago

avatar
Mono version of smuxi-server:
mono -V
Mono JIT compiler version 2.0.1 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
 TLS:           __thread
 GC:            Included Boehm (with typed GC)
 SIGSEGV:       altstack
 Notifications: epoll
 Architecture:  amd64
 Disabled:      none 

Updated by Mirco Bauer 5450 days ago

avatar

.NET Version used for the frontend: 3.0

Updated by Mirco Bauer 5450 days ago

avatar

Here a tcpdump capture session of the .NET remoting packets:
tcpdump -w smuxi.tcpdump -i lo -s 0 -n port 7689

Updated by Mirco Bauer 5450 days ago

avatar
Thread dump of smuxi-server, which shows clearly some leaked frontend manager threads:
Full thread dump:

"Main" tid=0x0x2b2e6b25bbe0 this=0x0x2aaaaaad0c00:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at Smuxi.Server.Server.Init (string[]) <0x006b7>
  at Smuxi.Server.MainClass.Main (string[]) <0x0024b>
  at (wrapper runtime-invoke) Smuxi.Server.MainClass.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaaec0e950 this=0x0x2aaaae7bf700:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab2a12950 this=0x0x2aaaafdec1c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"IrcProtocolManager (irc.oftc.net:6667) lag watcher" tid=0x0x2aaaad183950 this=0x0x2aaaac4d4400:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at Smuxi.Engine.IrcProtocolManager._LagWatcher () <0x0003b>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x2aaaacb16950 this=0x0x2aaaac4d4e00:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at System.Runtime.Remoting.Channels.Tcp.TcpConnectionPool.ConnectionCollector () <0x0002b>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab2403950 this=0x0x2aaaafdece00:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaae24a950 this=0x0x2aaab00151c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"IrcProtocolManager (irc.saunalahti.fi:6667) lag watcher" tid=0x0x2aaaad9a8950 this=0x0x2aaaac4b7e00:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at Smuxi.Engine.IrcProtocolManager._LagWatcher () <0x0003b>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab13b1950 this=0x0x2aaab00158c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaafc07950 this=0x0x2aaaafc25a80:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab17db950 this=0x0x2aaaafc25540:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab2c17950 this=0x0x2aaaafdec700:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaacd1b950 this=0x0x2aaaafc258c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab21f2950 this=0x0x2aaab0015540:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaae44f950 this=0x0x2aaab0015000:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab118c950 this=0x0x2aaab0015e00:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"" tid=0x0x2aaaac70c950 this=0x0x2aaaaaad0400:
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0x00058>
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0xffffffff>
  at System.Net.Sockets.Socket.Accept () <0x000af>
  at System.Net.Sockets.TcpListener.AcceptSocket () <0x00023>
  at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.WaitForConnections () <0x0004f>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"IrcProtocolManager (irc.saunalahti.fi:6667) listener" tid=0x0x2aaaad384950 this=0x0x2aaaac4d4000:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at Smuxi.Engine.IrcProtocolManager._Run () <0x00153>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
2009-12-21 20:38:51,188 [IrcProtocolManager (irc.saunalahti.fi:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.

"FrontendManager" tid=0x0x2aaab2e1c950 this=0x0x2aaaafdec8c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaab280d950 this=0x0x2aaaafdecc40:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaaf9f2950 this=0x0x2aaaae7bf8c0:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaae654950 this=0x0x2aaab0015380:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"IrcProtocolManager (irc.oftc.net:6667) listener" tid=0x0x2aaaacf7e950 this=0x0x2aaaac4d4600:
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0x00050>
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x0001f>
  at Smuxi.Engine.IrcProtocolManager._Run () <0x00153>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
2009-12-21 20:38:51,188 [IrcProtocolManager (irc.oftc.net:6667) listener] WARN  Smuxi.Engine.IrcProtocolManager - _Run(): _Listen() returned.

"FrontendManager" tid=0x0x2aaab15c6950 this=0x0x2aaaafc25380:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaaddb2950 this=0x0x2aaab0015700:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaac911950 this=0x0x2aaaae7bfc40:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"FrontendManager" tid=0x0x2aaaaef4d950 this=0x0x2aaaae7bfe00:
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00060>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00073>
  at Smuxi.Common.TaskQueue.Loop () <0x0009a>
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

Updated by Mirco Bauer 5449 days ago

avatar

Here a tcpdump capture session after the smuxi-server was restarted, and connecting works again.

Updated by Mirco Bauer 5449 days ago

avatar
  • Category set to Engine
  • Assigned to set to Mirco Bauer
  • Priority changed from High to Urgent
  • Target version set to 0.7

After comparing both tcpdumps I noticed that the difference is there are empty userlists in channels in the dump where the connect issue is. As PoC I kicked Cobrian from the #smuxi channel which leads to an open tab but with an empty userlist. After that he could no longer connect to the smuxi-server as he gets the same SerializationException as before. This is clearly a binary serialization bug in Mono, which .NET fails on. I will try a workaround by using the null-state instead of an empty userlist.

Updated by Mirco Bauer 5442 days ago

avatar
  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF