Bug #41025 Unhandled Exception when delete a doble foreingnkey
Submitted: 25 Nov 2008 18:53 Modified: 9 Dec 2008 11:24
Reporter: Rodrigo Olivares Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.0.27 OS:Windows
Assigned to: Alfredo Kojima CPU Architecture:Any

[25 Nov 2008 18:53] Rodrigo Olivares
Description:
If I create a double foreign key between two tables and try to delete relations and the referenced table, workbench Crash.

How to repeat:
- Create two tables with each with his PK, we'll call them table1 and table2
- Create two foreign keys into table1 referencing table2.
- With the mouse select both, 2 relations and table2. Right click and "delete table2".

Suggested fix:
Review process and delete relations first
[25 Nov 2008 21:53] MySQL Verification Team
Thank you for the bug report. Could you please try latest released version 5.0.27. Thanks in advance.
[25 Nov 2008 22:02] Rodrigo Olivares
Same behavior in 5.0.27 version
[25 Nov 2008 22:03] Rodrigo Olivares
Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración 
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

************** Texto de la excepción **************
System.Runtime.InteropServices.SEHException: Un componente externo produjo una excepción.
   en wb.WBContextUI.activate_command(WBContextUI* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* )
   en MySQL.Workbench.WbContext.activate_command(String name)
   en MySQL.GUI.Workbench.WorkbenchMenuManager.menuItem_Click(Object sender, EventArgs e)
   en System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   en System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   en System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   en System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   en System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   en System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   en System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   en System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   en System.Windows.Forms.Control.WndProc(Message& m)
   en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   en System.Windows.Forms.ToolStrip.WndProc(Message& m)
   en System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Ensamblados cargados **************
mscorlib
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MySQLWorkbench
    Versión del ensamblado: 5.0.27.3318
    Versión Win32: 5.0.27.3318
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbench.exe
----------------------------------------
wb.wr
    Versión del ensamblado: 0.0.0.0
    Versión Win32: 
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/wb.wr.DLL
----------------------------------------
grt.wr
    Versión del ensamblado: 0.0.0.0
    Versión Win32: 
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/grt.wr.DLL
----------------------------------------
System.Windows.Forms
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
MySQLCsUtilities
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLCsUtilities.DLL
----------------------------------------
msvcm80
    Versión del ensamblado: 8.0.50727.1801
    Versión Win32: 8.00.50727.1801
    Código base: file:///C:/WINDOWS/WinSxS/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1801_x-ww_5eed8217/msvcm80.dll
----------------------------------------
MySQLGrtShell
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLGrtShell.EXE
----------------------------------------
WeifenLuo.WinFormsUI.Docking
    Versión del ensamblado: 2.2.3232.43134
    Versión Win32: 2.2.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
System.Configuration
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
MySQLWorkbenchEditors
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbenchEditors.DLL
----------------------------------------
Aga.Controls
    Versión del ensamblado: 1.6.0.0
    Versión Win32: 1.6.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/Aga.Controls.DLL
----------------------------------------
System.Windows.Forms.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
grt.helpers.be
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/grt.helpers.be.DLL
----------------------------------------
mscorlib.resources
    Versión del ensamblado: 2.0.0.0
    Versión Win32: 2.0.50727.1433 (REDBITS.050727-1400)
    Código base: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
db.mysql.editors.wbp.fe
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.editors.wbp.fe.DLL
----------------------------------------
db.mysql.editors.wbp.wr
    Versión del ensamblado: 0.0.0.0
    Versión Win32: 
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.editors.wbp.wr.DLL
----------------------------------------
grt.db.wr
    Versión del ensamblado: 0.0.0.0
    Versión Win32: 
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/grt.db.wr.DLL
----------------------------------------
ScintillaNet
    Versión del ensamblado: 2.0.3232.42824
    Versión Win32: 2.0.0.0
    Código base: file:///C:/Archivos%20de%20programa/MySQL/MySQL%20Workbench%205.0%20OSS/ScintillaNet.DLL
----------------------------------------

************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada

Por ejemplo:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.
[26 Nov 2008 10:51] Valeriy Kravchuk
I can not repeat this with 5.0.27 on 32-bit XP SP3. Please, send .mwb file that demonstrates the problem and describe what exactly should be done to get this crash.
[26 Nov 2008 17:11] Rodrigo Olivares
The example

Attachment: bug-41025.mwb (application/octet-stream, text), 5.00 KiB.

