Bug #169

avatar

Crashed with Smuxi.Frontend.Gnome.Entry - System.InvalidOperationException: out of sync

Added by Mirco Bauer 5478 days ago. Updated 5436 days ago.

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

100%

Category:Engine
Target version:0.6.4
Complexity:

Found in Version:

Votes: 0

Description

smuxi-frontend-gnome crash with this exception when sending a message (hitting the enter key):
2009-04-13 21:46:38,099 [Main] ERROR Smuxi.Frontend.Gnome.Entry - System.InvalidOperationException: out of sync

Server stack trace: 
  at System.Collections.Generic.Dictionary`2+Enumerator[System.String,Smuxi.Engine.FrontendManager].VerifyState () [0x00000] 
  at System.Collections.Generic.Dictionary`2+Enumerator[System.String,Smuxi.Engine.FrontendManager].MoveNext () [0x00000] 
  at System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.String,Smuxi.Engine.FrontendManager].MoveNext () [0x00000] 
  at Smuxi.Engine.Session.AddMessageToChat (Smuxi.Engine.ChatModel chat, Smuxi.Engine.MessageModel msg) [0x00000] 
  at (wrapper remoting-invoke-with-check) Smuxi.Engine.Session:AddMessageToChat (Smuxi.Engine.ChatModel,Smuxi.Engine.MessageModel)
  at Smuxi.Engine.IrcProtocolManager._Say (Smuxi.Engine.ChatModel chat, System.String message) [0x00000] 
  at Smuxi.Engine.IrcProtocolManager.Command (Smuxi.Engine.CommandModel command) [0x00000] 
  at (wrapper managed-to-native) System.Runtime.Remoting.RemotingServices:InternalExecute (System.Reflection.MethodBase,object,object[],object[]&)
  at System.Runtime.Remoting.RemotingServices.InternalExecuteMessage (System.MarshalByRefObject target, IMethodCallMessage reqMsg) [0x00000] 

Associated revisions

Revision 014877084f7c0fa4b745363bd8cf55ab3dfebacb
Added by Mirco Bauer 5478 days ago

Added missing locks() for _FrontendManagers access, which caused "InvalidOperationException: out of sync". (Closes: #169)

Revision 6f67aba195620754c644b513bfb7c68397c7608c
Added by Mirco Bauer 5478 days ago

Added missing lock()s for access to Session.Chats and Session.ProtocolManagers, fixing potential "InvalidOperationException: out of sync"s. (References: #169)

History

Updated by Mirco Bauer 5478 days ago

avatar

That's clearly a race condition when it tries to add the message, it either has to lock the list or work on a copy instead.

Updated by Mirco Bauer 5478 days ago

avatar
  • Category changed from Engine IRC to Engine

The bug seems to be in Session (Engine) and not IrcProtocolManager (Engine IRC).

Updated by Mirco Bauer 5478 days ago

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

Updated by Mirco Bauer 5436 days ago

avatar
  • Target version changed from 0.8 to 0.6.4
  • 1 set to fixed

Also available in: Atom PDF