Bug #52158 Segfault when selecting a table to edit and already editing a table
Submitted: 17 Mar 2010 19:46 Modified: 20 Apr 2010 13:21
Reporter: Matthew Turland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S2 (Serious)
Version:5.2.16 beta OS:Linux (Ubuntu 9.10 Karmic Koala 64bit)
Assigned to: Alfredo Kojima CPU Architecture:Any
Tags: crash, editing, EER, erd, modeling, segfault, tables

[17 Mar 2010 19:46] Matthew Turland
Description:
Opting to edit multiple tables in the same EER diagram causes MySQL Workbench to segfault. A manual gdb backtrace and output from stdout and stderr for such a segfault is attached.

How to repeat:
1) Create a new model
2) Create a new EER Diagram
3) Create two tables in the diagram
4) Right-click on one table and opt to edit it
5) Right-click on the other table and do the same
6) If a segfault hasn't occurred at this point, repeat step 4
[17 Mar 2010 19:46] Matthew Turland
gdb backtrace

Attachment: gdb.log (text/x-log), 1016 bytes.

[17 Mar 2010 19:47] Matthew Turland
stdout output

Attachment: stdout.log (text/x-log), 4.53 KiB.

[17 Mar 2010 19:48] Matthew Turland
stderr output

Attachment: stderr.log (text/x-log), 61.61 KiB.

[17 Mar 2010 19:50] Matthew Turland
It appears possible to get around this bug by simply closing the tab for the first table edited in the bug reproduction process prior to opting to edit the second table. The segfault only occurs when the pane to edit a table is already open and the user opts to edit a different table.
[17 Mar 2010 20:14] MySQL Verification Team
Thank you for the bug report.

Backtrace:
/lib64/libpthread.so.0(pthread_mutex_lock+0x0)[0x3d6ec08db0]
/lib64/libglib-2.0.so.0(g_async_queue_try_pop+0x34)[0x3722a14d14]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN3bec13GRTDispatcher23flush_pending_callbacksEv+0x21)[0x3736cc12a1]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN3bec10GRTManager18perform_idle_tasksEv+0x129)[0x3736cc75b9]
/usr/bin/mysql-workbench-bin(_ZN2wb9WBContext16flush_idle_tasksEv+0x1a)[0x670cea]
/usr/bin/mysql-workbench-bin(_ZN4sigc8internal10slot_call0INS_19bind_return_functorIbNS_18bound_mem_functor0IvN2wb9WBContextEEEEEbE7call_itEPNS0_8slot_repE+0x16)[0x546e26]
/usr/lib64/libglibmm-2.4.so.1[0x3731e39e70]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x22e)[0x3722a3920e]
/lib64/libglib-2.0.so.0[0x3722a3cbf8]
/lib64/libglib-2.0.so.0(g_main_loop_run+0x1a5)[0x3722a3d045]
/usr/lib64/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x372af4be07]
/usr/bin/mysql-workbench-bin(main+0x802)[0x53c202]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x3d6e41eb1d]
??:0(_start)[0x53b7f9]
[17 Mar 2010 21:51] Matthew Turland
In case it's relevant, I can't seem to replicate this bug in 5.1.18 stable, so a solution to fixing it may be present there.
[22 Mar 2010 12:37] Maciej Bilas
Not sure whether this helps, but I can confirm the same problem with Ubuntu 9.10, but the 32bit version.
[12 Apr 2010 21:52] Johannes Taxacher
this has been fixed in latest release
[20 Apr 2010 13:21] Tony Bedford
An entry has been added to the 5.2.17 changelog:

If, in the EER Diagram view, an attempt was made to edit two tables, MySQL Workbench crashed.
[12 Jul 2010 16:04] herman hf
help me to create erd my database mysql

Attachment: itservice_db.rar (application/octet-stream, text), 53.11 KiB.