Bug #66707 MySQL Workbench segfaults when updating model from a database
Submitted: 5 Sep 2012 15:53 Modified: 25 Jun 2013 15:28
Reporter: Aalex Gabi Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S1 (Critical)
Version:5.2.42 OS:Linux (Ubuntu 12.04)
Assigned to: CPU Architecture:Any
Tags: model, segfault, updated

[5 Sep 2012 15:53] Aalex Gabi
Description:
When trying to synchronize the model with the database, using the database as source MySQL Workbench segfaults.

Sometimes differences are detected in the graphic tool before execution but the generated script is empty.

How to repeat:
I will send the SQL files and the database model.
[5 Sep 2012 18:07] MySQL Verification Team
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e626)[0x7f13edcc7626]
/lib/x86_64-linux-gnu/libc.so.6(+0x7f8e5)[0x7f13edcc88e5]
/usr/lib/mysql-workbench/liblinux_utilities.so.0(_ZN16TreeModelWrapperD0Ev+0xbe)[0x7f13f51bd3fe]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_datalist_clear+0x80)[0x7f13ef5b9c30]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_unref+0x1b3)[0x7f13f03d6e93]
/usr/bin/mysql-workbench-bin(_ZN6mforms3gtk15GRTTreeViewImplD0Ev+0x8c)[0x6d5fbc]
/usr/lib/mysql-workbench/libmforms.so.0(_ZN6mforms6ObjectD2Ev+0x26)[0x7f13f54ab896]
/usr/lib/mysql-workbench/libmforms.so.0(_ZN6mforms4ViewD1Ev+0x268)[0x7f13f54d1e18]
/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so(_ZN26SynchronizeDifferencesPageD1Ev+0x381)[0x7f13d18db411]
/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so(_ZN37AlterScriptSynchronizeDifferencesPageD0Ev+0x17)[0x7f13d18db957]
/usr/lib/mysql-workbench/libwbpublic.so.0(_ZN5grtui10WizardFormD1Ev+0x38)[0x7f13f4a34308]
/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so(_ZN17WbPluginDiffAlterD0Ev+0x61)[0x7f13d18d8ed1]
/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so(_ZN17MySQLDbModuleImpl18runDiffAlterWizardEN3grt3RefI10db_CatalogEE+0x3c)[0x7f13d189053c]
/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so(_ZN3grt14ModuleFunctor1Ii17MySQLDbModuleImplNS_3RefI10db_CatalogEEE12perform_callERKNS_11BaseListRefE+0xa4)[0x7f13d1890654]
/usr/lib/mysql-workbench/libgrt.so.0(_ZN5boost6detail8function21function_obj_invoker1INS_3_bi6bind_tIN3grt8ValueRefENS_4_mfi3mf1IS6_NS5_17ModuleFunctorBaseERKNS5_11BaseListRefEEENS3_5list2INS3_5valueIPS9_EENS_3argILi1EEEEEEES6_SC_E6invokeERNS1_15function_bufferESC_+0x24)[0x7f13f4117c44]
/usr/lib/mysql-workbench/libgrt.so.0(_ZN3grt6Module13call_functionERKSsRKNS_11BaseListRefE+0x52)[0x7f13f410ccb2]
/usr/lib/mysql-workbench/libwbpublic.so.0(_ZN3bec17PluginManagerImpl27open_standalone_plugin_mainERKN3grt3RefI10app_PluginEERKNS1_11BaseListRefE+0xc8)[0x7f13f47e8058]
/usr/lib/mysql-workbench/libwbpublic.so.0(_ZN3bec17PluginManagerImpl15open_gui_pluginERKN3grt3RefI10app_PluginEERKNS1_11BaseListRefENS_14GUIPluginFlagsE+0xd76)[0x7f13f47f5c76]
/usr/lib/mysql-workbench/libwbpublic.so.0(_ZN3bec17PluginManagerImpl11open_pluginERKN3grt3RefI10app_PluginEERKNS1_11BaseListRefE+0xc)[0x7f13f47f623c]
/usr/bin/mysql-workbench-bin(_ZN2wb9WBContext18execute_plugin_grtEPN3grt3GRTERKNS1_3RefI10app_PluginEERKNS1_11BaseListRefE+0x14b)[0x90c08b]
/usr/bin/mysql-workbench-bin(_ZN2wb9WBContext14execute_pluginERKSsRKN3bec12ArgumentPoolE+0xb83)[0x91ced3]
/usr/bin/mysql-workbench-bin(_ZN2wb9CommandUI16activate_commandERKSs+0x160)[0x8c0310]
/usr/bin/mysql-workbench-bin(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tINS3_11unspecifiedENS_8functionIFvSsEEENS3_5list1INS3_5valueIN3grt3RefINSB_8internal6StringEEEEEEEEEvE6invokeERNS1_15function_bufferE+0x45)[0x8d0f55]
/usr/lib/mysql-workbench/libmforms.so.0(_ZN5boost8signals26detail12signal0_implIvNS0_19optional_last_valueIvEEiSt4lessIiENS_8functionIFvvEEENS7_IFvRKNS0_10connectionEEEENS0_5mutexEEclEv+0x5ec)[0x7f13f54b155c]
/usr/lib/mysql-workbench/libmforms.so.0(+0x184765)[0x7f13f556c765]
/usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1(_ZN4Glib17SignalProxyNormal19slot0_void_callbackEP8_GObjectPv+0x28)[0x7f13f0d32e08]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x132)[0x7f13f03d1ca2]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x20fdd)[0x7f13f03e2fdd]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xd79)[0x7f13f03eb099]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f13f03eb242]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_activate+0x6e)[0x7f13f11a038e]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_menu_shell_activate_item+0xfd)[0x7f13f109b0fd]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x14b495)[0x7f13f109b495]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x136dd8)[0x7f13f1086dd8]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x132)[0x7f13f03d1ca2]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x21339)[0x7f13f03e3339]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xa5e)[0x7f13f03ead7e]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f13f03eb242]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x251191)[0x7f13f11a1191]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_propagate_event+0xc3)[0x7f13f1084f63]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main_do_event+0x283)[0x7f13f10852c3]
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x5bcac)[0x7f13f088ccac]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x133)[0x7f13ef5d4d53]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x480a0)[0x7f13ef5d50a0]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x6a)[0x7f13ef5d549a]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x7f13f10842f7]
[5 Sep 2012 18:08] MySQL Verification Team
Thank you for the bug report.
[5 Sep 2012 18:59] Aalex Gabi
Any idea when the bug is going to be fixed in a release?
[20 Sep 2012 11:00] Grzegorz Śliwiński
Error still occurs in Workbench 5.2.43 on Debian Squeeze

