Bug #49298 Sidebar display problems and application crash when showing GRT Shell
Submitted: 1 Dec 2009 21:19 Modified: 29 Jan 2010 10:50
Reporter: Kolbe Kegel Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S1 (Critical)
Version:5.2.10 Beta OS:Linux (mysql-workbench-oss-5.2.10-1ubu804-amd64.deb)
Assigned to: Alfredo Kojima CPU Architecture:Any

[1 Dec 2009 21:19] Kolbe Kegel
Description:
There are numerous problems with the sidebar when displaying the GRT Shell. There are problems in all modes of the application (SQL Editor, MySQL Model, Admin).

1) What I will call the "Catalog" tab (showing Schemata, SQL Snippets, etc.) has no label when the GRT Shell is visible.

2) After closing the GRT Shell in SQL Editor mode, only the "Model" tab is visible (though the tab's label is not visible anymore), which means that the Schemata and SQL Snippets, et cetera, are not visible at all. The information in the "Model" tab has no apparently meaning in the context of the SQL Editor, so this renders the sidebar useless unless the GRT Shell is enabled. In other words, the items under the "Catalog" tag are not visible unless the GRT Shell is enabled. Normal functionality can only be regained by closing the SQL Editor window and opening another.

3) It's possible to cause WB to crash entirely by enabling the GRT Shell and performing some other steps:

a) Open Connection to start Querying
b) Enable GRT Shell by clicking the "Show GRT Shell IDE" icon
c) Close GRT Shell
d) Close SQL Editor tab
e) Open Connection to start Querying
f) Enable GRT Shell by clicking the "Show GRT Shell IDE" icon
g) There should be an additional blank tab to the right of the GRT tab in the sidebar
h) Clicking the tab described in (g) will cause WB to crash:

Backtrace:
/usr/lib/mysql-workbench/liblinux_utilities.so.0(_ZNK16TreeModelWrapper14get_iter_vfuncERKN3Gtk8TreePathERNS0_8TreeIterE+0x19d)[0x7ff5bb3a3aa1]
/usr/lib/libgtkmm-2.4.so.1(_ZN3Gtk15TreeModel_Class23get_iter_vfunc_callbackEP13_GtkTreeModelP12_GtkTreeIterP12_GtkTreePath+0x105)[0x7ff5b9399c55]
/usr/lib/libgtk-x11-2.0.so.0[0x7ff5b88789a4]
/usr/lib/libgtk-x11-2.0.so.0[0x7ff5b878387f]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x10f)[0x7ff5b651ebbf]
/usr/lib/libgobject-2.0.so.0[0x7ff5b6532bc8]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x57f)[0x7ff5b6533f6f]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x7ff5b6534633]
/usr/lib/libgtk-x11-2.0.so.0[0x7ff5b888ae55]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x48e)[0x7ff5b877dd1e]
/usr/lib/libgdk-x11-2.0.so.0[0x7ff5b7b2fcab]
/usr/lib/libgdk-x11-2.0.so.0(gdk_window_process_all_updates+0xd7)[0x7ff5b7b302c7]
/usr/lib/libgtk-x11-2.0.so.0[0x7ff5b86f3da1]
/usr/lib/libgdk-x11-2.0.so.0[0x7ff5b7b1789e]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e4)[0x7ff5b5001384]
/usr/lib/libglib-2.0.so.0[0x7ff5b5004695]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1d5)[0x7ff5b50049b5]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa3)[0x7ff5b877df03]
/usr/bin/mysql-workbench-bin(main+0x50b)[0x787ad7]
/lib/libc.so.6(__libc_start_main+0xf4)[0x7ff5b34a91c4]
/usr/bin/mysql-workbench-bin(_ZN3grt9CPPModuleD1Ev+0x61)[0x786d29]

How to repeat:
as above.

Suggested fix:
Overhaul sidebar display and behavior as necessary to eliminate these problems.
[18 Jan 2010 11:39] Alfredo Kojima
Moved the GRT shell to a standalone window
[19 Jan 2010 18:09] Johannes Taxacher
issue #3 still exists, even though it doesn't have anything to do with grt shell sidebar/window.
just open/close/open a connection session and there will be two no-labeled small tabs on top of the sidebar, clicking the middle tab (which is the left of the two small ones) causes the crash.
repeatable on ubuntu 9.10 as well
[22 Jan 2010 0:18] Alfredo Kojima
The "ghost" tab is now removed and also the tabs at the top are not shown anymore.
[26 Jan 2010 22:13] Johannes Taxacher
fixed in 5.2.15
[29 Jan 2010 10:50] Tony Bedford
A 'change' entry has been added to the 5.2.15 changelog:

The GRT Shell exhibited various issues and could generate exceptions in some circumstances.

The GRT Shell has been updated and is now implemented as a stand-alone dialog known as the Workbench Scripting Shell.