data_dictionary crash

Bug #698092 reported by Andrew Hutchings
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
Medium
Andrew Hutchings
7.0
Fix Released
Medium
Andrew Hutchings

Bug Description

Crash when doing:

SELECT * FROM `data_dictionary` . SHOW_COLUMNS;

Simple as that :(

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdeffd700 (LWP 11297)]
0x000000376049e4eb in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib64/libstdc++.so.6
(gdb) bt
#0 0x000000376049e4eb in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib64/libstdc++.so.6
#1 0x0000000000bbeade in drizzled::statement::Show::getShowTable() ()
#2 0x0000000000bbd6e8 in ShowColumns::Generator::Generator (this=0x7fffc8006c80, arg=0x7fffc800d808) at plugin/show_dictionary/show_columns.cc:62
#3 0x0000000000bbec4c in ShowColumns::generator(drizzled::Field**) ()
#4 0x00000000009f0fd8 in FunctionCursor::doStartTableScan (this=0x7fffc800b600) at plugin/function_engine/cursor.cc:70
#5 0x000000000073c2f7 in drizzled::Cursor::startTableScan (this=0x7fffc800b600, scan=true) at drizzled/cursor.cc:149
#6 0x00000000008db6e6 in drizzled::ReadRecord::init_read_record (this=0x7fffc800eb40, session_arg=0x1d346e0, table_arg=0x7fffc8006fb0, select_arg=0x7fffc800ee90, use_record_cache=1, print_error_arg=true) at drizzled/records.cc:157
#7 0x000000000091edd0 in drizzled::join_init_read_record (tab=0x7fffc800eab8) at drizzled/sql_select.cc:3731
#8 0x000000000091dc0b in drizzled::sub_select (join=0x7fffc8004ed8, join_tab=0x7fffc800eab8, end_of_records=false) at drizzled/sql_select.cc:3327
#9 0x000000000091d822 in drizzled::do_select (join=0x7fffc8004ed8, fields=0x1d353f8, table=0x0) at drizzled/sql_select.cc:3097
#10 0x0000000000856abc in drizzled::Join::exec (this=0x7fffc8004ed8) at drizzled/join.cc:1683
#11 0x0000000000917562 in drizzled::select_query (session=0x1d346e0, rref_pointer_array=0x1d354b8, tables=0x7fffc8004d08, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, select_options=2147500032, result=0x7fffc8004eb8, unit=0x1d35100, select_lex=0x1d35300) at drizzled/sql_select.cc:432
#12 0x0000000000916e75 in drizzled::handle_select (session=0x1d346e0, lex=0x1d350e0, result=0x7fffc8004eb8, setup_tables_done_option=0) at drizzled/sql_select.cc:151
#13 0x000000000091309d in drizzled::execute_sqlcom_select (session=0x1d346e0, all_tables=0x7fffc8004d08) at drizzled/sql_parse.cc:545
#14 0x000000000096cba3 in drizzled::statement::Select::execute (this=0x7fffc8006d80) at drizzled/statement/select.cc:32
#15 0x0000000000912d3b in drizzled::execute_command (session=0x1d346e0) at drizzled/sql_parse.cc:480
#16 0x000000000091397a in drizzled::parse (session=0x1d346e0, inBuf=0x7fffc8006ba8 "SELECT * FROM `data_dictionary` . SHOW_COLUMNS", length=46) at drizzled/sql_parse.cc:751
#17 0x000000000091265f in drizzled::dispatch_command (command=drizzled::COM_QUERY, session=0x1d346e0, packet=0x1d35d01 "", packet_length=46) at drizzled/sql_parse.cc:228
#18 0x00000000008e28c8 in drizzled::Session::executeStatement (this=0x1d346e0) at drizzled/session.cc:723
#19 0x00000000008e224a in drizzled::Session::run (this=0x1d346e0) at drizzled/session.cc:564
#20 0x00007ffff557071d in multi_thread::MultiThreadScheduler::runSession (this=0x1d12350, id=1) at plugin/multi_thread/multi_thread.cc:77
#21 0x00007ffff558280e in boost::_mfi::mf1<void, multi_thread::MultiThreadScheduler, long>::operator() (this=0x1d3a030, p=0x1d12350, a1=1) at /usr/include/boost/bind/mem_fn_template.hpp:165
#22 0x00007ffff5581d01 in boost::_bi::list2<boost::_bi::value<multi_thread::MultiThreadScheduler*>, boost::_bi::value<long> >::operator()<boost::_mfi::mf1<void, multi_thread::MultiThreadScheduler, long>, boost::_bi::list0> (this=0x1d3a040, f=..., a=...) at /usr/include/boost/bind/bind.hpp:313
#23 0x00007ffff55814fc in boost::_bi::bind_t<void, boost::_mfi::mf1<void, multi_thread::MultiThreadScheduler, long>, boost::_bi::list2<boost::_bi::value<multi_thread::MultiThreadScheduler*>, boost::_bi::value<long> > >::operator() (this=0x1d3a030) at /usr/include/boost/bind/bind_template.hpp:20
#24 0x00007ffff55809a0 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf1<void, multi_thread::MultiThreadScheduler, long>, boost::_bi::list2<boost::_bi::value<multi_thread::MultiThreadScheduler*>, boost::_bi::value<long> > > >::run (this=0x1d39f00) at /usr/include/boost/thread/detail/thread.hpp:61
#25 0x00007ffff7830a55 in thread_proxy () from /usr/lib64/libboost_thread-mt.so.1.44.0
#26 0x0000003755406d5b in start_thread () from /lib64/libpthread.so.0
#27 0x00000037550e4a7d in clone () from /lib64/libc.so.6

Related branches

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

looks like we are expecting to only hit this table from a SHOW command, which is probably not a good idea

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

This table is hidden from data_dictionary, it really shouldn't be accessible using it.

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

drop to medium as you can only access it if you knew the table existed in the first place

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.