[MDEV-23786] Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed for TokuDB engine CREATE TABLE Created: 2020-09-22  Updated: 2021-07-27  Resolved: 2021-07-26

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - TokuDB
Affects Version/s: 10.1, 10.2, 10.3, 10.4
Fix Version/s: 10.2.40, 10.3.31, 10.4.21

Type: Bug Priority: Minor
Reporter: Roel Van de Paar Assignee: Rucha Deodhar
Resolution: Fixed Votes: 0
Labels: None


 Description   

INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';
CREATE TABLE _uppercase.t (a INT) ENGINE=TokuDB;

Leads to:

10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Debug)

mysqld: /test/10.4_dbg/sql/sql_error.cc:335: void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*): Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed.

10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Debug)

Core was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
    at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
[Current thread is 1 (Thread 0x14cda2443700 (LWP 3643722))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
#1  0x0000560e5b189308 in my_write_core (sig=sig@entry=6) at /test/10.4_dbg/mysys/stacktrace.c:386
#2  0x0000560e5a90f3c8 in handle_fatal_signal (sig=6) at /test/10.4_dbg/sql/signal_handler.cc:343
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#5  0x000014cda06da8b1 in __GI_abort () at abort.c:79
#6  0x000014cda06ca42a in __assert_fail_base (fmt=0x14cda0851a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x560e5b276458 "!is_set() || (m_status == DA_OK_BULK && is_bulk_op())", file=file@entry=0x560e5b276400 "/test/10.4_dbg/sql/sql_error.cc", line=line@entry=335, function=function@entry=0x560e5b276f00 <Diagnostics_area::set_ok_status(unsigned long long, unsigned long long, char const*)::__PRETTY_FUNCTION__> "void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*)") at assert.c:92
#7  0x000014cda06ca4a2 in __GI___assert_fail (assertion=assertion@entry=0x560e5b276458 "!is_set() || (m_status == DA_OK_BULK && is_bulk_op())", file=file@entry=0x560e5b276400 "/test/10.4_dbg/sql/sql_error.cc", line=line@entry=335, function=function@entry=0x560e5b276f00 <Diagnostics_area::set_ok_status(unsigned long long, unsigned long long, char const*)::__PRETTY_FUNCTION__> "void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*)") at assert.c:101
#8  0x0000560e5a6107e3 in Diagnostics_area::set_ok_status (this=0x14cd7a81aa58, affected_rows=affected_rows@entry=0, last_insert_id=last_insert_id@entry=0, message=message@entry=0x0) at /test/10.4_dbg/sql/sql_error.cc:335
#9  0x0000560e5a71f58b in my_ok (message=0x0, id=0, affected_rows_arg=0, thd=0x14cd7a815070) at /test/10.4_dbg/sql/sql_class.h:5033
#10 Sql_cmd_create_table_like::execute (this=0x14cd7a86d148, thd=0x14cd7a815070) at /test/10.4_dbg/sql/sql_table.cc:11506
#11 0x0000560e5a660bd0 in mysql_execute_command (thd=thd@entry=0x14cd7a815070) at /test/10.4_dbg/sql/sql_parse.cc:6098
#12 0x0000560e5a663237 in mysql_parse (thd=thd@entry=0x14cd7a815070, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14cda2442460, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7896
#13 0x0000560e5a665ac7 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cd7a815070, packet=packet@entry=0x14cd7a857071 "CREATE TABLE _uppercase.t (a INT) ENGINE=TokuDB", packet_length=packet_length@entry=47, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:1834
#14 0x0000560e5a669502 in do_command (thd=0x14cd7a815070) at /test/10.4_dbg/sql/sql_parse.cc:1352
#15 0x0000560e5a79711c in do_handle_one_connection (connect=connect@entry=0x14cd9f035790) at /test/10.4_dbg/sql/sql_connect.cc:1412
#16 0x0000560e5a79723c in handle_one_connection (arg=0x14cd9f035790) at /test/10.4_dbg/sql/sql_connect.cc:1316
#17 0x000014cda16416db in start_thread (arg=0x14cda2443700) at pthread_create.c:463
#18 0x000014cda07bba3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Bug confirmed present in:
MariaDB: 10.1.47 (dbg), 10.2.34 (dbg), 10.3.25 (dbg), 10.4.15 (dbg)

Bug confirmed not present in:
MariaDB: 10.1.47 (opt), 10.2.34 (opt), 10.3.25 (opt), 10.4.15 (opt), 10.5.6 (dbg), 10.5.6 (opt), 10.6.0 (dbg), 10.6.0 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.49 (dbg), 5.6.49 (opt), 5.7.31 (dbg), 5.7.31 (opt), 8.0.21 (dbg), 8.0.21 (opt)



 Comments   
Comment by Rucha Deodhar [ 2020-12-08 ]

Patch: https://github.com/MariaDB/server/commit/df3e06f194c2306ff55d74776c171dc814d881cf

Comment by Roel Van de Paar [ 2021-04-15 ]

serg Is the patch ok?

Comment by Sergei Golubchik [ 2021-07-24 ]

df3e06f194 is ok to push!

Generated at Thu Feb 08 09:25:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.