Assertion `! is_set()' failed in Diagnostics_area::set_ok_status() with concurrent subquery workload

Bug #850647 reported by Philip Stoev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
New
Undecided
Michael Widenius

Bug Description

mysqld: sql_class.cc:563: void Diagnostics_area::set_ok_status(THD*, ha_rows, ulonglong, const char*): Assertion `! is_set()' failed.

/lib64/libc.so.6(__assert_fail+0xf6) [0x33b58296e6]
/home/philips/bzr/maria-5.3/sql/mysqld(Diagnostics_area::set_ok_status(THD*, unsigned long long, unsigned long long, char const*)+0x68) [0x67665c]
/home/philips/bzr/maria-5.3/sql/mysqld(my_ok(THD*, unsigned long long, unsigned long long, char const*)+0x3b) [0x585bdf]
/home/philips/bzr/maria-5.3/sql/mysqld(select_insert::send_eof()+0x5d1) [0x75dfe3]
/home/philips/bzr/maria-5.3/sql/mysqld(select_create::send_eof()+0x15) [0x75e02b]
/home/philips/bzr/maria-5.3/sql/mysqld [0x755340]
/home/philips/bzr/maria-5.3/sql/mysqld(JOIN::exec()+0x788) [0x755b30]
/home/philips/bzr/maria-5.3/sql/mysqld(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_lex_unit*, st_select_lex*)+0x3da) [0x751cde]
/home/philips/bzr/maria-5.3/sql/mysqld(handle_select(THD*, st_lex*, select_result*, unsigned long)+0x1d6) [0x758108]
/home/philips/bzr/maria-5.3/sql/mysqld(mysql_execute_command(THD*)+0x1ad2) [0x6a75ce]
/home/philips/bzr/maria-5.3/sql/mysqld(mysql_parse(THD*, char*, unsigned int, char const**)+0x2c5) [0x6af02f]
/home/philips/bzr/maria-5.3/sql/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x9cb) [0x6afbbd]
/home/philips/bzr/maria-5.3/sql/mysqld(do_command(THD*)+0x259) [0x6b11fb]
/home/philips/bzr/maria-5.3/sql/mysqld(handle_one_connection+0x18f) [0x69ba0b]

Query (0x3aa5e20): CREATE TABLE transforms.insert_select_2012 SELECT alias2 . `pk` AS field1 , alias1 . `col_varchar_key` AS field2 , alias1 . `col_int_key` AS field3 , alias1 . `col_int_key` AS field4 , alias1 . `col_varchar_key` AS field5 FROM ( C AS alias1 INNER JOIN ( ( D AS alias2 STRAIGHT_JOIN BB AS alias3 ON (alias3 . `col_int_key` = alias2 . `pk` ) ) ) ON (alias3 . `col_varchar_nokey` = alias2 . `col_varchar_key` ) ) WHERE ( 7, 1 ) IN ( SELECT SQ1_alias2 . `col_int_nokey` AS SQ1_field1 , SQ1_alias1 . `col_int_nokey` AS SQ1_field2 FROM ( C AS SQ1_alias1 STRAIGHT_JOIN BB AS SQ1_alias2 ON (SQ1_alias2 . `pk` = SQ1_alias1 . `pk` ) ) WHERE SQ1_alias1 . `col_varchar_key` < ANY ( SELECT C_SQ1_alias2 . `col_varchar_key` AS C_SQ1_field1 FROM ( C AS C_SQ1_alias1 INNER JOIN C AS C_SQ1_alias2 ON (C_SQ1_alias2 . `col_varchar_nokey` = C_SQ1_alias1 . `col_varchar_key` ) ) WHERE C_SQ1_alias2 . `pk` <= SQ1_alias1 . `pk` OR C_SQ1_alias2 . `col_varchar_key` != C_SQ1_alias2 . `col_varchar_nokey` ) GROUP BY SQ1_field1 , SQ1_field2 ) HAVING (field2 <= 9 OR field4 >= 6) /* 4 */

Optimizer switch: semijoin=ON,materialization=OFF,firstmatch=OFF,loosescan=OFF

Tags: assertion
Revision history for this message
Philip Stoev (pstoev-askmonty) wrote :

To reproduce:

 perl runall.pl --queries=100000000 --debug --mysqld1=--debug-assert-if-crashed-table --queries=100M --duration=1200 --threads=6 --seed=time --mysqld1=--log-output=file --no-mask --views --reporter=QueryTimeout,Backtrace,ErrorLog,Deadlock --mysqld1=--optimizer_switch=semijoin=ON,materialization=OFF,firstmatch=OFF,loosescan=OFF --validator=Transformer --transformers=DisableChosenPlan,ConvertLiteralsToSubqueries,ExecuteAsInsertSelect,ExecuteAsSelectItem,ExecuteAsUpdateDelete,ExecuteAsWhereSubquery,InlineSubqueries,ExecuteAsPreparedTwice --notnull --engine=MyISAM --skip-gendata --seed=1316018912 --basedir1=/home/philips/bzr/maria-5.3 --mysqld1=--init-file=`pwd`/conf/optimizer/world.sql --grammar=bug850647.yy

Changed in maria:
assignee: nobody → Michael Widenius (monty)
Elena Stepanova (elenst)
tags: added: assertion
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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