Bug #51584 Crashed deleting a row in the "Inserts" tab
Submitted: 28 Feb 2010 11:32 Modified: 3 Mar 2010 11:40
Reporter: Andrea Bergamasco Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S3 (Non-critical)
Version:5.2.16 OSS Beta Revision 5249 OS:Windows (XP SP3)
Assigned to: CPU Architecture:Any

[28 Feb 2010 11:32] Andrea Bergamasco
Description:
I created some insert rows, then clicked twice on the column header (but it sorts only ascending) then while i was right clicking on 'Delete selected row' the program crashed, here's the bug info:

Exception = System.AccessViolationException
Message = Tentativo di lettura o scrittura della memoria protetta. Spesso questa condizione indica che altre parti della memoria sono danneggiate.
FullText = System.AccessViolationException: Tentativo di lettura o scrittura della memoria protetta. Spesso questa condizione indica che altre parti della memoria sono danneggiate.
   in MySQL.Grt.ListModel.delete_node(NodeId node)
   in MySQL.Utilities.GridView.OnRowsRemoved(Object sender, DataGridViewRowsRemovedEventArgs e)
   in System.Windows.Forms.DataGridView.OnRowsRemoved(DataGridViewRowsRemovedEventArgs e)
   in System.Windows.Forms.DataGridView.OnRowsRemovedInternal(Int32 rowIndex, Int32 rowCount)
   in System.Windows.Forms.DataGridViewRowCollection.OnCollectionChanged_PostNotification(CollectionChangeAction cca, Int32 rowIndex, Int32 rowCount, DataGridViewRow dataGridViewRow, Boolean changeIsDeletion, Boolean changeIsInsertion, Boolean recreateNewRow, Point newCurrentCell)
   in System.Windows.Forms.DataGridViewRowCollection.OnCollectionChanged(CollectionChangeEventArgs e, Int32 rowIndex, Int32 rowCount, Boolean changeIsDeletion, Boolean changeIsInsertion, Boolean recreateNewRow, Point newCurrentCell)
   in System.Windows.Forms.DataGridViewRowCollection.RemoveAtInternal(Int32 index, Boolean force)
   in System.Windows.Forms.DataGridViewRowCollection.RemoveAt(Int32 index)
   in System.Windows.Forms.DataGridViewRowCollection.Remove(DataGridViewRow dataGridViewRow)
   in MySQL.Grt.Db.RecordsetView.deleteRowsMenuItem_Click(Object sender, EventArgs e)
   in System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   in System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   in System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   in System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   in System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   in System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   in System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   in System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   in System.Windows.Forms.Control.WndProc(Message& m)
   in System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   in System.Windows.Forms.ToolStrip.WndProc(Message& m)
   in System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

How to repeat:
Could not repeat.

Suggested fix:
Could it be related to the fact that the column doesn't show the descending sort? If this is done internally but not shown probably the internal indexes become inconsistent.
[1 Mar 2010 20:42] Johannes Taxacher
Thank you for your bug report. This issue has been committed to our source repository.
[3 Mar 2010 11:40] Tony Bedford
An entry has been added to the 5.2.17 changelog:

In the Inserts tab of the Table Editor, if a row was right-clicked and Delete selected rows selected, MySQL Workbench crashed.