MySQL Workbench crashes with 
** Message: overview.home built-in command is being overwritten
Segmentation fault
[20 Sep 2012 11:01] Grzegorz Śliwiński
crash backtrace

Attachment: mwb.backtrace (application/octet-stream, text), 55.28 KiB.

[20 Sep 2012 23:35] Adam S
This happens in 5.2.43 on Win7 64bit.

I ran with -verbose option and got this output when updating model:

Unhandled Exception: System.AccessViolationException: Attempted to read or write
 protected memory. This is often an indication that other memory is corrupt.
   at wb.WBContext.flush_idle_tasks(WBContext* )
   at MySQL.Workbench.WbContext.flush_idle_tasks()
   at MySQL.GUI.Workbench.Program.timer_Tick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr
wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.Uns
afeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int
32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 r
eason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason
, ApplicationContext context)
   at System.Windows.Forms.Application.RunDialog(Form form)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at MySQL.Forms.WizardImpl.run_modal(Wizard* self)
   at MySQL.MCallback1<void\,mforms::Wizard \*>.cpp_callback(Wizard* arg1)
   at mforms.MenuItem.callback(MenuItem* )
   at MySQL.Forms.MenuItemImpl.menuItemClick(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolS
tripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEve
ntType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, In
t32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr
wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.Uns
afeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int
32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 r
eason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason
, ApplicationContext context)
   at System.Windows.Forms.Application.Run(ApplicationContext context)
   at MySQL.GUI.Workbench.Program.Main(String[] Args)
[25 Oct 2012 9:24] Harald Stowasser
Same error different backtrace. (Ubuntu 12.04.1 LTS)

Attachment: backtrace_workbench.txt (text/plain), 79.33 KiB.

[26 Nov 2012 5:18] Philip Olson
Fixed as of the upcoming MySQL Workbench 5.2.45, and here's the changelog entry:

Synchronizing a model with a database could crash MySQL Workbench by causing a
segmentation fault.

Thank you for the bug report.
[14 Dec 2012 20:11] Aalex Gabi
Thank you for the fix.
[7 Jan 2013 0:50] William Wynn
Backtrace with 5.2.45

Attachment: workbench_5.2.45_segfault.txt (text/plain), 60.45 KiB.

[7 Jan 2013 0:52] William Wynn
I'm still getting this with 5.4.25 although the crash doesn't occur until clicking "close" after it says the sync is complete. Backtrace was attached above this comment.
[29 Jan 2013 18:31] Aalex Gabi
The issue still exists in 5.2.42. I can't provide any more information for now.
[29 Jan 2013 18:32] Aalex Gabi
Sorry! I meant version 5.2.45.
[19 Jun 2013 20:11] Alfredo Kojima
Please try 6.0.2 beta
[25 Jun 2013 15:28] Alfredo Kojima
No longer able to repeat with 5.2.47