Bug #68327 Segfault with code autocompletion
Submitted: 9 Feb 2013 9:46 Modified: 28 May 2013 15:50
Reporter: Remi Collet Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S1 (Critical)
Version:5.2.47 OS:Linux (Fedora)
Assigned to: CPU Architecture:Any

[9 Feb 2013 9:46] Remi Collet
Description:
As soon as code completion is enable, MW segfault when typing SQL.

How to repeat:
Enable code completion and auto start.
Start typing SQL

*** Segmentation fault
Register dump:

 RAX: 0000000000000038   RBX: 0000000000000038   RCX: 0000000000000000
 RDX: 0000000000000001   RSI: 0000000004ae1b10   RDI: 0000000004ae1b10
 RBP: 0000000004ae1b10   R8 : 0000000000000001   R9 : 0000000000000000
 R10: 00007ffff2a24bb0   R11: 00007fb827e35ee0   R12: 0000000000000001
 R13: 00007ffff2a251d0   R14: 0000000004a2cb0a   R15: 00007ffff2a25350
 RSP: 00007ffff2a24e00

 RIP: 00007fb827e35f04   EFLAGS: 00010202

 CS: 0033   FS: 0000   GS: 0000

 Trap: 0000000e   Error: 00000004   OldMask: 00000000   CR2: 000000b8

 FPUCW: 0000037f   FPUSW: 00000020   TAG: 0000003c
 RIP: d7e27fff   RDP: f2a24668

 ST(0) 0000 0000000000000000   ST(1) 0000 0000000000000000
 ST(2) 0000 0000000000000000   ST(3) 0000 0000000000000000
 ST(4) 0000 0000000000000000   ST(5) ffff ffffffffccccd000
 ST(6) ffff fffffffff9de6614   ST(7) ffff fffffffff9de62f5
 mxcsr: 1fa4
 XMM0:  000000000000000000000000ff00ff00 XMM1:  000000000000000000000000ff00ff00
 XMM2:  000000000000000000000000ff00ff00 XMM3:  000000000000000000000000ff00ff00
 XMM4:  000000000000000000000000ff00ff00 XMM5:  000000000000000000000000ff00ff00
 XMM6:  000000000000000000000000ff00ff00 XMM7:  000000000000000000000000ff00ff00
 XMM8:  000000000000000000000000ff00ff00 XMM9:  000000000000000000000000ff00ff00
 XMM10: 000000000000000000000000ff00ff00 XMM11: 000000000000000000000000ff00ff00
 XMM12: 000000000000000000000000ff00ff00 XMM13: 000000000000000000000000ff00ff00
 XMM14: 000000000000000000000000ff00ff00 XMM15: 000000000000000000000000ff00ff00

Backtrace:
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN25MySQLRecognizerTreeWalker8get_nextEP23ANTLR3_BASE_TREE_structb+0x24)[0x7fb827e35f04]
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN25MySQLRecognizerTreeWalkerC1EP15MySQLRecognizerP23ANTLR3_BASE_TREE_struct+0x226)[0x7fb827e38f06]
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN15MySQLRecognizer11tree_walkerEv+0x10)[0x7fb827e39050]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN10Sql_editor27create_auto_completion_listERNS_21AutoCompletionContextE+0xea)[0x7fb82bbfbcba]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN10Sql_editor20show_auto_completionEb+0x25c)[0x7fb82bbfd20c]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN10Sql_editor21on_sql_check_progressEfRKSsi+0x32e)[0x7fb82bbeb8de]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZNK5boost9function2IifRKSsEclEfS2_+0x1c)[0x7fb82bb5cfdc]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN5boost8signals26detail12signal1_implIvRKN3grt7MessageENS0_19optional_last_valueIvEEiSt4lessIiENS_8functionIFvS6_EEENSB_IFvRKNS0_10connectionES6_EEENS0_5mutexEEclES6_+0x220)[0x7fb82bb09b40]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN3bec7GRTTask17process_message_mERKN3grt7MessageE+0x1d)[0x7fb82bb006bd]
/usr/libexec/mysql-workbench-bin(_ZNK5boost9function0IvEclEv+0x18)[0x85c838]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN3bec13GRTDispatcher23flush_pending_callbacksEv+0x6d)[0x7fb82bafeaad]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN3bec10GRTManager18perform_idle_tasksEv+0x92)[0x7fb82bb11422]
/usr/libexec/mysql-workbench-bin(_ZN2wb9WBContext16flush_idle_tasksEv+0x1a)[0xa0d06a]
/usr/libexec/mysql-workbench-bin(_ZN4sigc8internal10slot_call0INS_19bind_return_functorIbNS_18bound_mem_functor0IvN2wb9WBContextEEEEEbE7call_itEPNS0_8slot_repE+0xd)[0x80cb2d]
/lib64/libglibmm-2.4.so.1[0x3ce5649502]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x3cd9647825]
/lib64/libglib-2.0.so.0[0x3cd9647b58]
/lib64/libglib-2.0.so.0(g_main_loop_run+0x72)[0x3cd9647f52]
/lib64/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x3ce8b4ab27]
/usr/libexec/mysql-workbench-bin(main+0x5d3)[0x8032a3]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x3cd7221735]
??:0(??)[0x805bb1]

