[MDEV-4789] [Draft] Assertion failure in btr0pcur.c line 254 on killing SELECT Created: 2013-07-16  Updated: 2014-12-09  Resolved: 2014-12-09

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Cannot Reproduce Votes: 0
Labels: None


 Description   

Encountered during MDEV-4042 tests, but no confirmation yet that it wasn't reproducible before.

#5  0x00007f9d115ebb8b in __GI_abort () at abort.c:91
#6  0x0000000000b480b0 in btr_pcur_restore_position_func (latch_mode=1, cursor=0x7f9c8c0250f8, file=0xe24a48 "5.5/storage/xtradb/row/row0sel.c", line=3134, mtr=0x7f9d12b1a7b0) at 5.5/storage/xtradb/btr/btr0pcur.c:254
#7  0x0000000000afa58c in sel_restore_position_for_mysql (same_user_rec=0x7f9d12b1a6e0, latch_mode=1, pcur=0x7f9c8c0250f8, moves_up=1, mtr=0x7f9d12b1a7b0) at 5.5/storage/xtradb/row/row0sel.c:3134
#8  0x0000000000afc31f in row_search_for_mysql (buf=0x7f9c8c013c88 "\377\336\017", mode=2, prebuilt=0x7f9c8c025088, match_mode=1, direction=1) at 5.5/storage/xtradb/row/row0sel.c:4055
#9  0x0000000000ac3aa9 in ha_innobase::general_fetch (this=0x7f9c8c010428, buf=0x7f9c8c013c88 "\377\336\017", direction=1, match_mode=1) at 5.5/storage/xtradb/handler/ha_innodb.cc:7215
#10 0x0000000000ac3c77 in ha_innobase::index_next_same (this=0x7f9c8c010428, buf=0x7f9c8c013c88 "\377\336\017", key=0x7f9c940d7ee0 "", keylen=6) at 5.5/storage/xtradb/handler/ha_innodb.cc:7281
#11 0x00000000005f01f8 in handler::ha_index_next_same (this=0x7f9c8c010428, buf=0x7f9c8c013c88 "\377\336\017", key=0x7f9c940d7ee0 "", keylen=6) at 5.5/sql/sql_class.h:4274
#12 0x0000000000865cbc in subselect_indexsubquery_engine::exec (this=0x7f9c940d8728) at 5.5/sql/item_subselect.cc:3626
#13 0x000000000085da6a in Item_subselect::exec (this=0x7f9c94044c70) at 5.5/sql/item_subselect.cc:655
#14 0x000000000085df7e in Item_in_subselect::exec (this=0x7f9c94044c70) at 5.5/sql/item_subselect.cc:828
#15 0x00000000008603c7 in Item_in_subselect::val_bool (this=0x7f9c94044c70) at 5.5/sql/item_subselect.cc:1654
#16 0x0000000000575563 in Item::val_bool_result (this=0x7f9c94044c70) at 5.5/sql/item.h:973
#17 0x00000000007fd417 in Item_in_optimizer::val_int (this=0x7f9c940c9698) at 5.5/sql/item_cmpfunc.cc:1737
#18 0x00000000005754d7 in Item::val_int_result (this=0x7f9c940c9698) at 5.5/sql/item.h:969
#19 0x00000000007eec6b in Item_cache_int::cache_value (this=0x7f9c940d8830) at 5.5/sql/item.cc:8712
#20 0x00000000007f5f4e in Item_cache_wrapper::cache (this=0x7f9c940d8778) at 5.5/sql/item.cc:7518
#21 0x00000000007ebe4f in Item_cache_wrapper::val_bool (this=0x7f9c940d8778) at 5.5/sql/item.cc:7682
#22 0x00000000007f91d3 in Item_func_not::val_int (this=0x7f9c94044e50) at 5.5/sql/item_cmpfunc.cc:335
#23 0x00000000006676fc in evaluate_join_record (join=0x7f9c940b1600, join_tab=0x7f9c940d2c30, error=0) at 5.5/sql/sql_select.cc:16414
#24 0x00000000006674d4 in sub_select (join=0x7f9c940b1600, join_tab=0x7f9c940d2c30, end_of_records=false) at 5.5/sql/sql_select.cc:16358
#25 0x0000000000667a0b in evaluate_join_record (join=0x7f9c940b1600, join_tab=0x7f9c940d2910, error=0) at 5.5/sql/sql_select.cc:16538
#26 0x00000000006674d4 in sub_select (join=0x7f9c940b1600, join_tab=0x7f9c940d2910, end_of_records=false) at 5.5/sql/sql_select.cc:16358
#27 0x0000000000667a0b in evaluate_join_record (join=0x7f9c940b1600, join_tab=0x7f9c940d25f0, error=0) at 5.5/sql/sql_select.cc:16538
#28 0x0000000000667344 in sub_select (join=0x7f9c940b1600, join_tab=0x7f9c940d25f0, end_of_records=false) at 5.5/sql/sql_select.cc:16319
#29 0x0000000000666bfb in do_select (join=0x7f9c940b1600, fields=0x4a2f2b0, table=0x0, procedure=0x0) at 5.5/sql/sql_select.cc:15989
#30 0x0000000000646a7e in JOIN::exec (this=0x7f9c940b1600) at 5.5/sql/sql_select.cc:2834
#31 0x000000000064727b in mysql_select (thd=0x4a2b7b0, rref_pointer_array=0x4a2f3f8, tables=0x7f9c94045a50, wild_num=0, fields=..., conds=0x7f9c940b13f8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748096, result=0x7f9c940b15e0, unit=0x4a2eac8, select_lex=0x4a2f1a0) at 5.5/sql/sql_select.cc:3054
#32 0x000000000063de32 in handle_select (thd=0x4a2b7b0, lex=0x4a2ea18, result=0x7f9c940b15e0, setup_tables_done_option=0) at 5.5/sql/sql_select.cc:318
#33 0x0000000000616c09 in execute_sqlcom_select (thd=0x4a2b7b0, all_tables=0x7f9c94045a50) at 5.5/sql/sql_parse.cc:4646
#34 0x000000000060f658 in mysql_execute_command (thd=0x4a2b7b0) at 5.5/sql/sql_parse.cc:2200
#35 0x00000000006194a8 in mysql_parse (thd=0x4a2b7b0, rawbuf=0x7f9c940051c8 "SELECT    alias1 . `col_varchar_key` AS field1 , alias1 . `col_varchar_key` AS field2 FROM ( (  SELECT   SQ1_alias1 . * FROM ( CC AS SQ1_alias1 , C AS SQ1_alias2 ) WHERE (  SQ1_alias2 . `col_varchar_k"..., length=643, parser_state=0x7f9d12b1c550) at 5.5/sql/sql_parse.cc:5764

