Crash in __bzero_sse2 from JOIN_CACHE_BKA_UNIQUE::cleanup_hash_table with join_cache_level = 8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Invalid
|
High
|
Igor Babaev |
Bug Description
When executing the following query
SELECT table2 .`col_int`
FROM I LEFT JOIN N table2 ON table2 .`col_varchar_
;
the server crashed as follows:
#5 0x00b774f4 in __bzero_sse2 () from /lib/libc.so.6
#6 0x082dae51 in JOIN_CACHE_
#7 0x082da95d in JOIN_CACHE_
#8 0x082d92d0 in JOIN_CACHE:
#9 0x082d9102 in JOIN_CACHE:
#10 0x0831ef60 in sub_select_cache (join=0xb6d8df88, join_tab=
#11 0x0831f179 in sub_select (join=0xb6d8df88, join_tab=
#12 0x0831e733 in do_select (join=0xb6d8df88, fields=0x9fef714, table=0x0, procedure=0x0) at sql_select.cc:12580
#13 0x08304ac1 in JOIN::exec (this=0xb6d8df88) at sql_select.cc:2300
#14 0x083051f7 in mysql_select (thd=0x9fedd00, rref_pointer_
group=0x0, having=0x0, proc_param=0x0, select_
#15 0x082fd95b in handle_select (thd=0x9fedd00, lex=0x9fef380, result=0xb6d8df58, setup_tables_
#16 0x0829bf3c in execute_
#17 0x08292914 in mysql_execute_
#18 0x0829e0fd in mysql_parse (thd=0x9fedd00,
inBuf=
#19 0x082903ca in dispatch_command (command=COM_QUERY, thd=0x9fedd00, packet=0x9fefd21 "", packet_length=292) at sql_parse.cc:1184
#20 0x0828f8b8 in do_command (thd=0x9fedd00) at sql_parse.cc:890
#21 0x0828c8f0 in handle_
#22 0x00bea919 in start_thread () from /lib/libpthread
#23 0x00b2ccbe in clone () from /lib/libc.so.6
Changed in maria: | |
assignee: | nobody → Igor Babaev (igorb-seattle) |
Valgrind warnings:
==28984== Invalid write of size 8 BKA_UNIQUE: :reset( bool) (sql_join_ cache.cc: 2659) :join_records( bool) (sql_join_ cache.cc: 1709) :join_records( bool) (sql_join_ cache.cc: 1650) cache(JOIN* , st_join_table*, bool) (sql_select. cc:12822) cc:12984) cc:12580) cc:2300) lex_unit* , st_select_lex*) (sql_select. cc:2501) sqlcom_ select( THD*, TABLE_LIST*) (sql_parse.cc:5081) command( THD*) (sql_parse.cc:2265) command( enum_server_ command, THD*, char*, unsigned int) (sql_parse.cc:1184) one_connection (sql_connect. cc:1153) malloc. c:325) cache_denial( st_join_ table*) (sql_select. cc:7087) cache_usage( st_join_ table*) (sql_select. cc:7194) cache_usage( st_join_ table*, JOIN*, unsigned long long, unsigned int, bool*) (sql_select. cc:7476) readinfo( JOIN*, unsigned long long, unsigned int) (sql_select. cc:7601) cc:1281) lex_unit* , st_select_lex*) (sql_select. cc:2487) sqlcom_ select( THD*, TABLE_LIST*) (sql_parse.cc:5081) command( THD*) (sql_parse.cc:2265) command( enum_server_ command, THD*, char*, unsigned int) (sql_parse.cc:1184) one_connection (sql_connect. cc:1...
==28984== at 0xB774F4: __bzero_sse2 (in /lib/libc-2.12.so)
==28984== by 0x82DA95C: JOIN_CACHE_
==28984== by 0x82D92CF: JOIN_CACHE:
==28984== by 0x82D9101: JOIN_CACHE:
==28984== by 0x831EF5F: sub_select_
==28984== by 0x831F178: sub_select(JOIN*, st_join_table*, bool) (sql_select.
==28984== by 0x831E732: do_select(JOIN*, List<Item>*, st_table*, Procedure*) (sql_select.
==28984== by 0x8304AC0: JOIN::exec() (sql_select.
==28984== by 0x83051F6: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_
==28984== by 0x82FD95A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:276)
==28984== by 0x829BF3B: execute_
==28984== by 0x8292913: mysql_execute_
==28984== by 0x829E0FC: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==28984== by 0x82903C9: dispatch_
==28984== by 0x828F8B7: do_command(THD*) (sql_parse.cc:890)
==28984== by 0x828C8EF: handle_
==28984== Address 0x7a5d5d0 is 120,672 bytes inside a block of size 131,072 free'd
==28984== at 0x40057F6: free (vg_replace_
==28984== by 0x873A406: my_no_flags_free (my_malloc.c:62)
==28984== by 0x833004D: JOIN_CACHE::free() (sql_select.h:771)
==28984== by 0x8311FB0: set_join_
==28984== by 0x83120EC: revise_
==28984== by 0x83129DD: check_join_
==28984== by 0x8312F53: make_join_
==28984== by 0x8300B05: JOIN::optimize() (sql_select.
==28984== by 0x8305171: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_
==28984== by 0x82FD95A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:276)
==28984== by 0x829BF3B: execute_
==28984== by 0x8292913: mysql_execute_
==28984== by 0x829E0FC: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
==28984== by 0x82903C9: dispatch_
==28984== by 0x828F8B7: do_command(THD*) (sql_parse.cc:890)
==28984== by 0x828C8EF: handle_