Bug #55772 System.InvalidOperationException: Object is currently in use elsewhere.
Submitted: 5 Aug 2010 9:58 Modified: 5 Aug 2010 10:03
Reporter: Roel Van de Paar Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S1 (Critical)
Version:5.2.25 OS:Windows (Windows 7)
Assigned to: CPU Architecture:Any

[5 Aug 2010 9:58] Roel Van de Paar
Description:
Exception = System.InvalidOperationException
Message = Object is currently in use elsewhere.
FullText = System.InvalidOperationException: Object is currently in use elsewhere.
   at System.Drawing.Graphics.MeasureString(String text, Font font, SizeF layoutArea, StringFormat stringFormat)
   at System.Drawing.Graphics.MeasureString(String text, Font font)
   at Aga.Controls.Tree.NodeControls.BaseTextControl.GetLabelSize(TreeNodeAdv node, DrawContext context, String label)
   at Aga.Controls.Tree.NodeControls.BaseTextControl.MeasureSize(TreeNodeAdv node, DrawContext context)
   at Aga.Controls.Tree.NodeControls.NodeControl.GetActualSize(TreeNodeAdv node, DrawContext context)
   at Aga.Controls.Tree.TreeViewAdv.<GetNodeControls>d__f.MoveNext()
   at Aga.Controls.Tree.TreeViewAdv.GetNodeBounds(IEnumerable`1 nodeControls)
   at Aga.Controls.Tree.TreeViewAdv.GetNodeWidth(TreeNodeAdv node)
   at Aga.Controls.Tree.TreeViewAdv.CreateRowMap()
   at Aga.Controls.Tree.TreeViewAdv.UnsafeFullUpdate()
   at Aga.Controls.Tree.TreeViewAdv.FullUpdate()
   at Aga.Controls.Tree.TreeViewAdv.SmartFullUpdate()
   at Aga.Controls.Tree.TreeViewAdv._model_StructureChanged(Object sender, TreePathEventArgs e)
   at MySQL.Grt.GrtListModel.OnStructureChanged(TreePathEventArgs args)
   at MySQL.Grt.GrtListModel.RefreshModel()
   at MySQL.GUI.Workbench.UndoHistoryForm.UpdateHistoryTree()
   at MySQL.GUI.Workbench.UndoHistoryForm.invokeRefresh(NodeId node, Int32 oldCount)
   at MySQL.Grt.RunWrappedDelegate2<void\,void\,bec::NodeId\,MySQL::Grt::NodeId ^\,int\,int\,MySQL::Grt::DelegateSlot2<void\,void\,bec::NodeId\,MySQL::Grt::NodeId ^\,int\,int>::ManagedDelegate>.native_callback(NodeId* a1, Int32* a2)
   at sigc.pointer_functor2<bec::NodeId const &,int const &,void>.()(pointer_functor2<bec::NodeId const \&\,int const \&\,void>* , NodeId* _A_a1, Int32* _A_a2)
   at sigc.adaptor_functor<sigc::pointer_functor2<bec::NodeId const &,int const &,void> >.operator()<struct bec::NodeId const &,int const &>(adaptor_functor<sigc::pointer_functor2<bec::NodeId const \&\,int const \&\,void> >* , NodeId* _A_arg1, Int32* _A_arg2)
   at sigc.internal.slot_call2<sigc::pointer_functor2<bec::NodeId const &,int const &,void>,void,bec::NodeId const &,int const &>.call_it(slot_rep* rep, NodeId* a_1, Int32* a_2)
   at sigc.slot2<void,bec::NodeId const &,int const &>.()(slot2<void\,bec::NodeId const \&\,int const \&>* , NodeId* _A_a1, Int32* _A_a2)
   at sigc.adaptor_functor<sigc::slot<void,bec::NodeId const &,int const &,sigc::nil,sigc::nil,sigc::nil,sigc::nil,sigc::nil> >.operator()<struct bec::NodeId const &,int const &>(adaptor_functor<sigc::slot<void\,bec::NodeId const \&\,int const \&\,sigc::nil\,sigc::nil\,sigc::nil\,sigc::nil\,sigc::nil> >* , NodeId* _A_arg1, Int32* _A_arg2)
   at sigc.internal.slot_call2<sigc::slot<void,bec::NodeId const &,int const &,sigc::nil,sigc::nil,sigc::nil,sigc::nil,sigc::nil>,void,bec::NodeId,int>.call_it(slot_rep* rep, NodeId* a_1, Int32* a_2)

How to repeat:
Create multiple EER diagrams in one session. Still have to find exact way to re-replicate. Will upload backtrace soon.
[5 Aug 2010 10:03] Roel Van de Paar
Duplicate of second crash listed in bug #55304 (ref: [30 Jul 18:33] Johannes Taxacher)