Bug #41149 edit new table will crash the system
Submitted: 1 Dec 2008 13:22 Modified: 3 Dec 2008 12:53
Reporter: Susanne Ebrecht Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.1.4 OS:Linux (ubuntu 8.04 amd64)
Assigned to: Sergei Tkachenko CPU Architecture:Any

[1 Dec 2008 13:22] Susanne Ebrecht
Description:
$ ./bin/mysql-workbench
Model -> Add Diagram
Left side: Place a new table
click in the middle of the blank field to place the table
right click on table name "table1"
click on edit table

crash: Segmentation fault

How to repeat:
see above

Suggested fix:
will add core dump
[1 Dec 2008 13:30] Susanne Ebrecht
$ gdb ./bin/mysql-workbench-bin core.7213

(gdb) bt

#0  _db_enter_ (_func_=0x7f476579f772 "my_stat", _file_=0x7f476579f769 "my_lib.c", _line_=529, _sfunc_=0x4119b240, _sfile_=0x4119b238, _slevel_=0x4119b24c, _sframep_=0x4119b230) at dbug.c:969

#1  0x00007f4765736ef6 in my_stat (path=0x4119b360 "Index.xml", stat_area=0x4119b290, my_flags=0) at my_lib.c:529

#2  0x00007f476acc5901 in my_read_charset_file (filename=0x4119b360 "Index.xml", myflags=0) at charset.c:318

#3  0x00007f476acc5b8d in init_available_charsets (myflags=0) at charset.c:430

#4  0x00007f476acc6116 in get_charset_by_name (cs_name=0x7f475d661605 "utf8_bin", flags=0) at charset.c:537

#5  0x00007f475d650c1b in Mysql_sql_parser_fe::parse_sql_script (this=0x4119bad0, sql_script=0x14d6728 "-- Trigger DDL Statements\nUSE `mydb`;\nDELIMITER //\n\n",  cb=0x7f475d6143e2 <Mysql_sql_parser_base::process_sql_statement(void*, MyxStatementParser const*, char const*, MyxSQLTreeItem const*, int, std::string const&)>, user_data=0x1452b20) at src/mysql_sql_parser_fe.cpp:223

#6  0x00007f475d614536 in Mysql_sql_parser_base::parse_sql_script (this=0x1452b20, sql_parser_fe=@0x4119bad0, sql_script=0x14d6728 "-- Trigger DDL Statements\nUSE `mydb`;\nDELIMITER //\n\n") at src/mysql_sql_parser_base.cpp:32

#7  0x00007f475d5fe12a in Mysql_invalid_sql_parser::parse_invalid_sql_script (this=0x1452b20, sql_script=0x14d6728 "-- Trigger DDL Statements\nUSE `mydb`;\nDELIMITER //\n\n") at src/mysql_invalid_sql_parser.cpp:161

#8  0x00007f475d600128 in Mysql_invalid_sql_parser::parse_triggers (this=0x1452b20, table=@0x4119bcc0, sql_script=0x14d6728 "-- Trigger DDL Statements\nUSE `mydb`;\nDELIMITER //\n\n") at src/mysql_invalid_sql_parser.cpp:58

#9  0x00007f476c0ea72c in bec::TableEditorBE::parse_triggers_sql (this=0x145a860, sql=@0x4119bd50) at editor_table.cpp:1931

#10 0x00007f476c1045d4 in sigc::bound_mem_functor2<grt::ValueRef, bec::TableEditorBE, grt::GRT*, grt::Ref<grt::internal::String> >::operator() (this=0x14169b8, _A_a1=@0x4119bf08, _A_a2=@0x1596fb0) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917

#11 0x00007f476c104638 in sigc::adaptor_functor<sigc::bound_mem_functor2<grt::ValueRef, bec::TableEditorBE, grt::GRT*, grt::Ref<grt::internal::String> > >::operator()<grt::GRT* const&, grt::Ref<grt::internal::String> const&> (this=0x14169b0, _A_arg1=@0x4119bf08, _A_arg2=@0x1596fb0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103

#12 0x00007f476c10467a in sigc::internal::slot_call2<sigc::bound_mem_functor2<grt::ValueRef, bec::TableEditorBE, grt::GRT*, grt::Ref<grt::internal::String> >, grt::ValueRef, grt::GRT*, grt::Ref<grt::internal::String> >::call_it (rep=0x1416980, a_1=@0x4119bf08, a_2=@0x1596fb0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:173

#13 0x00007f476c0e1a26 in sigc::slot2<grt::ValueRef, grt::GRT*, grt::Ref<grt::internal::String> >::operator() (this=0x1596fa0, _A_a1=@0x4119bf08, _A_a2=@0x1596fb0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:593

#14 0x00007f476c0e1a68 in sigc::adaptor_functor<sigc::slot<grt::ValueRef, grt::GRT*, grt::Ref<grt::internal::String>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::operator()<grt::GRT* const&, grt::Ref<grt::internal::String>&> (this=0x1596f98, _A_arg1=@0x4119bf08, _A_arg2=@0x1596fb0) at /usr/include/sigc++-2.0/sigc++/adapto /adaptor_trait.h:103

#15 0x00007f476c0e1aaf in sigc::bind_functor<-1, sigc::slot<grt::ValueRef, grt::GRT*, grt::Ref<grt::internal::String>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, grt::Ref<grt::internal::String>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<grt::GRT* const&> (this=0x1596f90, _A_arg1=@0x4119bf08) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1122

#16 0x00007f476c0e1aec in sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::slot<grt::ValueRef, grt::GRT*, grt::Ref<grt::internal::String>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, grt::Ref<grt::internal::String>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, grt::ValueRef, grt::GRT*>::call_it (rep=0x1596f60, a_1=@0x4119bf08) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137

#17 0x00007f476b135889 in sigc::slot1<grt::ValueRef, grt::GRT*>::operator() (this=0x1596f08, _A_a1=@0x4119bf08) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:515

#18 0x00007f476b133180 in bec::GRTTask::execute (this=0x1596eb0, grt=0xd6fd90) at grt_dispatcher.cpp:212

#19 0x00007f476b133523 in bec::GRTDispatcher::execute_task (this=0xd70760, gtask=0x1596eb0) at grt_dispatcher.cpp:566

#20 0x00007f476b13484e in bec::GRTDispatcher::worker_thread (data=0xd70760) at grt_dispatcher.cpp:400

#21 0x00007f47662f3224 in ?? () from /usr/lib/libglib-2.0.so.0

#22 0x00007f4764e463f7 in start_thread () from /lib/libpthread.so.0

#23 0x00007f476441bb3d in clone () from /lib/libc.so.6

#24 0x0000000000000000 in ?? ()
[1 Dec 2008 14:11] Susanne Ebrecht
mysql> select version();
5.1.31-debug

$ ldd ./bin/mysql-workbench-bin
...
libmysqlclient_r.so.16 => /home/myhome/my_mysql_51_bzr_tree_dir/lib/mysql/libmysqlclient_r.so.16
...

$ ls -l /home/miracee/mysql51bzr/lib/mysql/
...
lrwxrwxrwx 1 myuser myuser       24 2008-11-10 09:46 libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
-rwxr-xr-x 1 myuser myuser  4935875 2008-11-10 09:46 libmysqlclient.so.16.0.0

This means I used actual bzr tree from 2008-11-10 9:46
[3 Dec 2008 14:32] Sergei Tkachenko
fix was pushed into sources repository.