Bug #59535 MySql Workbench crash
Submitted: 16 Jan 2011 13:10 Modified: 7 Mar 2011 12:25
Reporter: Marek Rodkiewicz Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S1 (Critical)
Version:5.2.31 OS:Linux (Ubuntu Desktop 10.10 32-bit)
Assigned to: CPU Architecture:Any
Tags: EER Diagram, modeling, privileges, segmentation fault, table

[16 Jan 2011 13:10] Marek Rodkiewicz
Description:
Changing tables by clicking when privileges details are open causing crash entire application.

Details:

Segmentation fault
*** Segmentation fault
Register dump:

 EAX: 09f4d9b0   EBX: b73e8ff4   ECX: b563e3c0   EDX: 00000000
 ESI: 00000001   EDI: 08e744c8   EBP: bfd5c538   ESP: bfd5c4e0

 EIP: b73c1987   EFLAGS: 00010202

 CS: 0073   DS: 007b   ES: 007b   FS: 0000   GS: 0033   SS: 007b

 Trap: 0000000e   Error: 00000004   OldMask: 00000000
 ESP/signal: bfd5c4e0   CR2: 00000008

 FPUCW: ffff037f   FPUSW: ffff4025   TAG: ffffffff
 IPOFF: b5c5659d   CSSEL: 0073   DATAOFF: bfd5c050   DATASEL: 007b

 ST(0) 0000 0000000000000000   ST(1) 0000 e800000000000000
 ST(2) 0000 0000000000000000   ST(3) 0000 0000000000000000
 ST(4) 0000 0000000000000000   ST(5) 0000 0000000000000000
 ST(6) 0000 0000000000000000   ST(7) 0000 ccccccccccccd000

Backtrace:
/lib/libSegFault.so(+0x206f)[0xb76e706f]
??:0(??)[0xb76ec400]
/usr/lib/libgtkmm-2.4.so.1(_ZN3Gtk15TreeModel_Class23get_iter_vfunc_callbackEP13_GtkTreeModelP12_GtkTreeIterP12_GtkTreePath+0xb9)[0xb6b69a69]
/usr/lib/libgtk-x11-2.0.so.0(gtk_tree_model_get_iter+0xc8)[0xb65e7888]
/usr/lib/libgtk-x11-2.0.so.0(+0x24bf5f)[0xb6611f5f]
/usr/lib/libgtk-x11-2.0.so.0(+0x24e3b9)[0xb66143b9]
/usr/lib/libgtkmm-2.4.so.1(_ZN3Gtk12Widget_Class21expose_event_callbackEP10_GtkWidgetP15_GdkEventExpose+0xb1)[0xb6b88451]
/usr/lib/libgtk-x11-2.0.so.0(+0x135284)[0xb64fb284]
/usr/lib/libgobject-2.0.so.0(+0xaa87)[0xb5f2ea87]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x192)[0xb5f30412]
/usr/lib/libgobject-2.0.so.0(+0x221e6)[0xb5f461e6]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x5db)[0xb5f4783b]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x32)[0xb5f47e62]
/usr/lib/libgtk-x11-2.0.so.0(+0x263b96)[0xb6629b96]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x61b)[0xb64f4f2b]
/usr/lib/libgdk-x11-2.0.so.0(+0x3b7bb)[0xb62e67bb]
/usr/lib/libgdk-x11-2.0.so.0(+0x3b76a)[0xb62e676a]
/usr/lib/libgdk-x11-2.0.so.0(+0x3b76a)[0xb62e676a]
/usr/lib/libgdk-x11-2.0.so.0(+0x64e24)[0xb630fe24]
/usr/lib/libgdk-x11-2.0.so.0(+0x37f24)[0xb62e2f24]
/usr/lib/libgdk-x11-2.0.so.0(gdk_window_process_all_updates+0x13f)[0xb62e4f2f]
/usr/lib/libgdk-x11-2.0.so.0(+0x39fab)[0xb62e4fab]
/usr/lib/libgdk-x11-2.0.so.0(+0x14998)[0xb62bf998]
/lib/libglib-2.0.so.0(+0x3b841)[0xb5e1c841]
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1d5)[0xb5e1e855]
/lib/libglib-2.0.so.0(+0x41668)[0xb5e22668]
/lib/libglib-2.0.so.0(g_main_loop_run+0x187)[0xb5e22ba7]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9)[0xb64f51d9]
/usr/lib/libgtkmm-2.4.so.1(_ZN3Gtk4Main8run_implEv+0x17)[0xb6af83b7]
/usr/lib/libgtkmm-2.4.so.1(_ZN3Gtk4Main3runEv+0x22)[0xb6af81b2]
/usr/bin/mysql-workbench-bin(main+0xa91)[0x8182ee1]
/lib/libc.so.6(__libc_start_main+0xe7)[0xb54face7]
??:0(??)[0x81821e1]

How to repeat:
Create new model, user and role.
Assign role to user.
Go to eer diagram.
Create two tables.
Open details one them, in privileges tab assign created role to table.
Pick all privileges by clicking checkbox.
Double click on second table without changing anything in detail window.
Click on created role, assign to second table and click on it to pick privileges (all, select, insert etc.) - segmentation fault

Suggested fix:
Maybe refreshing window with table details (privileges tab) after switching table could fix this problem.
[16 Jan 2011 13:12] Marek Rodkiewicz
Application dump

Attachment: mysqlworkbenchstack.txt (text/plain), 89.91 KiB.

[17 Jan 2011 9:12] Valeriy Kravchuk
I've got a crash on 32-bit Ubuntu 10.04 using the steps from "How to repeat". We do have a bug here.
[3 Mar 2011 13:16] Johannes Taxacher
fix confirmed in repository
[7 Mar 2011 12:25] Tony Bedford
An entry has been added to the 5.2.32 changelog: 

In the EER Diagram view, Workbench crashed on selecting a new table. This 
happened if the <guilabel>Privileges</guilabel> tab was open for the 
currently selected table.