Suggested fix:
Don't allow this option to be enabled until really fixed.
[19 Feb 2013 20:34] MySQL Verification Team
Could you please try version 5.2.47 (I couldn't repeat on Centos 6.3).
[22 Feb 2013 9:56] Remi Collet
5.2.47 still segfaults on Fedora (tried on f18)

Backtrace:
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN25MySQLRecognizerTreeWalker8get_nextEP23ANTLR3_BASE_TREE_structb+0x24)[0x7f0cdf82df14]
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN25MySQLRecognizerTreeWalkerC1EP15MySQLRecognizerP23ANTLR3_BASE_TREE_struct+0x226)[0x7f0cdf830f16]
/usr/lib64/mysql-workbench/libmysqlparser.so.0(_ZN15MySQLRecognizer11tree_walkerEv+0x10)[0x7f0cdf831060]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN10Sql_editor27create_auto_completion_listERNS_21AutoCompletionContextE+0xea)[0x7f0ce37fedfa]
/usr/lib64/mysql-workbench/libwbpublic.so.0(_ZN10Sql_editor20show_auto_completionEb+0x25c)[0x7f0ce380034c]
/usr/libexec/mysql-workbench-bin(_ZN13SqlEditorForm12list_membersEv+0x23)[0x92d943]
/usr/libexec/mysql-workbench-bin(_ZNK5boost9function0IvEclEv+0x18)[0x85e928]
/usr/libexec/mysql-workbench-bin(_ZN2wb9CommandUI23execute_builtin_commandERKSs+0x43)[0x9d3133]
/usr/libexec/mysql-workbench-bin(_ZN2wb9CommandUI16activate_commandERKSs+0xb2)[0x9d3202]
/usr/libexec/mysql-workbench-bin(_ZNK5boost9function1IvSsEclESs+0x36)[0x8c3326]
/usr/libexec/mysql-workbench-bin(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tINS3_11unspecifiedENS_8functionIFvSsEEENS3_5list1INS3_5valueIN3grt3RefINSB_8internal6StringEEEEEEEEEvE6invokeERNS1_15function_bufferE+0x27)[0x9deed7]
/usr/libexec/mysql-workbench-bin(_ZN5boost8signals26detail12signal0_implIvNS0_19optional_last_valueIvEEiSt4lessIiENS_8functionIFvvEEENS7_IFvRKNS0_10connectionEEEENS0_5mutexEEclEv+0x1f7)[0x89ed17]
/usr/lib64/mysql-workbench/libmforms.so.0(+0x1bcf65)[0x7f0ce449af65]
/lib64/libglibmm-2.4.so.1(_ZN4Glib17SignalProxyNormal19slot0_void_callbackEP8_GObjectPv+0x28)[0x3cb224e998]
/lib64/libgobject-2.0.so.0(g_closure_invoke+0x190)[0x3cace0f910]
/lib64/libgobject-2.0.so.0[0x3cace20efe]
/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0xddd)[0x3cace28c8d]
/lib64/libgobject-2.0.so.0(g_signal_emit+0x82)[0x3cace28de2]
/lib64/libgtk-x11-2.0.so.0[0x3bdea7fdab]
/lib64/libgobject-2.0.so.0(g_closure_invoke+0x190)[0x3cace0f910]
/lib64/libgobject-2.0.so.0[0x3cace20d08]
/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0xa17)[0x3cace288c7]
/lib64/libgobject-2.0.so.0(g_signal_emit+0x82)[0x3cace28de2]
/lib64/libgtk-x11-2.0.so.0(gtk_accel_group_activate+0x105)[0x3bde8700b5]
/lib64/libgtk-x11-2.0.so.0(gtk_accel_groups_activate+0xcd)[0x3bde87141d]
/lib64/libgtk-x11-2.0.so.0(gtk_window_activate_key+0x179)[0x3bdea9ac09]
/lib64/libgtk-x11-2.0.so.0[0x3bdea9acb7]
/lib64/libgtkmm-2.4.so.1(_ZN3Gtk6Widget18on_key_press_eventEP12_GdkEventKey+0x44)[0x3be073a404]
/lib64/libgtkmm-2.4.so.1(_ZN3Gtk12Widget_Class24key_press_event_callbackEP10_GtkWidgetP12_GdkEventKey+0x63)[0x3be073e1c3]
/lib64/libgtk-x11-2.0.so.0[0x3bde94da3c]
/lib64/libgobject-2.0.so.0(g_closure_invoke+0x190)[0x3cace0f910]
/lib64/libgobject-2.0.so.0[0x3cace20a80]
/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0xa17)[0x3cace288c7]
/lib64/libgobject-2.0.so.0(g_signal_emit+0x82)[0x3cace28de2]
/lib64/libgtk-x11-2.0.so.0[0x3bdea814be]
/lib64/libgtk-x11-2.0.so.0(gtk_propagate_event+0x197)[0x3bde94b8d7]
/lib64/libgtk-x11-2.0.so.0(gtk_main_do_event+0x28b)[0x3bde94bb6b]
/lib64/libgdk-x11-2.0.so.0[0x3bde461eec]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x3cac647a55]
/lib64/libglib-2.0.so.0[0x3cac647d88]
/lib64/libglib-2.0.so.0(g_main_loop_run+0x72)[0x3cac648182]
/lib64/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x3bde94ab47]
/usr/libexec/mysql-workbench-bin(main+0x5d3)[0x804e83]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x3835e21a05]
??:0(??)[0x807791]
[18 Apr 2013 18:05] Ruben Dario Morquecho Valdez
repoduced.
Workbench 5.2.47
Fedora 17
-------------------
STEP:
Run workbench
1.- open an SQL Editor
2.-go to menuEdit->"Preferences.." ->"SQL Editor" Tab
3.- Enable code completion
4.-Enable "Automatically Start Code"   
5.- Go to SQL Editor
6.- Start typing in SQL editor
[28 May 2013 15:50] Alfredo Kojima
This is a bug in the ANTLR runtime shipped in Fedora. I've filed a bug report for Fedora https://bugzilla.redhat.com/show_bug.cgi?id=966973