Bug #60373 Crash when executing a USE statement
Submitted: 7 Mar 2011 13:15 Modified: 14 Mar 2011 17:34
Reporter: Craig Fowler Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S2 (Serious)
Version:5.2.32 OS:Linux (Debian Testing, 64-bit using Ubuntu 10.04 .deb package)
Assigned to: CPU Architecture:Any
Tags: crash, regression

[7 Mar 2011 13:15] Craig Fowler
Description:
Workbench crashes with a segfault + stack trace when executing a USE statement within the SQL editor.  USE statements have previously worked in 5.2.31.

Stack trace to follow as an attachment (too long to paste here)

How to repeat:
I connected to an existing database connection (TCP/IP over SSH) and executed the command:

USE schema_name;
[7 Mar 2011 13:16] Craig Fowler
Stack trace from the crash

Attachment: wb-crash.txt (text/plain), 52.14 KiB.

[7 Mar 2011 13:36] Peter Laursen
This is not reproducible for me on Windows connected to a 'localhost' server.

Peter
(not a MySQL person)
[7 Mar 2011 15:10] Craig Fowler
Mike Lischke has pointed out a workaround over IRC that works for me:

Instead of typing a USE statement manually, double-click the name of the schema that you want to switch to on the left-hand list of schemata.  This has the same effect and does not crash WB.
[9 Mar 2011 7:48] Valeriy Kravchuk
I can not reproduce this while connecting to local 5.1.41 on 32-bit Ubuntu 10.04.
[9 Mar 2011 14:00] MySQL Verification Team
I couldn't repeat on Linux Mint 10 too.
[9 Mar 2011 15:29] Craig Fowler
Alfredo Kojima helped me through using gdb over IRC.  This is the backtrace that the crash comes up with:

Program received signal SIGSEGV, Segmentation fault.
_gtk_text_btree_char_is_invisible (iter=<value optimized out>) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextbtree.c:2529
2529    /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextbtree.c: No such file or directory.
        in /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextbtree.c
(gdb) bt
#0  _gtk_text_btree_char_is_invisible (iter=<value optimized out>) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextbtree.c:2529
#1  0x00007fa9fef044ce in totally_invisible_line (layout=0x3d6c3f0, line=0x7fa9e400f770, iter=0x7fff1ccb2600) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextlayout.c:1264
#2  0x00007fa9fef05942 in IA__gtk_text_layout_get_line_display (layout=0x3d6c3f0, line=0x7fa9e400f770, size_only=<value optimized out>) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextlayout.c:2197
#3  0x00007fa9fef097da in gtk_text_layout_real_wrap (layout=0x3d6c3f0, line=0x7fa9e400f770, line_data=0x40f2760) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextlayout.c:1167
#4  0x00007fa9feee8d18 in _gtk_text_btree_validate_line (tree=<value optimized out>, line=0x7fa9e400f770, view_id=0x3d6c3f0) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextbtree.c:5426
#5  0x00007fa9fef08623 in IA__gtk_text_layout_validate_yrange (layout=0x3d6c3f0, anchor=<value optimized out>, y0=<value optimized out>, y1=<value optimized out>) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextlayout.c:1082
#6  0x00007fa9fef13cd7 in gtk_text_view_validate_onscreen (text_view=0x2a9f910) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextview.c:3554
#7  0x00007fa9fef1538e in gtk_text_view_flush_first_validate (text_view=0x2a9f910) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextview.c:3610
#8  0x00007fa9fef153c9 in first_validate_callback (data=0x7fa9e40da490) at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtktextview.c:3629
#9  0x00007fa9fe40dd26 in gdk_threads_dispatch (data=0x3951a20) at /scratch/build-area/gtk+2.0-2.20.1/gdk/gdk.c:512
#10 0x00007fa9fb4ba2e2 in g_main_dispatch (context=0x298bd40) at /build/buildd-glib2.0_2.28.1-1+b1-amd64-6erLbp/glib2.0-2.28.1/./glib/gmain.c:2440
#11 g_main_context_dispatch (context=0x298bd40) at /build/buildd-glib2.0_2.28.1-1+b1-amd64-6erLbp/glib2.0-2.28.1/./glib/gmain.c:3013
#12 0x00007fa9fb4be9a8 in g_main_context_iterate (context=0x298bd40, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd-glib2.0_2.28.1-1+b1-amd64-6erLbp/glib2.0-2.28.1/./glib/gmain.c:3091
#13 0x00007fa9fb4beeb5 in g_main_loop_run (loop=0x3d92710) at /build/buildd-glib2.0_2.28.1-1+b1-amd64-6erLbp/glib2.0-2.28.1/./glib/gmain.c:3299
#14 0x00007fa9fee586b7 in IA__gtk_main () at /scratch/build-area/gtk+2.0-2.20.1/gtk/gtkmain.c:1219
#15 0x0000000000579acb in main ()
[10 Mar 2011 10:27] Craig Fowler
Quick note:  A co-worker of mine cannot reproduce this bug on his system, which is also based on Debian Testing and has largely the same packages installed as I do although his system is 32-bit and not 64-bit like mine.

He is also a little further behind me where it comes to versions of installed packages.

May or may not help narrow the search?
[14 Mar 2011 17:25] MySQL Verification Team
Could you please try new version 5.2.33. Thanks.
[14 Mar 2011 17:34] Craig Fowler
Hurrah!

As if by magic, 5.2.33 solves the issue.

Thanks.