bzr version-info

revision-id: psergey@askmonty.org-20130715145152-2vnjqfm06siuvuiv
revno: 3829
branch-nick: 5.5

Test:

perl ./runall-new.pl \
--queries=100000000 \
--no-mask \
--notnull \
--seed=1373964118 \
--threads=4 \
--duration=300 \
--queries=100M \
--reporters=QueryTimeout,Backtrace,ErrorLog,Deadlock \
--validators=Transformer \
--transformers=DisableChosenPlan \
--querytimeout=2 \
--mysqld1=--innodb_stats_sample_pages=256 \
--mysqld1=--max_join_size=1000000 \
--mysqld1=--log-output=FILE \
--skip-gendata \
--mysqld1=--init-file=/home/elenst/rqg-mariadb/conf/optimizer/world.sql \
--grammar=/home/elenst/mariadb-toolbox/grammars/optimizer_subquery_simple.yy \
--views \
--engine=InnoDB \
--mtr-build-thread=300 \
--mask=64450 \
--basedir1=/home/elenst/bzr/5.5 \
--vardir1=/home/elenst/test_results/mdev4042-12-kill/current1_1

Query (0x7f9c940051c8): SELECT    alias1 . `col_varchar_key` AS field1 , alias1 . `col_varchar_key` AS field2 FROM ( (  SELECT   SQ1_alias1 . * FROM ( CC AS SQ1_alias1 , C AS SQ1_alias2 ) WHERE (  SQ1_alias2 . `col_varchar_key` NOT IN ( SELECT   C_SQ1_alias1 . `col_varchar_key` AS C_SQ1_field1 FROM C AS C_SQ1_alias1 WHERE C_SQ1_alias1 . `col_varchar_nokey` > SQ1_alias2 . `col_varchar_nokey` ) AND SQ1_alias1 . `col_int_key` <= 5 ) ) AS alias1 INNER JOIN C AS alias2 ON (alias2 . `col_varchar_key` = alias1 . `col_varchar_key`  ) ) WHERE (  alias2 . `col_int_nokey` >= ANY ( SELECT 8 UNION  SELECT 7 ) ) AND alias2 . `col_varchar_key` < alias2 . `col_varchar_nokey`
Connection ID (thread ID): 10
Status: KILL_QUERY

(KILL QUERY 10 was executed)



 Comments   
Comment by Elena Stepanova [ 2014-12-09 ]

Can't reproduce it on the current 5.5 (5.5.40+) and 10.0 (10.0.15+) trees.

Generated at Thu Feb 08 06:59:10 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.