Bug #858

avatar

ArgumentException when reconnecting to IRC server

Added by Mirco Bauer 3029 days ago. Updated 2949 days ago.

Status:Closed Start:07/02/2013
Priority:Urgent Due date:
Assigned to:avatarMirco Bauer % Done:

100%

Category:Engine IRC
Target version:0.8.11.1
Complexity:

Low

Found in Version:

Votes: 0

Description

2013-07-02 22:43:28,543 [-1301693584] ERROR Smuxi.Engine.Session - CommandReconnect(): 
System.ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.String,System.String].Add (System.String key, System.String value) [0x00171] in /tmp/buildd/mono-2.6.7/mcs/class/corlib/Sys
tem.Collections.Generic/Dictionary.cs:429 
  at Meebey.SmartIrc4net.IrcClient._StoreChannelsToRejoin () [0x000ab] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:1043 
  at Meebey.SmartIrc4net.IrcClient.Reconnect (Boolean login, Boolean channels) [0x00006] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:470 
  at Meebey.SmartIrc4net.IrcClient.Reconnect (Boolean login) [0x00000] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:487 
  at Smuxi.Engine.IrcProtocolManager.Reconnect (Smuxi.Engine.FrontendManager fm) [0x00000] in <filename unknown>:0 
  at Smuxi.Engine.Session+<CommandReconnect>c__AnonStoreyF.<>m__F (System.Object ) [0x00000] in /usr/local/src/smuxi/src/Engine/Session.cs:598 

2013-07-02 22:43:48,295 [-1398875280] ERROR Smuxi.Engine.Session - _CommandNetworkClose(): Exception
System.ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.String,System.String].Add (System.String key, System.String value) [0x00171] in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:429 
  at Meebey.SmartIrc4net.IrcClient._StoreChannelsToRejoin () [0x000ab] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:1043 
  at Meebey.SmartIrc4net.IrcClient._OnDisconnected (System.Object sender, System.EventArgs e) [0x0000b] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:1008 
  at (wrapper delegate-invoke) System.EventHandler:invoke_void__this___object_EventArgs (object,System.EventArgs)
  at Meebey.SmartIrc4net.IrcConnection.Disconnect () [0x0007a] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs:817 
  at Smuxi.Engine.IrcProtocolManager.Disconnect (Smuxi.Engine.FrontendManager fm) [0x00000] in <filename unknown>:0 
  at Smuxi.Engine.Session+<_CommandNetworkClose>c__AnonStorey10.<>m__11 (System.Object ) [0x00000] in /usr/local/src/smuxi/src/Engine/Session.cs:865 


Related issues

related to Smuxi - Bug #860 /shutdown throws ArgumentException: An element with the same key already exists in the dictionary Closed 07/27/2013

History

Updated by Mirco Bauer 2980 days ago

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

This is state corruption caused by a bug in the IRC socket buffer/queue, fixed in 37cc7c4acfb42fd5dec1d1366e7f9a212fe261d5

Updated by Mirco Bauer 2949 days ago

avatar
  • Priority changed from Normal to Urgent

This is a partial log that shows the state corruption. Smuxi is clearly processing events/messages of an old connection after a reconnect.

2013-06-24 20:50:19,894 [IrcProtocolManager (irc.man-da.de:6667) lag watcher] DEBUG Smuxi.Engine.IrcProtocolManager - _LagWatcher(): lag: 354.704145 seconds, difference: 10 se
conds
2013-06-24 20:50:29,358 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine.dll] Session.DisableChat(chat = <IRC/IRCnet/#stammtisch>)
2013-06-24 20:50:29,335 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine-irc.dll] IrcProtocolManager._OnDisconnected(sender = Meebey.SmartIrc4net.IrcFeatures, e = System.EventArgs)
2013-06-24 20:50:29,858 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine-irc.dll] IrcProtocolManager.Command(command = </join #stammtisch>)
2013-06-24 20:50:29,858 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine-irc.dll] IrcProtocolManager.CommandJoin(cd = </join #stammtisch>)
2013-06-24 20:50:34,573 [IrcProtocolManager (irc.man-da.de:6667) listener] ERROR Smuxi.Engine.IrcProtocolManager - _Run(): exception in _Listen() occurred!
System.ArgumentException: An element with the same key already exists in the dictionary.
  at System.Collections.Generic.Dictionary`2[System.String,Smuxi.Engine.PersonModel].Add (System.String key, Smuxi.Engine.PersonModel value) [0x00171] in /tmp/buildd/mono-2.6.7/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:429 
  at Smuxi.Engine.IrcProtocolManager._OnNames (System.Object sender, Meebey.SmartIrc4net.NamesEventArgs e) [0x00000] in <filename unknown>:0 
  at Meebey.SmartIrc4net.IrcClient._Event_RPL_NAMREPLY (Meebey.SmartIrc4net.IrcMessageData ircdata) [0x00332] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:2667 
  at Meebey.SmartIrc4net.IrcClient._HandleEvents (Meebey.SmartIrc4net.IrcMessageData ircdata) [0x00341] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:1344 
  at Meebey.SmartIrc4net.IrcClient._Worker (System.Object sender, Meebey.SmartIrc4net.ReadLineEventArgs e) [0x00000] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcClient/IrcClient.cs:1002 
  at (wrapper delegate-invoke) Meebey.SmartIrc4net.ReadLineEventHandler:invoke_void__this___object_ReadLineEventArgs (object,Meebey.SmartIrc4net.ReadLineEventArgs)
  at (wrapper delegate-invoke) Meebey.SmartIrc4net.ReadLineEventHandler:invoke_void__this___object_ReadLineEventArgs (object,Meebey.SmartIrc4net.ReadLineEventArgs)
  at Meebey.SmartIrc4net.IrcConnection.ReadLine (Boolean blocking) [0x000a1] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs:894 
  at Meebey.SmartIrc4net.IrcConnection.Listen (Boolean blocking) [0x0000b] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs:833 
  at Meebey.SmartIrc4net.IrcConnection.Listen () [0x00000] in /usr/local/src/smuxi/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs:847 
  at Smuxi.Engine.IrcProtocolManager._Listen () [0x00000] in <filename unknown>:0 
2013-06-24 20:50:34,678 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine-irc.dll] IrcProtocolManager.Reconnect(fm = Smuxi.Engine.FrontendManager)
2013-06-24 20:50:34,709 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine.dll] Session.DisableChat(chat = <IRC/IRCnet/#stammtisch>)
2013-06-24 20:50:45,023 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG TRACE - [smuxi-engine-irc.dll] IrcProtocolManager.OnEndOfNames(e = Meebey.SmartIrc4net.IrcEventArgs)
2013-06-24 20:50:45,023 [IrcProtocolManager (irc.man-da.de:6667) listener] DEBUG Smuxi.Engine.IrcProtocolManager - OnEndOfNames(): #stammtisch synced

20:50:29 -!- Disconnected from IRCnet
20:50:29     WRITE: JOIN #debian.de,#stammtisch ,

20:50:34     READ:  :MAN-DA.DE 333 TCW #debian.de aba!aba@heraklit.ayous.org 1371304545
20:50:34 -!- Connection error! Reason: An element with the same key already exists in the dictionary.
20:50:34 -!- Reconnecting to irc.man-da.de...
20:50:34 -!- Disconnected from IRCnet

Also available in: Atom PDF