[26 Nov 2008 17:14] Rodrigo Olivares
Maybe the reason for this bug is that I answer yes to the first dialog that say "Should corresponding database objects be deleted with the figures", because in OSS version do not have BD syncro.

Thanks
[26 Nov 2008 17:27] Rodrigo Olivares
Sreenshots

Attachment: Screenshots - bug 41025.doc (application/msword, text), 427.00 KiB.

[26 Nov 2008 19:34] Susanne Ebrecht
Many thanks for writing a bug report.

I can't repeat this behaviour by using Workbench version 5.0.27.

Please try newer version (5.0.27) and let us know if you still have this behaviour.
[26 Nov 2008 19:40] Rodrigo Olivares
I've tried both versions. In both the same bug.

I'm using WindowsXP and V5.0.27

See the screenshots yo replicate problem

By
[26 Nov 2008 19:57] Rodrigo Olivares
The same behavior if I create two tables and make a relation between they.

Table1 with key ID
Table2 with foreign key ID_FK

If I delete the table1 and the relation at the same time the error occurs

Example attached
[26 Nov 2008 19:58] Rodrigo Olivares
One relation example

Attachment: bug-41025_one_relation.mwb (application/octet-stream, text), 4.48 KiB.

[27 Nov 2008 13:50] Susanne Ebrecht
Many thanks for your answer.

I could reproduce your issue now.

Test:

1) take .mwb from reporter and open it in Workbench (bug-41025_one_relation.mwb, pased in above comment)

2) Select via mouse table1 and the relation line

3) right click on table1 and delete 'table1'

4) Should correspondending database objects be deleted with the figures?

Buttons: Ja, Nein, Abbrechen (means yes, no, cancel)

Click the word for yes here

5) Please confirm whether columns used by the foreign key should be deleted too

Buttons: Ja, Nein, Abbrechen (means yes, no, cancel)

Click here on the button with word for yes or no (doesn't matter)

Then a window opens:

Unbehandelte Ausnahme in der Anwendung. ....

Details:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.Runtime.InteropServices.SEHException: Eine externe Komponente hat eine Ausnahme ausgelöst.
   bei wb.WBContextUI.activate_command(WBContextUI* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* )
   bei MySQL.Workbench.WbContext.activate_command(String name)
   bei MySQL.GUI.Workbench.WorkbenchMenuManager.menuItem_Click(Object sender, EventArgs e)
   bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
   bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.832 (QFE.050727-8300).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
MySQLWorkbench
    Assembly-Version: 5.0.27.3318.
    Win32-Version: 5.0.27.3318.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbench.exe.
----------------------------------------
wb.wr
    Assembly-Version: 0.0.0.0.
    Win32-Version: .
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/wb.wr.DLL.
----------------------------------------
grt.wr
    Assembly-Version: 0.0.0.0.
    Win32-Version: .
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/grt.wr.DLL.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.832 (QFE.050727-8300).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.832 (QFE.050727-8300).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.832 (QFE.050727-8300).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
MySQLCsUtilities
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLCsUtilities.DLL.
----------------------------------------
msvcm80
    Assembly-Version: 8.0.50727.762.
    Win32-Version: 8.00.50727.762.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/msvcm80.DLL.
----------------------------------------
MySQLGrtShell
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLGrtShell.EXE.
----------------------------------------
WeifenLuo.WinFormsUI.Docking
    Assembly-Version: 2.2.3232.43134.
    Win32-Version: 2.2.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/WeifenLuo.WinFormsUI.Docking.DLL.
----------------------------------------
MySQLWorkbenchEditors
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbenchEditors.DLL.
----------------------------------------
Aga.Controls
    Assembly-Version: 1.6.0.0.
    Win32-Version: 1.6.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/Aga.Controls.DLL.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.42 (RTM.050727-4200).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
grt.helpers.be
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Programme/MySQL/MySQL%20Workbench%205.0%20OSS/grt.helpers.be.DLL.
----------------------------------------
mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.832 (QFE.050727-8300).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
[4 Dec 2008 22:16] Johannes Taxacher
this has been fixed. fix will go into 5.0.28
[9 Dec 2008 11:24] Tony Bedford
An entry was added to the 5.0.28 changelog:

If two foreign keys were created in a table that referenced a second table and then an attempt was made to delete the relations and the referenced table, MySQL Workbench crashed.