Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4(EOL), 10.5
Description
CREATE TABLE t1(a INT);
|
BACKUP LOCK t1;
|
FLUSH TABLE t1 WITH READ LOCK; # FOR EXPORT crashes as well
|
UNLOCK TABLES;
|
BACKUP UNLOCK;
|
DROP TABLE t1;
|
#7 0x00007fd9817ffc82 in __GI___assert_fail (assertion=0x564412c268a8 "ticket->m_duration == MDL_EXPLICIT", file=0x564412c26110 "/home/svoj/devel/maria/mariadb/sql/mdl.cc", line=2835, function=0x564412c270e0 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#8 0x000056441206d270 in MDL_context::release_lock (this=0x7fd930000c20, ticket=0x7fd930011950) at /home/svoj/devel/maria/mariadb/sql/mdl.cc:2835
|
#9 0x000056441216fb18 in backup_unlock (thd=0x7fd930000b00) at /home/svoj/devel/maria/mariadb/sql/backup.cc:388
|
#10 0x0000564411edfef3 in mysql_execute_command (thd=0x7fd930000b00) at /home/svoj/devel/maria/mariadb/sql/sql_parse.cc:5046
|
#11 0x0000564411eea477 in mysql_parse (thd=0x7fd930000b00, rawbuf=0x7fd930013148 "BACKUP UNLOCK", length=13, parser_state=0x7fd979b7eff0, is_com_multi=false, is_next_command=false) at /home/svoj/devel/maria/mariadb/sql/sql_parse.cc:7912
|
#12 0x0000564411ed54f2 in dispatch_command (command=COM_QUERY, thd=0x7fd930000b00, packet=0x7fd93019e0f1 "BACKUP UNLOCK", packet_length=13, is_com_multi=false, is_next_command=false) at /home/svoj/devel/maria/mariadb/sql/sql_parse.cc:1841
|
#13 0x0000564411ed3ac3 in do_command (thd=0x7fd930000b00) at /home/svoj/devel/maria/mariadb/sql/sql_parse.cc:1359
|
#14 0x000056441205cc16 in do_handle_one_connection (connect=0x564415bb4070) at /home/svoj/devel/maria/mariadb/sql/sql_connect.cc:1412
|
#15 0x000056441205c912 in handle_one_connection (arg=0x564415bb4070) at /home/svoj/devel/maria/mariadb/sql/sql_connect.cc:1316
|
Attachments
Issue Links
- duplicates
-
MDEV-21994 Assertion `!thd || thd->locked_tables_mode || !thd->mdl_context.has_locks() || thd->handler_tables_hash.records || thd->ull_hash.records || thd->global_read_lock.is_acquired() || thd->current_backup_stage != BACKUP_FINISHED' failed in reload_acl_and_cache
-
- Closed
-
- is caused by
-
MDEV-5336 Implement BACKUP STAGE for safe external backups
-
- Closed
-
- is duplicated by
-
MDEV-22448 SIGSEGV in I_P_List from MDL_context::release_lock on INSERT w/ BACKUP LOCK (on optimized builds)
-
- Closed
-
- relates to
-
MDEV-22879 SIGSEGV (or hang) in free/my_free from _ma_end_block_record (on optimized builds)
-
- Closed
-
-
MDEV-24749 Various corruptions caused by Aria subsystem asking system call to overwrite memory that it does not own
-
- Closed
-
-
MDEV-20946 Hard FTWRL deadlock under user level locks
-
- Closed
-
-
MDEV-21460 ER_NOT_KEYFILE or Assertion `! is_set()' failed Diagnostics_area::set_ok_status upon LOAD into temporary Aria table
-
- Closed
-
-
MDEV-25037 SIGSEGV in MDL_lock::hog_lock_types_bitmap on INSERT w/ RELEASE_ALL_LOCKS()
-
- Closed
-
Activity
Marked MDEV-22448 as duplicate of this one.
USE test;
|
CREATE TABLE t1(a INT);
|
CREATE TABLE t2(b INT);
|
LOCK TABLES t2 AS a2 WRITE;
|
BACKUP LOCK t1;
|
UNLOCK TABLES;
|
INSERT INTO t1 VALUES(0);
|
Leads to:
10.5.3 f544a712c8a2ef3f3ecba80cb2782b1839fb36ab |
Core was generated by `/test/MD010520-mariadb-10.5.3-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x7f0eac431700 (LWP 1009641))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000557891aabac7 in my_write_core (sig=sig@entry=11) at /test/10.5_opt/mysys/stacktrace.c:518
|
#2 0x000055789146d7ca in handle_fatal_signal (sig=11) at /test/10.5_opt/sql/signal_handler.cc:329
|
#3 <signal handler called>
|
#4 0x0000557891370721 in I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove (this=<optimized out>, a=0x7f0e79c44150) at /test/10.5_opt/sql/sql_plist.h:126
|
#5 MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x7f0e79c44150) at /test/10.5_opt/sql/mdl.cc:2879
|
#6 0x0000557891370752 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /test/10.5_opt/sql/mdl.cc:2897
|
#7 0x00005578913f5594 in backup_unlock (thd=thd@entry=0x7f0e79c12018) at /test/10.5_opt/sql/backup.cc:397
|
#8 0x000055789122bd34 in THD::cleanup (this=this@entry=0x7f0e79c12018) at /test/10.5_opt/sql/sql_class.cc:1562
|
#9 0x00005578911b1b85 in unlink_thd (thd=0x7f0e79c12018) at /test/10.5_opt/sql/mysqld.cc:2617
|
#10 0x00005578913670a1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x7f0eaa0329b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_opt/sql/sql_connect.cc:1433
|
#11 0x0000557891367444 in handle_one_connection (arg=arg@entry=0x7f0eaa0329b8) at /test/10.5_opt/sql/sql_connect.cc:1319
|
#12 0x00005578916d353a in pfs_spawn_thread (arg=0x7f0eaa04b018) at /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#13 0x00007f0eab8586db in start_thread (arg=0x7f0eac431700) at pthread_create.c:463
|
#14 0x00007f0eaac5688f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.13 (dbg), 10.4.13 (opt), 10.5.2 (dbg), 10.5.2 (opt), 10.5.3 (dbg), 10.5.3 (opt)
Bug confirmed not present in:
MariaDB: 10.1.45 (dbg), 10.1.45 (opt), 10.2.32 (dbg), 10.2.32 (opt), 10.3.23 (dbg), 10.3.23 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
BACKUP LOCK is not available in 10.3 and the testcase does not fail there.
Additional testcase with different crash in inline_mysql_prlock_wrlock:
USE test;
|
CREATE TEMPORARY TABLE t3(c INT);
|
BACKUP LOCK t1;
|
SET @@SESSION.profiling=ON;
|
CREATE TABLE t1(c INT);
|
LOCK TABLES t3 AS a1 READ,t1 AS a3 READ,t3 AS a5 READ LOCAL;
|
UNLOCK TABLE;
|
Leads to:
10.5.3 f544a712c8a2ef3f3ecba80cb2782b1839fb36ab |
Core was generated by `/test/MD010520-mariadb-10.5.3-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x7fdc06b82700 (LWP 2801824))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000557d8b1f7ac7 in my_write_core (sig=sig@entry=11) at /test/10.5_opt/mysys/stacktrace.c:518
|
#2 0x0000557d8abb97ca in handle_fatal_signal (sig=11) at /test/10.5_opt/sql/signal_handler.cc:329
|
#3 <signal handler called>
|
#4 inline_mysql_prlock_wrlock (src_line=1837, src_file=0x557d8b3745e0 "/test/10.5_opt/sql/mdl.cc", that=0x190) at /test/10.5_opt/include/mysql/psi/mysql_thread.h:1033
|
#5 MDL_lock::remove_ticket (this=0x0, pins=0x7fdbe32ac210, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x7fdbd4444060) at /test/10.5_opt/sql/mdl.cc:1837
|
#6 0x0000557d8aabc714 in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x7fdbd4444060) at /test/10.5_opt/sql/mdl.cc:2877
|
#7 0x0000557d8aabc752 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /test/10.5_opt/sql/mdl.cc:2897
|
#8 0x0000557d8ab41594 in backup_unlock (thd=thd@entry=0x7fdbd4412018) at /test/10.5_opt/sql/backup.cc:397
|
#9 0x0000557d8a977d34 in THD::cleanup (this=this@entry=0x7fdbd4412018) at /test/10.5_opt/sql/sql_class.cc:1562
|
#10 0x0000557d8a8fdb85 in unlink_thd (thd=0x7fdbd4412018) at /test/10.5_opt/sql/mysqld.cc:2617
|
#11 0x0000557d8aab30a1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x7fdc048329b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_opt/sql/sql_connect.cc:1433
|
#12 0x0000557d8aab3444 in handle_one_connection (arg=arg@entry=0x7fdc048329b8) at /test/10.5_opt/sql/sql_connect.cc:1319
|
#13 0x0000557d8ae1f53a in pfs_spawn_thread (arg=0x7fdc0484b018) at /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#14 0x00007fdc05fa96db in start_thread (arg=0x7fdc06b82700) at pthread_create.c:463
|
#15 0x00007fdc053a788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.13 (dbg), 10.4.13 (opt), 10.5.2 (dbg), 10.5.2 (opt), 10.5.3 (dbg), 10.5.3 (opt)
Bug confirmed not present in:
MariaDB: 10.1.45 (dbg), 10.1.45 (opt), 10.2.32 (dbg), 10.2.32 (opt), 10.3.23 (dbg), 10.3.23 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
One can take a backup lock on a non existing table:
10.5.3>USE test;
|
Database changed
|
10.5.3>BACKUP LOCK t1;
|
Query OK, 0 rows affected (0.000 sec)
|
https://mariadb.com/kb/en/backup-lock/ does not seem to discuss this scenario and seems to imply that table should be existing.
Yet another stack provided by this testcase;
USE test;
|
CREATE TABLE t (c INT);
|
BACKUP LOCK not_existing.t;
|
LOCK TABLES t WRITE;
|
UNLOCK TABLES;
|
# Shutdown server; crash happens on shutdown
|
Leads to:
10.5.4 3b251e24b6c8fe81bc5eeca086d9c1e57e6739d2 |
mysqld: /test/10.5_dbg/sql/mdl.cc:2895: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
10.5.4 3b251e24b6c8fe81bc5eeca086d9c1e57e6739d2 |
Core was generated by `/test/MD150520-mariadb-10.5.4-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 0x145f2c4f7700 (LWP 2401258))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005576540d5279 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x0000557653879fcb in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:329
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x0000145f2ac3b801 in __GI_abort () at abort.c:79
|
#6 0x0000145f2ac2b39a in __assert_fail_base (fmt=0x145f2adb27d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55765428a3a8 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x557654289b64 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2895, function=function@entry=0x55765428abe0 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:92
|
#7 0x0000145f2ac2b412 in __GI___assert_fail (assertion=assertion@entry=0x55765428a3a8 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x557654289b64 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2895, function=function@entry=0x55765428abe0 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#8 0x000055765373050b in MDL_context::release_lock (this=this@entry=0x145f0a0151a8, ticket=0x145f0a080060) at /test/10.5_dbg/sql/mdl.cc:2895
|
#9 0x00005576537e485b in backup_unlock (thd=thd@entry=0x145f0a015088) at /test/10.5_dbg/sql/backup.cc:397
|
#10 0x000055765356eeeb in THD::cleanup (this=this@entry=0x145f0a015088) at /test/10.5_dbg/sql/sql_class.cc:1557
|
#11 0x00005576534cdc3b in unlink_thd (thd=0x145f0a015088) at /test/10.5_dbg/sql/mysqld.cc:2600
|
#12 0x0000557653722f8e in do_handle_one_connection (connect=<optimized out>, connect@entry=0x145f0b4453a8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1422
|
#13 0x0000557653723151 in handle_one_connection (arg=arg@entry=0x145f0b4453a8) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#14 0x0000557653b811ce in pfs_spawn_thread (arg=0x145f2a045888) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#15 0x0000145f2b91e6db in start_thread (arg=0x145f2c4f7700) at pthread_create.c:463
|
#16 0x0000145f2ad1c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.13 (dbg), 10.4.13 (opt), 10.5.2 (dbg), 10.5.2 (opt), 10.5.3 (dbg), 10.5.3 (opt), 10.5.4 (dbg), 10.5.4 (opt)
Bug confirmed not present in:
MariaDB: 10.1.45 (dbg), 10.1.45 (opt), 10.2.32 (dbg), 10.2.32 (opt), 10.3.23 (dbg), 10.3.23 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
USE test;
|
BACKUP LOCK t1;
|
CREATE TABLE t2(c1 TIME,c2 TIME,c3 DATE,KEY (c1,c2));
|
LOCK TABLE t2 READ;
|
# Shutdown server; crash happens on shutdown
|
One more to test with, slightly different stack.
USE test;
|
BACKUP LOCK t;
|
CREATE VIEW v AS SELECT 1;
|
LOCK TABLES v READ;
|
START TRANSACTION READ ONLY;
|
BACKUP LOCK t;
|
Leads to:
10.5.3 cfe5ee90c8e4b9dfa98a41fcd299197a59261be7 |
mysqld: /test/10.5_dbg/sql/mdl.cc:2895: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
10.5.3 cfe5ee90c8e4b9dfa98a41fcd299197a59261be7 |
Core was generated by `/test/MD110520-mariadb-10.5.3-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 0x14dd87011700 (LWP 1837390))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000056370ad0cc11 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x000056370a4b1f8d in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:329
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x000014dd85755801 in __GI_abort () at abort.c:79
|
#6 0x000014dd8574539a in __assert_fail_base (fmt=0x14dd858cc7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x56370aebb388 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x56370aebab44 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2895, function=function@entry=0x56370aebbbc0 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:92
|
#7 0x000014dd85745412 in __GI___assert_fail (assertion=assertion@entry=0x56370aebb388 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x56370aebab44 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2895, function=function@entry=0x56370aebbbc0 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#8 0x000056370a368473 in MDL_context::release_lock (this=this@entry=0x14dd638151a8, ticket=0x14dd63880060) at /test/10.5_dbg/sql/mdl.cc:2895
|
#9 0x000056370a41c81d in backup_unlock (thd=thd@entry=0x14dd63815088) at /test/10.5_dbg/sql/backup.cc:397
|
#10 0x000056370a41c841 in backup_lock (thd=thd@entry=0x14dd63815088, table=table@entry=0x14dd63874168) at /test/10.5_dbg/sql/backup.cc:382
|
#11 0x000056370a20bb3d in mysql_execute_command (thd=thd@entry=0x14dd63815088) at /test/10.5_dbg/sql/sql_parse.cc:5078
|
#12 0x000056370a215804 in mysql_parse (thd=thd@entry=0x14dd63815088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14dd870103e0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7957
|
#13 0x000056370a201ffd in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14dd63815088, packet=packet@entry=0x14dd63867089 "BACKUP LOCK t", packet_length=packet_length@entry=13, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1839
|
#14 0x000056370a2008cc in do_command (thd=0x14dd63815088) at /test/10.5_dbg/sql/sql_parse.cc:1358
|
#15 0x000056370a35a99d in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14dd65c433a8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
|
#16 0x000056370a35b0b9 in handle_one_connection (arg=arg@entry=0x14dd65c433a8) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#17 0x000056370a7b910a in pfs_spawn_thread (arg=0x14dd84c45888) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#18 0x000014dd864386db in start_thread (arg=0x14dd87011700) at pthread_create.c:463
|
#19 0x000014dd8583688f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.13 (dbg), 10.4.13 (opt), 10.5.2 (dbg), 10.5.2 (opt), 10.5.3 (dbg), 10.5.3 (opt), 10.5.4 (dbg), 10.5.4 (opt)
Bug confirmed not present in:
MariaDB: 10.1.45 (dbg), 10.1.45 (opt), 10.2.32 (dbg), 10.2.32 (opt), 10.3.23 (dbg), 10.3.23 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
Summary of issues seen so far;
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove|MDL_context::release_lock|MDL_context::release_lock|backup_unlock
|
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove|MDL_context::set_explicit_duration_for_all_locks|THD::enter_locked_tables_mode|Locked_tables_list::init_locked_tables
|
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_lock, &MDL_ticket::prev_in_lock>, I_P_List_null_counter, I_P_List_fast_push_back<MDL_ticket> >::remove|MDL_lock::Ticket_list::remove_ticket|MDL_lock::remove_ticket|MDL_context::release_lock
|
SIGSEGV|MDL_key::is_equal|MDL_context::find_ticket|MDL_context::is_lock_owner|is_locked_view
|
SIGSEGV|MDL_key::is_equal|MDL_context::find_ticket|MDL_context::try_acquire_lock_impl|MDL_context::acquire_lock
|
SIGSEGV|MDL_lock::hog_lock_types_bitmap|MDL_lock::reschedule_waiters|MDL_lock::remove_ticket|MDL_context::release_lock
|
SIGSEGV|MDL_lock::incompatible_granted_types_bitmap|MDL_ticket::has_stronger_or_equal_type|MDL_context::find_ticket|MDL_context::try_acquire_lock_impl
|
SIGSEGV|MDL_ticket::has_stronger_or_equal_type|MDL_context::find_ticket|MDL_context::try_acquire_lock_impl|MDL_context::acquire_lock
|
SIGSEGV|backup_unlock|THD::cleanup|unlink_thd|do_handle_one_connection
|
SIGSEGV|free () from|MDL_context::release_locks_stored_before|MDL_context::release_transactional_locks|THD::cleanup
|
SIGSEGV|free () from|MDL_context::release_locks_stored_before|MDL_context::release_transactional_locks|mysql_execute_command
|
SIGSEGV|free () from|MDL_context::release_locks_stored_before|MDL_context::rollback_to_savepoint|THD::restore_backup_open_tables_state
|
SIGSEGV|free_tmp_table|close_thread_tables|mysql_execute_command|mysql_parse
|
SIGSEGV|ilist<MDL_ticket, void>::erase|ilist<MDL_ticket, void>::remove|MDL_lock::Ticket_list::remove_ticket|MDL_lock::remove_ticket
|
SIGSEGV|inline_mysql_prlock_wrlock|MDL_context::clone_ticket|MDL_context::try_acquire_lock_impl|MDL_context::acquire_lock
|
SIGSEGV|inline_mysql_prlock_wrlock|MDL_lock::remove_ticket|MDL_context::release_lock|MDL_context::release_lock
|
SIGSEGV|mysql_unlock_tables|mysql_unlock_tables|close_thread_tables|Locked_tables_list::unlock_locked_tables
|
SIGSEGV|thr_multi_unlock|mysql_unlock_tables|mysql_unlock_tables|close_thread_tables
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|THD::cleanup|unlink_thd
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|backup_lock|mysql_execute_command
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|mysql_execute_command|mysql_parse
|
I believe the original problem for the MDEV is fixed in https://github.com/MariaDB/server/pull/1541 . However there are deadlock scenarios involving the backup lock (https://jira.mariadb.org/browse/MDEV-20946 cases).
One more testcase to test any fixes with
USE test;
|
SET SQL_MODE='';
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.u;
|
CREATE TABLE t (a INT) ENGINE=Aria;
|
CREATE TEMPORARY TABLE IF NOT EXISTS s (c INT) ENGINE=Aria;
|
LOCK TABLES s AS a READ LOCAL,t AS b WRITE;
|
DROP TABLE t;
|
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.u;
|
And another to test any fixes with
USE test;
|
BACKUP LOCK t1;
|
CREATE VIEW v1 AS SELECT LCASE(1)AS c1;
|
LOCK TABLES v1 READ;
|
START TRANSACTION READ ONLY;
|
SELECT * FROM performance_schema.events_statements_summary_by_host_by_event_name;
|
Note that when one does BACKUP LOCK, one is not expected to be able to do any queries or manipulation of the table.
In other words, it's perfectly ok to give an error for any FLUSH command when one has a BACKUP LOCK.
The easy and probably proper fix to solve BACKUP LOCK and to ensure it isn't used wrong:
- BACKUP LOCK should commit any active transactions
- BACKUP LOCK should not be allowed for stored procedures
- When BACKUIP LOCK is active, don't allow any DDL's for that connection
monty, sounds reasonable. I was thinking about forbidding FTWRL under BACKUP LOCK indirectly by allowing BACKUP LOCK only under BACKUP STAGE, but it came to be against what manual says. I don't mind against additional restrictions as well.
This testcase:
USE test;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=Aria;
|
RENAME TABLE t1 TO t2;
|
FLUSH LOCAL TABLES t2 WITH READ LOCK;
|
Executed via C connector, or repeatedly from the CLI (potentially mixed with drop/re-create of test db), followed by mysqladmin shutdown, sporadically results hangs, as well as:
On optimized:
10.5.4 4080e3acefd7e58d88c2f3539fb6a0fb359cf057 (opt) |
2020-06-19 12:03:34 0 [Note] /test/MD150620-mariadb-10.5.4-linux-x86_64-opt/bin/mysqld: ready for connections.
|
Version: '10.5.4-MariaDB' socket: '/test/MD150620-mariadb-10.5.4-linux-x86_64-opt/socket.sock' port: 11311 MariaDB Server
|
2020-06-19 12:05:24 0 [Note] /test/MD150620-mariadb-10.5.4-linux-x86_64-opt/bin/mysqld (initiated by: root[root] @ localhost []): Normal shutdown
|
2020-06-19 12:05:24 0 [Note] Event Scheduler: Purging the queue. 0 events
|
2020-06-19 12:05:24 0 [Note] InnoDB: FTS optimize thread exiting.
|
2020-06-19 12:05:24 0 [Note] InnoDB: Starting shutdown...
|
2020-06-19 12:05:24 0 [Note] InnoDB: Dumping buffer pool(s) to /test/MD150620-mariadb-10.5.4-linux-x86_64-opt/data/ib_buffer_pool
|
2020-06-19 12:05:24 0 [Note] InnoDB: Buffer pool(s) dump completed at 200619 12:05:24
|
200619 12:05:25 [ERROR] mysqld got signal 11 ;
|
This could be because you hit a bug. It is also possible that this binary
|
or one of the libraries it was linked against is corrupt, improperly built,
|
or misconfigured. This error can also be caused by malfunctioning hardware.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
We will try our best to scrape up some info that will hopefully help
|
diagnose the problem, but since we have already crashed,
|
something is definitely wrong and this may fail.
|
|
Server version: 10.5.4-MariaDB
|
key_buffer_size=134217728
|
read_buffer_size=131072
|
max_used_connections=1
|
max_threads=153
|
thread_count=0
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467802 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x0
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x0 thread_stack 0x49000
|
With no core file written, and no stacks shown in error log.
And on debug to the usual assert ('ticket->m_duration == MDL_EXPLICIT').
When fixing this bug, if possible, please also fix the issue which prevented the stacks from being written to the error log + the issue which kept the core file from being written, as both affect QA/testcase filtering. Thank you!
> Please check MDEV-22879 - may be the same.
Yes, that looks extremely similar. I've tried to run the test from MDEV-22879 with the changes in the proposed pull request, and crash wasn't there, while without changes from the pull request the crash is reproducible.
> please also fix the issue which prevented the stacks from being written to the error log + the issue which kept the core file from being written, as both affect QA/testcase filtering.
Part of the issue with BACKUP LOCK was that a lock is released too early. That makes other threads to change objects in memory that were supposed to be protected from changes. Consequences are generally not predictable. They may have no effects, they may lead to a crash. It's almost imposible to predict what happens.
In this case the stack was corrupted, which made it impossible to get a backtrace.
Moreover, since stack tracing and core dumping code is a part of the program itself, with a broken stack it may fail too.
If you want to get a core dump file anyway, try to use set kernel.core_pattern sysctl parameter to something like /tmp/core.%E_%t_sig=%s_pid=%p. It's an external core dumping facility, so it should work even if a program stack is broken.
# Keep repeating this testcase at the CLI (unmodified; just keep pasting in the same testcase) until it crashes in debug build (usually about 3-10 times) - gives same assert (ticket->m_duration == MDL_EXPLICIT' failed)
|
# Alternatively, the server will lockup in optimized after multiple repeats, then use CTRL+C at CLI and mysqladmin shutdown, server will sig11, no coredump, and stack smashing at times it seems
|
# Alternatively, run the testcase once on optimized, then use mysqladmin shutdown, server will sig11, no coredump
|
# mysqld options required for replay: --thread_handling=pool-of-threads
|
USE test;
|
CREATE TABLE t (a VARCHAR(10) NOT NULL PRIMARY KEY) ENGINE=InnoDB;
|
XA PREPARE 'a';
|
BACKUP LOCK t1;
|
CREATE TABLE t2 (a INT NOT NULL, b CHAR(20), KEY(a)) ENGINE=MEMORY;
|
LOCK TABLES t AS a WRITE, t2 AS b READ;
|
DROP DATABASE test;CREATE DATABASE test;USE test;
|
SET STATEMENT max_statement_time=1 FOR BACKUP LOCK test.t;
|
CREATE TABLE t (c INT);
|
LOCK TABLES t WRITE;
|
DROP TABLE t;
|
SET STATEMENT max_statement_time=1 FOR BACKUP LOCK test.t;
|
Table selection (MyISAM or InnoDB) does not matter. May be sporadic, though does to seem to reproduce reliably.
Leads to:
10.4.15 eae968f62d285de97ed607c87bc131cd863d5d03 (Optimized) |
Core was generated by `/test/MD110820-mariadb-10.4.15-linux-x86_64-opt/bin/mysqld --no-defaults --core'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x152ef1206700 (LWP 3799300))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000558881b6aa77 in my_write_core (sig=sig@entry=11) at /test/10.4_opt/mysys/stacktrace.c:482
|
#2 0x000055888154262a in handle_fatal_signal (sig=11) at /test/10.4_opt/sql/signal_handler.cc:343
|
#3 <signal handler called>
|
#4 MDL_lock::hog_lock_types_bitmap (this=0x152eca50b5a8) at /test/10.4_opt/sql/mdl.cc:580
|
#5 MDL_lock::reschedule_waiters (this=this@entry=0x152eca50b5a8) at /test/10.4_opt/sql/mdl.cc:1293
|
#6 0x0000558881422f5e in MDL_lock::remove_ticket (this=0x152eca50b5a8, pins=0x152ecf2e2170, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x152eca43c040) at /test/10.4_opt/sql/mdl.cc:1830
|
#7 0x0000558881422ff4 in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x152eca43c040) at /test/10.4_opt/sql/mdl.cc:2817
|
#8 0x0000558881423032 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /test/10.4_opt/sql/mdl.cc:2837
|
#9 0x00005588814c8684 in backup_unlock (thd=thd@entry=0x152eca412008) at /test/10.4_opt/sql/backup.cc:396
|
#10 0x00005588814c86b2 in backup_lock (thd=thd@entry=0x152eca412008, table=table@entry=0x152eca43f258) at /test/10.4_opt/sql/backup.cc:381
|
#11 0x0000558881332269 in mysql_execute_command (thd=thd@entry=0x152eca412008) at /test/10.4_opt/sql/sql_parse.cc:5048
|
#12 0x000055888133922a in mysql_parse (thd=0x152eca412008, rawbuf=<optimized out>, length=57, parser_state=0x152ef12054d0, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /test/10.4_opt/sql/sql_parse.cc:7896
|
#13 0x000055888133b685 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x152eca412008, packet=packet@entry=0x152eca432009 "SET STATEMENT max_statement_time=1 FOR BACKUP LOCK test.t", packet_length=packet_length@entry=57, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_opt/sql/sql_parse.cc:1834
|
#14 0x000055888133ce04 in do_command (thd=0x152eca412008) at /test/10.4_opt/sql/sql_parse.cc:1352
|
#15 0x0000558881419dbe in do_handle_one_connection (connect=connect@entry=0x152eee032748) at /test/10.4_opt/sql/sql_connect.cc:1412
|
#16 0x0000558881419e7d in handle_one_connection (arg=0x152eee032748) at /test/10.4_opt/sql/sql_connect.cc:1316
|
#17 0x0000152ef04046db in start_thread (arg=0x152ef1206700) at pthread_create.c:463
|
#18 0x0000152eef57ea3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.15 (dbg), 10.4.15 (opt), 10.5.6 (dbg), 10.5.6 (opt)
Bug confirmed not present in:
MariaDB: 10.1.47 (dbg), 10.1.47 (opt), 10.2.34 (dbg), 10.2.34 (opt), 10.3.25 (dbg), 10.3.25 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
I am seeing another interesting issue in connection with this. It may be a separate bug, but given the similar setup as the last testcase, it's likely it is directly related. On debug it it will crash 'too early' and produce one of the bugs above instead of the stack displayed here. On optimized it will crash at the last statement. Bug may be sporadic. It can be used for testing a fix.
USE test;
|
SET STATEMENT max_statement_time=1 FOR BACKUP LOCK test.t;
|
CREATE TABLE t (c INT) ENGINE=MyISAM;
|
LOCK TABLES t WRITE;
|
DROP TABLE t;
|
DROP TABLE t7; # Does not exist
|
SET STATEMENT max_statement_time=1 FOR BACKUP LOCK test.t;
|
CREATE TABLE t (c INT) ENGINE=MyISAM;
|
XA RECOVER;
|
UNLOCK TABLES;
|
HELP XA; # Crashing query
|
Leads to:
10.4.15 eae968f62d285de97ed607c87bc131cd863d5d03 (Optimized) |
Core was generated by `/test/MD110820-mariadb-10.4.15-linux-x86_64-opt/bin/mysqld --no-defaults --core'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x1481d9bfe700 (LWP 2630454))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055a73ff51a77 in my_write_core (sig=sig@entry=11) at /test/10.4_opt/mysys/stacktrace.c:482
|
#2 0x000055a73f92962a in handle_fatal_signal (sig=11) at /test/10.4_opt/sql/signal_handler.cc:343
|
#3 <signal handler called>
|
#4 0x00001481d987e19d in free () from /usr/lib/x86_64-linux-gnu/libjemalloc.so.1
|
#5 0x000055a73f80a075 in MDL_context::release_locks_stored_before (this=this@entry=0x1481b2812128, duration=duration@entry=MDL_TRANSACTION, sentinel=0x0) at /test/10.4_opt/sql/mdl.cc:2867
|
#6 0x000055a73f80acad in MDL_context::rollback_to_savepoint (this=this@entry=0x1481b2812128, mdl_savepoint=@0x1481d9bf9988: {m_stmt_ticket = 0x0, m_trans_ticket = 0x0}) at /test/10.4_opt/sql/mdl.cc:3021
|
#7 0x000055a73f6cef1d in THD::restore_backup_open_tables_state (this=this@entry=0x1481b2812008, backup=backup@entry=0x1481d9bf9940) at /test/10.4_opt/sql/sql_class.cc:4507
|
#8 0x000055a73f6bff4f in close_system_tables (thd=thd@entry=0x1481b2812008, backup=backup@entry=0x1481d9bf9940) at /test/10.4_opt/sql/sql_base.cc:9110
|
#9 0x000055a73fa725f2 in mysqld_help_internal (thd=thd@entry=0x1481b2812008, mask=0x1481b283f098 "XA") at /test/10.4_opt/sql/sql_help.cc:848
|
#10 0x000055a73fa7309a in mysqld_help (thd=thd@entry=0x1481b2812008, mask=<optimized out>) at /test/10.4_opt/sql/sql_help.cc:863
|
#11 0x000055a73f71a0aa in mysql_execute_command (thd=thd@entry=0x1481b2812008) at /test/10.4_opt/sql/sql_parse.cc:3926
|
#12 0x000055a73f72022a in mysql_parse (thd=0x1481b2812008, rawbuf=<optimized out>, length=9, parser_state=0x1481d9bfd4d0, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /test/10.4_opt/sql/sql_parse.cc:7896
|
#13 0x000055a73f722685 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1481b2812008, packet=packet@entry=0x1481b2832009 "", packet_length=packet_length@entry=9, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_opt/sql/sql_parse.cc:1834
|
#14 0x000055a73f723e04 in do_command (thd=0x1481b2812008) at /test/10.4_opt/sql/sql_parse.cc:1352
|
#15 0x000055a73f800dbe in do_handle_one_connection (connect=connect@entry=0x1481d6832748) at /test/10.4_opt/sql/sql_connect.cc:1412
|
#16 0x000055a73f800e7d in handle_one_connection (arg=0x1481d6832748) at /test/10.4_opt/sql/sql_connect.cc:1316
|
#17 0x00001481d8dfc6db in start_thread (arg=0x1481d9bfe700) at pthread_create.c:463
|
#18 0x00001481d7f76a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
There is one other crash that can be generated with this testcase:
DROP DATABASE transforms;CREATE DATABASE transforms;DROP DATABASE test;CREATE DATABASE test;USE test;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
CREATE TABLE t1 (D INT) ENGINE=MyISAM;
|
lock tables t1 write;
|
DROP TABLE t1;
|
DROP TABLE t7;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
|
CREATE TABLE t1 (D INT) ENGINE=MyISAM;
|
XA RECOVER;
|
Replayed many many times, single thread, using mysql CLI or pquery.
Produces;
|
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_lock, &MDL_ticket::prev_in_lock>, I_P_List_null_counter, I_P_List_fast_push_back<MDL_ticket> >::remove|MDL_lock::Ticket_list::remove_ticket|MDL_lock::remove_ticket|MDL_context::release_lock
|
Will try and debug this further next week.
DROP DATABASE test;
|
CREATE DATABASE test;
|
USE test;
|
BACKUP LOCK t;
|
CREATE TABLE t2 (a INT DEFAULT 0, b INT PRIMARY KEY) ENGINE=InnoDB;
|
FLUSH TABLES t2 FOR EXPORT;
|
Repeating the above testcase repetitively (automated) at CLI, on a 15/9/2020 build, leads to:
10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Debug) |
2020-09-26 10:21:34 0 [Note] /test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld: ready for connections.
|
Version: '10.4.15-MariaDB-debug' socket: '/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/socket.sock' port: 12284 MariaDB Server
|
2020-09-26 10:21:35 23 [Note] InnoDB: Sync to disk of `test`.`t2` started.
|
2020-09-26 10:21:35 23 [Note] InnoDB: Stopping purge
|
2020-09-26 10:21:35 23 [Note] InnoDB: Writing table metadata to './test/t2.cfg'
|
2020-09-26 10:21:35 23 [Note] InnoDB: Table `test`.`t2` flushed to disk
|
2020-09-26 10:21:35 23 [Note] InnoDB: Deleting the meta-data file './test/t2.cfg'
|
2020-09-26 10:21:35 23 [Note] InnoDB: Resuming purge
|
mysqld: /test/10.4_dbg/sql/mdl.cc:2835: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
200926 10:21:35 [ERROR] mysqld got signal 6 ;
|
...
|
Server version: 10.4.15-MariaDB-debug
|
key_buffer_size=134217728
|
read_buffer_size=131072
|
max_used_connections=6
|
max_threads=153
|
thread_count=12
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467861 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x150d51c15070
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x150d79cd1da8 thread_stack 0x49000
|
2020-09-26 10:21:35 29 [Note] InnoDB: Sync to disk of `test`.`t2` started.
|
2020-09-26 10:21:35 29 [Note] InnoDB: Stopping purge
|
2020-09-26 10:21:35 29 [Note] InnoDB: Writing table metadata to './test/t2.cfg'
|
2020-09-26 10:21:35 29 [Note] InnoDB: Table `test`.`t2` flushed to disk
|
2020-09-26 10:21:35 29 [Note] InnoDB: Deleting the meta-data file './test/t2.cfg'
|
2020-09-26 10:21:35 29 [Note] InnoDB: Resuming purge
|
/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld(my_print_stacktrace+0x2b)[0x55f03e2f74fa]
|
2020-09-26 10:21:35 67 [Note] InnoDB: Sync to disk of `test`.`t2` started.
|
2020-09-26 10:21:35 67 [Note] InnoDB: Stopping purge
|
2020-09-26 10:21:35 67 [Note] InnoDB: Writing table metadata to './test/t2.cfg'
|
2020-09-26 10:21:35 67 [Note] InnoDB: Table `test`.`t2` flushed to disk
|
2020-09-26 10:21:35 67 [Note] InnoDB: Deleting the meta-data file './test/t2.cfg'
|
2020-09-26 10:21:35 67 [Note] InnoDB: Resuming purge
|
mysqld: /test/10.4_dbg/sql/mdl.cc:2835: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
ore was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
|
Program terminated with signal SIGABRT, Aborted.
|
[Current thread is 1 (Thread 0x150d64db3700 (LWP 330306))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#1 0x0000150d77f698b1 in __GI_abort () at abort.c:79
|
#2 0x0000150d77f5942a in __assert_fail_base (
|
fmt=0x150d780e0a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
|
assertion=assertion@entry=0x55f03e421080 "ticket->m_duration == MDL_EXPLICIT",
|
file=file@entry=0x55f03e420884 "/test/10.4_dbg/sql/mdl.cc", line=line@entry=2835,
|
function=function@entry=0x55f03e421880 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:92
|
#3 0x0000150d77f594a2 in __GI___assert_fail (
|
assertion=assertion@entry=0x55f03e421080 "ticket->m_duration == MDL_EXPLICIT",
|
file=file@entry=0x55f03e420884 "/test/10.4_dbg/sql/mdl.cc", line=line@entry=2835,
|
function=function@entry=0x55f03e421880 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#4 0x000055f03d911a49 in MDL_context::release_lock (this=this@entry=0x150d4f815190,
|
ticket=0x150d4f814080) at /test/10.4_dbg/sql/mdl.cc:2835
|
#5 0x000055f03d9e58f4 in backup_unlock (thd=thd@entry=0x150d4f815070)
|
at /test/10.4_dbg/sql/backup.cc:395
|
#6 0x000055f03d7670a1 in THD::cleanup (this=this@entry=0x150d4f815070)
|
at /test/10.4_dbg/sql/sql_class.cc:1548
|
#7 0x000055f03d6c661d in unlink_thd (thd=thd@entry=0x150d4f815070)
|
at /test/10.4_dbg/sql/mysqld.cc:2633
|
#8 0x000055f03d6c695c in one_thread_per_connection_end (thd=0x150d4f815070,
|
put_in_cache=<optimized out>) at /test/10.4_dbg/sql/mysqld.cc:2782
|
#9 0x000055f03d905182 in do_handle_one_connection (connect=connect@entry=0x150d768379b0)
|
at /test/10.4_dbg/sql/sql_connect.cc:1423
|
#10 0x000055f03d90523c in handle_one_connection (arg=0x150d768379b0)
|
at /test/10.4_dbg/sql/sql_connect.cc:1316
|
#11 0x0000150d78ed06db in start_thread (arg=0x150d64db3700) at pthread_create.c:463
|
#12 0x0000150d7804aa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
This testcase, can also lead to (at least when using C/pquery, perhaps also at CLI/MTR though could not reproduce it there yet):
10.4.15 eae968f62d285de97ed607c87bc131cd863d5d03 |
Core was generated by `/test/MD110820-mariadb-10.4.15-linux-x86_64-opt/bin/mysqld --no-defaults --max_'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x1475a81d6700 (LWP 1188181))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055ce11157a77 in my_write_core (sig=sig@entry=11) at /test/10.4_opt/mysys/stacktrace.c:482
|
#2 0x000055ce10b2f62a in handle_fatal_signal (sig=11) at /test/10.4_opt/sql/signal_handler.cc:343
|
#3 <signal handler called>
|
#4 0x000055ce10a0ee79 in I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_lock, &MDL_ticket::prev_in_lock>, I_P_List_null_counter, I_P_List_fast_push_back<MDL_ticket> >::remove (a=0x1475700170d0, this=0x14757009edb8) at /test/10.4_opt/sql/sql_plist.h:129
|
#5 MDL_lock::Ticket_list::remove_ticket (this=0x14757009edb8, ticket=0x1475700170d0) at /test/10.4_opt/sql/mdl.cc:1262
|
#6 0x000055ce10a0ff4c in MDL_lock::remove_ticket (this=0x14757009ebb8, pins=0x55ce13da6510, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x1475700170d0) at /test/10.4_opt/sql/mdl.cc:1811
|
#7 0x000055ce10a0fff4 in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x1475700170d0) at /test/10.4_opt/sql/mdl.cc:2817
|
#8 0x000055ce10a10032 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /test/10.4_opt/sql/mdl.cc:2837
|
#9 0x000055ce10ab5684 in backup_unlock (thd=thd@entry=0x147570000c08) at /test/10.4_opt/sql/backup.cc:396
|
#10 0x000055ce108d3d54 in THD::cleanup (this=this@entry=0x147570000c08) at /test/10.4_opt/sql/sql_class.cc:1548
|
#11 0x000055ce1085b717 in unlink_thd (thd=thd@entry=0x147570000c08) at /test/10.4_opt/sql/mysqld.cc:2633
|
#12 0x000055ce1085b8ec in one_thread_per_connection_end (thd=0x147570000c08, put_in_cache=<optimized out>) at /test/10.4_opt/sql/mysqld.cc:2782
|
#13 0x000055ce10a06ceb in do_handle_one_connection (connect=connect@entry=0x55ce13e3e1a8) at /test/10.4_opt/sql/sql_connect.cc:1423
|
#14 0x000055ce10a06e7d in handle_one_connection (arg=arg@entry=0x55ce13e3e1a8) at /test/10.4_opt/sql/sql_connect.cc:1316
|
#15 0x000055ce1105f4ea in pfs_spawn_thread (arg=0x55ce13dc4688) at /test/10.4_opt/storage/perfschema/pfs.cc:1869
|
#16 0x00001475d4a056db in start_thread (arg=0x1475a81d6700) at pthread_create.c:463
|
#17 0x00001475d3b7fa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
On optimized 4.15 builds.
One more proposed solution addition
- BACKUP LOCK should not be allowed for non-existing tables
Summary of unique issues seen thus far, one per line. All bugs included till 10 Oct 20
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_lock, &MDL_ticket::prev_in_lock>, I_P_List_null_counter, I_P_List_fast_push_back<MDL_ticket> >::remove|MDL_lock::Ticket_list::remove_ticket|MDL_lock::remove_ticket|MDL_context::release_lock
|
SIGSEGV|I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove|MDL_context::release_lock|MDL_context::release_lock|backup_unlock
|
SIGSEGV|inline_mysql_prlock_wrlock|MDL_lock::remove_ticket|MDL_context::release_lock|MDL_context::release_lock
|
SIGSEGV|inline_mysql_prlock_wrlock|MDL_context::clone_ticket|MDL_context::try_acquire_lock_impl|MDL_context::acquire_lock
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|THD::cleanup|unlink_thd
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|backup_lock|mysql_execute_command
|
ticket->m_duration == MDL_EXPLICIT|SIGABRT|MDL_context::release_lock|backup_unlock|mysql_execute_command|mysql_parse
|
SIGSEGV|MDL_lock::hog_lock_types_bitmap|MDL_lock::reschedule_waiters|MDL_lock::remove_ticket|MDL_context::release_lock
|
SIGSEGV|free () from|MDL_context::release_locks_stored_before|MDL_context::rollback_to_savepoint|THD::restore_backup_open_tables_state
|
SIGSEGV|backup_unlock|THD::cleanup|unlink_thd|do_handle_one_connection
|
From what I've seen in the bug reproduction scenarios, they all are caused by the same root issue: changing a lock duration and releasing it too early. Debug builds trigger assertion ticket->m_duration == MDL_EXPLICIT, release builds suffer from silent memory corruption with subsequent SIGSEGV.
Generally if a scenario has a BACKUP LOCK, then something that locks tables, either explicitly with LOCK TABLES, or implicitly, in DDL statements, and then a BACKUP UNLOCK, either explicit or implicit, it will cause assertion failure. Implicit BACKUP UNLOCK is caused, for example, by the server shutdown.
There is a pull request at https://github.com/MariaDB/server/pull/1541, which has the changes that are supposed to fix the issue. I have not tested recently added scenarios, but from their general structure, they essentially are variations of the tests in the PR.
One more unique issue seen
BACKUP LOCK test.t;
|
CREATE TABLE t (c INT) ENGINE=InnoDB;
|
LOCK TABLES t AS a READ;
|
BEGIN;
|
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
|
Leads to:
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug) |
mysqld: /test/10.5_dbg/sql/mdl.cc:2840: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug) |
Core was generated by `/test/MD150920-mariadb-10.5.6-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 0x146d7cc45700 (LWP 199991))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005625b8fbb85a in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:424
|
#2 0x00005625b87823a9 in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x0000146d7aedb8b1 in __GI_abort () at abort.c:79
|
#6 0x0000146d7aecb42a in __assert_fail_base (fmt=0x146d7b052a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5625b9172a80 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x5625b9172204 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2840, function=function@entry=0x5625b9173280 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:92
|
#7 0x0000146d7aecb4a2 in __GI___assert_fail (assertion=assertion@entry=0x5625b9172a80 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x5625b9172204 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2840, function=function@entry=0x5625b9173280 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#8 0x00005625b86352b5 in MDL_context::release_lock (this=this@entry=0x146d588151a8, ticket=0x146d58880060) at /test/10.5_dbg/sql/mdl.cc:2840
|
#9 0x00005625b86eb480 in backup_unlock (thd=thd@entry=0x146d58815088) at /test/10.5_dbg/sql/backup.cc:396
|
#10 0x00005625b84d2653 in mysql_execute_command (thd=thd@entry=0x146d58815088) at /test/10.5_dbg/sql/sql_parse.cc:5120
|
#11 0x00005625b84dc324 in mysql_parse (thd=thd@entry=0x146d58815088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x146d7cc44350, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7994
|
#12 0x00005625b84c8d54 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146d58815088, packet=packet@entry=0x146d58867089 "SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK", packet_length=packet_length@entry=54, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1867
|
#13 0x00005625b84c753e in do_command (thd=0x146d58815088) at /test/10.5_dbg/sql/sql_parse.cc:1348
|
#14 0x00005625b8626893 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x146d5bcd4808, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1410
|
#15 0x00005625b8626fb7 in handle_one_connection (arg=arg@entry=0x146d5bcd4808) at /test/10.5_dbg/sql/sql_connect.cc:1312
|
#16 0x00005625b8a915c2 in pfs_spawn_thread (arg=0x146d79846508) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#17 0x0000146d7bbbe6db in start_thread (arg=0x146d7cc45700) at pthread_create.c:463
|
#18 0x0000146d7afbca3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14f7a746f700 (LWP 202521))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005565f9a21ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x00005565f93f0fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_lock::hog_lock_types_bitmap (this=0x14f7a4156138) at /data/10.5_opt/sql/mdl.cc:587
|
#5 MDL_lock::reschedule_waiters (this=this@entry=0x14f7a4156138) at /data/10.5_opt/sql/mdl.cc:1273
|
#6 0x00005565f92f13d4 in MDL_lock::remove_ticket (this=0x14f7a4156138, pins=0x14f786c1b208, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x14f783444060) at /data/10.5_opt/sql/mdl.cc:1811
|
#7 0x00005565f92f1d94 in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x14f783444060) at /data/10.5_opt/sql/mdl.cc:2822
|
#8 0x00005565f92f1dd2 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /data/10.5_opt/sql/mdl.cc:2842
|
#9 0x00005565f9377ac4 in backup_unlock (thd=thd@entry=0x14f783412018) at /data/10.5_opt/sql/backup.cc:396
|
#10 0x00005565f91f9446 in mysql_execute_command (thd=thd@entry=0x14f783412018) at /data/10.5_opt/sql/sql_parse.cc:5120
|
#11 0x00005565f91fda2c in mysql_parse (thd=0x14f783412018, rawbuf=<optimized out>, length=54, parser_state=0x14f7a746e430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#12 0x00005565f91f2cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14f783412018, packet=packet@entry=0x14f78343a019 "SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK", packet_length=packet_length@entry=54, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#13 0x00005565f91f0fe4 in do_command (thd=0x14f783412018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#14 0x00005565f92e7ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14f7a40338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#15 0x00005565f92e7f14 in handle_one_connection (arg=arg@entry=0x14f7a40338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#16 0x00005565f965ba4a in pfs_spawn_thread (arg=0x14f7a404f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#17 0x000014f7a63e86db in start_thread (arg=0x14f7a746f700) at pthread_create.c:463
|
#18 0x000014f7a57e6a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.15 (dbg), 10.4.15 (opt), 10.5.6 (dbg), 10.5.6 (opt), 10.6.0 (dbg), 10.6.0 (opt)
Bug confirmed not present in:
MariaDB: 10.1.47 (dbg), 10.1.47 (opt), 10.2.34 (dbg), 10.2.34 (opt), 10.3.25 (dbg), 10.3.25 (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)
Optimized crashes somewhat slower then debug (last statement returns CLI prompt on opt, but not on dbg before crashing)
Another unique issue. With this testcase:
DROP DATABASE test;
|
CREATE DATABASE test;
|
USE test;
|
BACKUP LOCK t;
|
CREATE TABLE t (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
LOCK TABLES t AS a READ LOCAL, t AS b LOW_PRIORITY WRITE;
|
Crash is sporadic, and testcase needs to be executed about 30+ times repetitively (no server restart needed). Leads to:
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x155138294700 (LWP 1283033))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055ee419a7ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x000055ee41376fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 0x000055ee412763ad in inline_mysql_prlock_wrlock (src_line=2165, src_file=0x55ee41b2a860 "/data/10.5_opt/sql/mdl.cc", that=0x190) at /data/10.5_opt/include/mysql/psi/mysql_thread.h:1033
|
#5 MDL_context::clone_ticket (this=0x155114412138, mdl_request=0x155114447540) at /data/10.5_opt/sql/mdl.cc:2165
|
#6 0x000055ee41276f4c in MDL_context::try_acquire_lock_impl (this=this@entry=0x155114412138, mdl_request=mdl_request@entry=0x155114447540, out_ticket=out_ticket@entry=0x155138292dc8) at /data/10.5_opt/sql/mdl.cc:2053
|
#7 0x000055ee4127746e in MDL_context::acquire_lock (this=this@entry=0x155114412138, mdl_request=mdl_request@entry=0x155114447540, lock_wait_timeout=86400) at /data/10.5_opt/sql/mdl.cc:2248
|
#8 0x000055ee412fdb27 in backup_lock (thd=thd@entry=0x155114412018, table=table@entry=0x1551144470f8) at /data/10.5_opt/sql/backup.cc:383
|
#9 0x000055ee4117c4f8 in mysql_execute_command (thd=thd@entry=0x155114412018) at /data/10.5_opt/sql/sql_parse.cc:5118
|
#10 0x000055ee41183a2c in mysql_parse (thd=0x155114412018, rawbuf=<optimized out>, length=13, parser_state=0x155138293430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#11 0x000055ee41178cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x155114412018, packet=packet@entry=0x15511443a019 "BACKUP LOCK t", packet_length=packet_length@entry=13, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#12 0x000055ee41176fe4 in do_command (thd=0x155114412018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#13 0x000055ee4126dba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1551350338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#14 0x000055ee4126df14 in handle_one_connection (arg=arg@entry=0x1551350338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#15 0x000055ee415e1a4a in pfs_spawn_thread (arg=0x15513504f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#16 0x000015513720d6db in start_thread (arg=0x155138294700) at pthread_create.c:463
|
#17 0x000015513660ba3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug) |
mysqld: /test/10.5_dbg/sql/mdl.cc:2840: void MDL_context::release_lock(MDL_ticket*): Assertion `ticket->m_duration == MDL_EXPLICIT' failed.
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
[Current thread is 1 (Thread 0x149a5c9b2700 (LWP 1249535))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#1 0x0000149a5ac938b1 in __GI_abort () at abort.c:79
|
#2 0x0000149a5ac8342a in __assert_fail_base (fmt=0x149a5ae0aa38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55dd29e19a80 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x55dd29e19204 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2840, function=function@entry=0x55dd29e1a280 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:92
|
#3 0x0000149a5ac834a2 in __GI___assert_fail (assertion=assertion@entry=0x55dd29e19a80 "ticket->m_duration == MDL_EXPLICIT", file=file@entry=0x55dd29e19204 "/test/10.5_dbg/sql/mdl.cc", line=line@entry=2840, function=function@entry=0x55dd29e1a280 <MDL_context::release_lock(MDL_ticket*)::__PRETTY_FUNCTION__> "void MDL_context::release_lock(MDL_ticket*)") at assert.c:101
|
#4 0x000055dd292dc2b5 in MDL_context::release_lock (this=this@entry=0x149a38c151a8, ticket=0x149a38c7d150) at /test/10.5_dbg/sql/mdl.cc:2840
|
#5 0x000055dd29392480 in backup_unlock (thd=thd@entry=0x149a38c15088) at /test/10.5_dbg/sql/backup.cc:396
|
#6 0x000055dd29113b50 in THD::cleanup (this=this@entry=0x149a38c15088) at /test/10.5_dbg/sql/sql_class.cc:1570
|
#7 0x000055dd29071e61 in unlink_thd (thd=0x149a38c15088) at /test/10.5_dbg/sql/mysqld.cc:2604
|
#8 0x000055dd292cddec in do_handle_one_connection (connect=<optimized out>, connect@entry=0x149a3b8d4d48, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1421
|
#9 0x000055dd292cdfb7 in handle_one_connection (arg=arg@entry=0x149a3b8d4d48) at /test/10.5_dbg/sql/sql_connect.cc:1312
|
#10 0x000055dd297385c2 in pfs_spawn_thread (arg=0x149a59846788) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#11 0x0000149a5b9766db in start_thread (arg=0x149a5c9b2700) at pthread_create.c:463
|
#12 0x0000149a5ad74a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
There is also this crash on 10.5.6 optimized:
10.5.6 7fba16d53fe3c2fa241434e1ff715e6a3789c79a (Optimized) |
Core was generated by `/test/MD031020-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --max_a'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14954073c700 (LWP 1212377))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055e866193fb7 in my_write_core (sig=sig@entry=11) at /test/10.5_opt/mysys/stacktrace.c:424
|
#2 0x000055e865b647da in handle_fatal_signal (sig=11) at /test/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 0x000055e86818d9c8 in ?? ()
|
#5 0x00000000000055e8 in ?? ()
|
#6 0x000055e865aeb2d4 in backup_unlock (thd=thd@entry=0x1494e8000c18) at /test/10.5_opt/sql/backup.cc:396
|
#7 0x000055e86591cb58 in THD::cleanup (this=this@entry=0x1494e8000c18) at /test/10.5_opt/sql/sql_class.cc:1571
|
#8 0x000055e8658a27d5 in unlink_thd (thd=0x1494e8000c18) at /test/10.5_opt/sql/mysqld.cc:2601
|
#9 0x000055e865a5ae07 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55e868d5add8, put_in_cache=put_in_cache@entry=true) at /test/10.5_opt/sql/sql_connect.cc:1421
|
#10 0x000055e865a5b4b4 in handle_one_connection (arg=arg@entry=0x55e868d5add8) at /test/10.5_opt/sql/sql_connect.cc:1312
|
#11 0x000055e865dcf6ea in pfs_spawn_thread (arg=0x55e868cd6c18) at /test/10.5_opt/storage/perfschema/pfs.cc:2201
|
#12 0x0000149542e976db in start_thread (arg=0x14954073c700) at pthread_create.c:463
|
#13 0x0000149542295a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Which can be produced with this testcase, based on the fact that reducer saw the same crash at least once with this reduced testcase, though I am not able to reproduce it for the moment:
# mysqld options required for replay: --maximum-join_buffer_size=1M --maximum-read_buffer_size=1M --maximum-read_rnd_buffer_size=1M --maximum-sort_buffer_size=1M --maximum-transaction_prealloc_size=1M
|
BACKUP LOCK t;
|
INSERT INTO mysql.ndb_replication VALUES ("europenorth", "fr_nce", 1, NULL, "NDB$A ()");
|
CREATE TABLE t (a TINYTEXT COLUMN_FORMAT COMPRESSED) ROW_FORMAT = REDUNDANT;
|
DROP PROCEDURE getNums;
|
CREATE TABLE t2 (id INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
|
DROP TABLE datetypes;
|
LOCK TABLES t2 AS a1 READ LOCAL, t2 AS a6 LOW_PRIORITY WRITE;
|
It has too many statements and options which can likely be filtered. It is either highly sporadic, or requires the C connector for replay (i.e. no CLI replay, and perhaps not MTR either). Reducer was able to reduce the original testcase of 42k lines down to this (using pquery), but there is likely more that can be done. This testcase was also the basis for the testcase in my last comment above, but the further reduced less-sporadic version leads to different crashes.
I also saw the 'SIGSEGV|inline_mysql_prlock_wrlock|MDL_context::clone_ticket|MDL_context::try_acquire_lock_impl|MDL_context::acquire_lock' at least once on optimized with this testcase.
For the moment, I am filtering the unique string for this testcase ('SIGSEGV|backup_unlock|THD::cleanup|unlink_thd|do_handle_one_connection') from my runs also.
Let me know if this crash somehow looks very different from the others and I will do more debugging on it and disable the added filter. Note to self: BASEDIR=MD031020-mariadb-10.5.6-linux-x86_64-opt.
This testcase (needs a few repeats to trigger bugs):
# Repeat 2-5 times. Sometimes (about 1 in every 5 attempts to generate a crash with 2-5 sequential executions), it does not crash in those 2-5 times, and then no crashes are seen for quite some time: restart the server in full and rerun the 2-5 attempts in that case instead of waiting for it to crash.
|
# MTR --repeat should be able to produce crashes this testcase, just set first CREATE TABLE to InnoDB (which is the CLI default).
|
DROP DATABASE test;
|
CREATE DATABASE test;
|
USE test;
|
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t;
|
SET @@sql_mode='REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,IGNORE_BAD_TABLE_OPTIONS,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH,SIMULTANEOUS_ASSIGNMENT';
|
LOCK TABLES performance_schema.setup_actors READ;
|
SET @@autocommit=0;
|
UNLOCK TABLES;
|
CREATE TABLE t (c1 DECIMAL NULL, c2 CHAR (25) NOT NULL, c3 MEDIUMINT (4) NULL, c4 CHAR (15) NOT NULL PRIMARY KEY, c5 DECIMAL NOT NULL UNIQUE KEY,c6 FIXED (10,8) NOT NULL DEFAULT 3.141592);
|
DELETE FROM t;
|
INSERT INTO t2 VALUES (1);
|
CREATE TEMPORARY TABLE t (a CHAR (1) CHARACTER SET filename) ENGINE=Aria;
|
Is able to produce a whole set of new stacks on optimized builds:
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 0x000055feca1584c7 in thr_unlock (data=0x152a5fc44060,
|
unlock_flags=unlock_flags@entry=0) at /data/10.5_opt/mysys/thr_lock.c:1090
|
[Current thread is 1 (Thread 0x152a83917700 (LWP 237910))]
|
(gdb) bt
|
#0 0x000055feca1584c7 in thr_unlock (data=0x152a5fc44060, unlock_flags=unlock_flags@entry=0) at /data/10.5_opt/mysys/thr_lock.c:1090
|
#1 0x000055feca15886f in thr_multi_unlock (data=<optimized out>, count=<optimized out>, unlock_flags=unlock_flags@entry=0) at /data/10.5_opt/mysys/thr_lock.c:1419
|
#2 0x000055fec9c16297 in mysql_unlock_tables (thd=0x152a5fc12018, sql_lock=0x152a5fc44078, free_lock=<optimized out>) at /data/10.5_opt/sql/lock.cc:434
|
#3 0x000055fec9c16913 in mysql_unlock_tables (thd=thd@entry=0x152a5fc12018, sql_lock=<optimized out>) at /data/10.5_opt/sql/lock.cc:417
|
#4 0x000055fec98c55c6 in close_thread_tables (thd=thd@entry=0x152a5fc12018) at /data/10.5_opt/sql/sql_base.cc:911
|
#5 0x000055fec98c62b8 in Locked_tables_list::unlock_locked_tables (this=this@entry=0x152a5fc15e30, thd=thd@entry=0x152a5fc12018) at /data/10.5_opt/sql/sql_base.cc:2359
|
#6 0x000055fec992cf92 in mysql_execute_command (thd=thd@entry=0x152a5fc12018) at /data/10.5_opt/sql/sql_parse.cc:5039
|
#7 0x000055fec9931a2c in mysql_parse (thd=0x152a5fc12018, rawbuf=<optimized out>, length=13, parser_state=0x152a83916430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#8 0x000055fec9926cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x152a5fc12018, packet=packet@entry=0x152a5fc3a019 "UNLOCK TABLES", packet_length=packet_length@entry=13, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#9 0x000055fec9924fe4 in do_command (thd=0x152a5fc12018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#10 0x000055fec9a1bba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x152a80833bf8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#11 0x000055fec9a1bf14 in handle_one_connection (arg=arg@entry=0x152a80833bf8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#12 0x000055fec9d8fa4a in pfs_spawn_thread (arg=0x152a8084f418) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#13 0x0000152a829266db in start_thread (arg=0x152a83917700) at pthread_create.c:463
|
#14 0x0000152a81d24a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x1538ab7f1700 (LWP 249077))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055b6c06daae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x000055b6c00a9fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 ilist<MDL_ticket, void>::erase (this=0x15388751b338, pos=<optimized out>) at /data/10.5_opt/include/ilist.h:187
|
#5 ilist<MDL_ticket, void>::remove (this=0x15388751b338, value=@0x153887444060: {<MDL_wait_for_subgraph> = {_vptr.MDL_wait_for_subgraph = 0x0}, <ilist_node<void>> = {next = 0x30, prev = 0x153800000000}, next_in_context = 0x1538874440b0, prev_in_context = 0x1538874121b0, m_type = MDL_SHARED_WRITE, m_ctx = 0x153887412138, m_lock = 0x15388751b138, m_psi = 0x0}) at /data/10.5_opt/include/ilist.h:207
|
#6 MDL_lock::Ticket_list::remove_ticket (this=0x15388751b338, ticket=0x153887444060) at /data/10.5_opt/sql/mdl.cc:1247
|
#7 0x000055b6bffaa3bc in MDL_lock::remove_ticket (this=0x15388751b138, pins=0x15388b01b228, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x153887444060) at /data/10.5_opt/sql/mdl.cc:1792
|
#8 0x000055b6bffaad94 in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x153887444060) at /data/10.5_opt/sql/mdl.cc:2822
|
#9 0x000055b6bffaadd2 in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /data/10.5_opt/sql/mdl.cc:2842
|
#10 0x000055b6c0030ac4 in backup_unlock (thd=thd@entry=0x153887412018) at /data/10.5_opt/sql/backup.cc:396
|
#11 0x000055b6c0030af2 in backup_lock (thd=thd@entry=0x153887412018, table=table@entry=0x153887447278) at /data/10.5_opt/sql/backup.cc:381
|
#12 0x000055b6bfeaf4f8 in mysql_execute_command (thd=thd@entry=0x153887412018) at /data/10.5_opt/sql/sql_parse.cc:5118
|
#13 0x000055b6bfeb6a2c in mysql_parse (thd=0x153887412018, rawbuf=<optimized out>, length=59, parser_state=0x1538ab7f0430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#14 0x000055b6bfeabcc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x153887412018, packet=packet@entry=0x15388743a019 "SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t", packet_length=packet_length@entry=59, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#15 0x000055b6bfea9fe4 in do_command (thd=0x153887412018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#16 0x000055b6bffa0ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1538a84338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#17 0x000055b6bffa0f14 in handle_one_connection (arg=arg@entry=0x1538a84338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#18 0x000055b6c0314a4a in pfs_spawn_thread (arg=0x1538a844f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#19 0x00001538aa76a6db in start_thread (arg=0x1538ab7f1700) at pthread_create.c:463
|
#20 0x00001538a9b68a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x15276e491700 (LWP 510773))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000056060a993ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x000056060a362fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove (this=<optimized out>, a=<optimized out>) at /data/10.5_opt/sql/sql_plist.h:126
|
#5 MDL_context::set_explicit_duration_for_all_locks (this=this@entry=0x15274a012138) at /data/10.5_opt/sql/mdl.cc:3142
|
#6 0x000056060a1041f0 in THD::enter_locked_tables_mode (mode_arg=LTM_LOCK_TABLES, this=0x15274a012018) at /data/10.5_opt/sql/sql_class.h:4711
|
#7 Locked_tables_list::init_locked_tables (this=this@entry=0x15274a015e30, thd=thd@entry=0x15274a012018) at /data/10.5_opt/sql/sql_base.cc:2315
|
#8 0x000056060a053d77 in lock_tables_open_and_lock_tables (thd=thd@entry=0x15274a012018, tables=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:2979
|
#9 0x000056060a16c3f7 in mysql_execute_command (thd=thd@entry=0x15274a012018) at /data/10.5_opt/sql/sql_parse.cc:5092
|
#10 0x000056060a16fa2c in mysql_parse (thd=0x15274a012018, rawbuf=<optimized out>, length=48, parser_state=0x15276e490430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#11 0x000056060a164cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x15274a012018, packet=packet@entry=0x15274a03a019 "LOCK TABLES performance_schema.setup_actors READ", packet_length=packet_length@entry=48, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#12 0x000056060a162fe4 in do_command (thd=0x15274a012018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#13 0x000056060a259ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x15276b0338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#14 0x000056060a259f14 in handle_one_connection (arg=arg@entry=0x15276b0338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#15 0x000056060a5cda4a in pfs_spawn_thread (arg=0x15276b04f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#16 0x000015276d40a6db in start_thread (arg=0x15276e491700) at pthread_create.c:463
|
#17 0x000015276c808a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x146498c33700 (LWP 600307))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005567c7398ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x00005567c6d67fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_lock::incompatible_granted_types_bitmap (this=<optimized out>) at /data/10.5_opt/sql/mdl.cc:549
|
#5 MDL_ticket::has_stronger_or_equal_type (this=this@entry=0x146475044060, type=MDL_SHARED_WRITE) at /data/10.5_opt/sql/mdl.cc:1858
|
#6 0x00005567c6c672fc in MDL_context::find_ticket (this=this@entry=0x146475012138, mdl_request=mdl_request@entry=0x146498c30678, result_duration=result_duration@entry=0x146498c2f9fc) at /data/10.5_opt/sql/mdl.cc:1930
|
#7 0x00005567c6c67f2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x146475012138, mdl_request=mdl_request@entry=0x146498c30678, out_ticket=out_ticket@entry=0x146498c2fa98) at /data/10.5_opt/sql/mdl.cc:2029
|
#8 0x00005567c6c6846e in MDL_context::acquire_lock (this=this@entry=0x146475012138, mdl_request=mdl_request@entry=0x146498c30678, lock_wait_timeout=31536000) at /data/10.5_opt/sql/mdl.cc:2248
|
#9 0x00005567c6b0a08c in open_table_get_mdl_lock (mdl_ticket=<synthetic pointer>, flags=2048, mdl_request=0x146498c30678, ot_ctx=0x146498c30180, thd=0x146475012018) at /data/10.5_opt/sql/sql_base.cc:1542
|
#10 open_table (thd=thd@entry=0x146475012018, table_list=table_list@entry=0x146498c30230, ot_ctx=ot_ctx@entry=0x146498c30180) at /data/10.5_opt/sql/sql_base.cc:1803
|
#11 0x00005567c6b0c3b5 in open_ltable (thd=thd@entry=0x146475012018, table_list=table_list@entry=0x146498c30230, lock_type=TL_WRITE, lock_flags=lock_flags@entry=2048) at /data/10.5_opt/sql/sql_base.cc:5061
|
#12 0x00005567c6b12d88 in open_system_table_for_update (thd=thd@entry=0x146475012018, one_table=one_table@entry=0x146498c30230) at /data/10.5_opt/sql/sql_base.cc:9048
|
#13 0x00005567c6ea1010 in open_proc_table_for_update (thd=thd@entry=0x146475012018) at /data/10.5_opt/sql/sp.cc:534
|
#14 0x00005567c6ea4516 in sp_drop_db_routines (thd=thd@entry=0x146475012018, db=db@entry=0x1464750470c0 "test") at /data/10.5_opt/sql/sp.cc:1853
|
#15 0x00005567c6b2deee in mysql_rm_db_internal (thd=0x146475012018, db=<optimized out>, if_exists=<optimized out>, silent=<optimized out>) at /data/10.5_opt/sql/sql_db.cc:975
|
#16 0x00005567c6b6d5b9 in mysql_execute_command (thd=thd@entry=0x146475012018) at /data/10.5_opt/sql/sql_parse.cc:5147
|
#17 0x00005567c6b74a2c in mysql_parse (thd=0x146475012018, rawbuf=<optimized out>, length=18, parser_state=0x146498c32430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#18 0x00005567c6b69cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146475012018, packet=packet@entry=0x14647503a019 "DROP DATABASE test", packet_length=packet_length@entry=18, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#19 0x00005567c6b67fe4 in do_command (thd=0x146475012018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#20 0x00005567c6c5eba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1464958338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#21 0x00005567c6c5ef14 in handle_one_connection (arg=arg@entry=0x1464958338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#22 0x00005567c6fd2a4a in pfs_spawn_thread (arg=0x14649584f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#23 0x0000146497bac6db in start_thread (arg=0x146498c33700) at pthread_create.c:463
|
#24 0x0000146496faaa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 unlock_external (count=<optimized out>, table=0x155132c44100, thd=
|
0x155132c12018) at /data/10.5_opt/sql/lock.cc:726
|
[Current thread is 1 (Thread 0x155157ebd700 (LWP 742015))]
|
(gdb) bt
|
#0 unlock_external (count=<optimized out>, table=0x155132c44100, thd=0x155132c12018) at /data/10.5_opt/sql/lock.cc:726
|
#1 mysql_unlock_tables (thd=0x155132c12018, sql_lock=0x155132c440c8, free_lock=<optimized out>) at /data/10.5_opt/sql/lock.cc:432
|
#2 0x0000561a4ef82913 in mysql_unlock_tables (thd=thd@entry=0x155132c12018, sql_lock=<optimized out>) at /data/10.5_opt/sql/lock.cc:417
|
#3 0x0000561a4ec315c6 in close_thread_tables (thd=thd@entry=0x155132c12018) at /data/10.5_opt/sql/sql_base.cc:911
|
#4 0x0000561a4ec322b8 in Locked_tables_list::unlock_locked_tables (this=this@entry=0x155132c15e30, thd=thd@entry=0x155132c12018) at /data/10.5_opt/sql/sql_base.cc:2359
|
#5 0x0000561a4ec49a0e in THD::cleanup (this=this@entry=0x155132c12018) at /data/10.5_opt/sql/sql_class.cc:1548
|
#6 0x0000561a4ebcf805 in unlink_thd (thd=0x155132c12018) at /data/10.5_opt/sql/mysqld.cc:2604
|
#7 0x0000561a4ed87867 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x155154c33b98, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1421
|
#8 0x0000561a4ed87f14 in handle_one_connection (arg=arg@entry=0x155154c33b98) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#9 0x0000561a4f0fba4a in pfs_spawn_thread (arg=0x155154c4f218) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#10 0x0000155156e816db in start_thread (arg=0x155157ebd700) at pthread_create.c:463
|
#11 0x000015515627fa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14d3d0101700 (LWP 841222))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000556b2797eae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x0000556b2734dfda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 0x000014d3cfd8019d in free () from /usr/lib/x86_64-linux-gnu/libjemalloc.so.1
|
#5 0x0000556b2724ee15 in MDL_context::release_locks_stored_before (this=this@entry=0x14d3ac412138, duration=duration@entry=MDL_TRANSACTION, sentinel=sentinel@entry=0x0) at /data/10.5_opt/sql/mdl.cc:2872
|
#6 0x0000556b2724f18a in MDL_context::release_transactional_locks (this=this@entry=0x14d3ac412138) at /data/10.5_opt/sql/mdl.cc:3046
|
#7 0x0000556b27155fa9 in mysql_execute_command (thd=thd@entry=0x14d3ac412018) at /data/10.5_opt/sql/sql_parse.cc:5041
|
#8 0x0000556b2715aa2c in mysql_parse (thd=0x14d3ac412018, rawbuf=<optimized out>, length=13, parser_state=0x14d3d0100430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#9 0x0000556b2714fcc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14d3ac412018, packet=packet@entry=0x14d3ac43a019 "UNLOCK TABLES", packet_length=packet_length@entry=13, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#10 0x0000556b2714dfe4 in do_command (thd=0x14d3ac412018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#11 0x0000556b27244ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14d3ccc338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#12 0x0000556b27244f14 in handle_one_connection (arg=arg@entry=0x14d3ccc338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#13 0x0000556b275b8a4a in pfs_spawn_thread (arg=0x14d3ccc4f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#14 0x000014d3cf07a6db in start_thread (arg=0x14d3d0101700) at pthread_create.c:463
|
#15 0x000014d3ce478a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 MDL_lock::incompatible_granted_types_bitmap (this=<optimized out>)
|
at /data/10.5_opt/sql/mdl.cc:549
|
[Current thread is 1 (Thread 0x146e255cd700 (LWP 885713))]
|
(gdb) bt
|
#0 MDL_lock::incompatible_granted_types_bitmap (this=<optimized out>) at /data/10.5_opt/sql/mdl.cc:549
|
#1 MDL_ticket::has_stronger_or_equal_type (this=this@entry=0x146e00844060, type=MDL_SHARED_WRITE) at /data/10.5_opt/sql/mdl.cc:1858
|
#2 0x00005639033892fc in MDL_context::find_ticket (this=this@entry=0x146e00812138, mdl_request=mdl_request@entry=0x146e255ca678, result_duration=result_duration@entry=0x146e255c99fc) at /data/10.5_opt/sql/mdl.cc:1930
|
#3 0x0000563903389f2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x146e00812138, mdl_request=mdl_request@entry=0x146e255ca678, out_ticket=out_ticket@entry=0x146e255c9a98) at /data/10.5_opt/sql/mdl.cc:2029
|
#4 0x000056390338a46e in MDL_context::acquire_lock (this=this@entry=0x146e00812138, mdl_request=mdl_request@entry=0x146e255ca678, lock_wait_timeout=31536000) at /data/10.5_opt/sql/mdl.cc:2248
|
#5 0x000056390322c08c in open_table_get_mdl_lock (mdl_ticket=<synthetic pointer>, flags=2048, mdl_request=0x146e255ca678, ot_ctx=0x146e255ca180, thd=0x146e00812018) at /data/10.5_opt/sql/sql_base.cc:1542
|
#6 open_table (thd=thd@entry=0x146e00812018, table_list=table_list@entry=0x146e255ca230, ot_ctx=ot_ctx@entry=0x146e255ca180) at /data/10.5_opt/sql/sql_base.cc:1803
|
#7 0x000056390322e3b5 in open_ltable (thd=thd@entry=0x146e00812018, table_list=table_list@entry=0x146e255ca230, lock_type=TL_WRITE, lock_flags=lock_flags@entry=2048) at /data/10.5_opt/sql/sql_base.cc:5061
|
#8 0x0000563903234d88 in open_system_table_for_update (thd=thd@entry=0x146e00812018, one_table=one_table@entry=0x146e255ca230) at /data/10.5_opt/sql/sql_base.cc:9048
|
#9 0x00005639035c3010 in open_proc_table_for_update (thd=thd@entry=0x146e00812018) at /data/10.5_opt/sql/sp.cc:534
|
#10 0x00005639035c6516 in sp_drop_db_routines (thd=thd@entry=0x146e00812018, db=db@entry=0x146e008470c0 "test") at /data/10.5_opt/sql/sp.cc:1853
|
#11 0x000056390324feee in mysql_rm_db_internal (thd=0x146e00812018, db=<optimized out>, if_exists=<optimized out>, silent=<optimized out>) at /data/10.5_opt/sql/sql_db.cc:975
|
#12 0x000056390328f5b9 in mysql_execute_command (thd=thd@entry=0x146e00812018) at /data/10.5_opt/sql/sql_parse.cc:5147
|
#13 0x0000563903296a2c in mysql_parse (thd=0x146e00812018, rawbuf=<optimized out>, length=18, parser_state=0x146e255cc430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#14 0x000056390328bcc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146e00812018, packet=packet@entry=0x146e0083a019 "DROP DATABASE test", packet_length=packet_length@entry=18, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#15 0x0000563903289fe4 in do_command (thd=0x146e00812018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#16 0x0000563903380ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x146e224338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#17 0x0000563903380f14 in handle_one_connection (arg=arg@entry=0x146e224338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#18 0x00005639036f4a4a in pfs_spawn_thread (arg=0x146e2244f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#19 0x0000146e245466db in start_thread (arg=0x146e255cd700) at pthread_create.c:463
|
#20 0x0000146e23944a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14e8fc89b700 (LWP 939593))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000564ae1c57ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x0000564ae1626fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 0x0000564ae1471f64 in free_tmp_table (thd=thd@entry=0x14e8d8c12018, entry=0x14e8d8c121b8) at /data/10.5_opt/sql/sql_select.cc:19940
|
#5 0x0000564ae13c752c in close_thread_tables (thd=thd@entry=0x14e8d8c12018) at /data/10.5_opt/sql/sql_base.cc:838
|
#6 0x0000564ae142b3ab in mysql_execute_command (thd=thd@entry=0x14e8d8c12018) at /data/10.5_opt/sql/sql_parse.cc:6018
|
#7 0x0000564ae1433a2c in mysql_parse (thd=0x14e8d8c12018, rawbuf=<optimized out>, length=48, parser_state=0x14e8fc89a430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#8 0x0000564ae1428cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e8d8c12018, packet=packet@entry=0x14e8d8c3a019 "LOCK TABLES performance_schema.setup_actors READ", packet_length=packet_length@entry=48, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#9 0x0000564ae1426fe4 in do_command (thd=0x14e8d8c12018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#10 0x0000564ae151dba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14e8f94338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#11 0x0000564ae151df14 in handle_one_connection (arg=arg@entry=0x14e8f94338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#12 0x0000564ae1891a4a in pfs_spawn_thread (arg=0x14e8f944f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#13 0x000014e8fb8146db in start_thread (arg=0x14e8fc89b700) at pthread_create.c:463
|
#14 0x000014e8fac12a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14df2bf24700 (LWP 985581))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000561d40155ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x0000561d3fb24fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_lock::incompatible_granted_types_bitmap (this=<optimized out>) at /data/10.5_opt/sql/mdl.cc:549
|
#5 MDL_ticket::has_stronger_or_equal_type (this=this@entry=0x14df08444100, type=MDL_SHARED_WRITE) at /data/10.5_opt/sql/mdl.cc:1858
|
#6 0x0000561d3fa242fc in MDL_context::find_ticket (this=this@entry=0x14df08412138, mdl_request=mdl_request@entry=0x14df2bf21678, result_duration=result_duration@entry=0x14df2bf209fc) at /data/10.5_opt/sql/mdl.cc:1930
|
#7 0x0000561d3fa24f2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x14df08412138, mdl_request=mdl_request@entry=0x14df2bf21678, out_ticket=out_ticket@entry=0x14df2bf20a98) at /data/10.5_opt/sql/mdl.cc:2029
|
#8 0x0000561d3fa2546e in MDL_context::acquire_lock (this=this@entry=0x14df08412138, mdl_request=mdl_request@entry=0x14df2bf21678, lock_wait_timeout=31536000) at /data/10.5_opt/sql/mdl.cc:2248
|
#9 0x0000561d3f8c708c in open_table_get_mdl_lock (mdl_ticket=<synthetic pointer>, flags=2048, mdl_request=0x14df2bf21678, ot_ctx=0x14df2bf21180, thd=0x14df08412018) at /data/10.5_opt/sql/sql_base.cc:1542
|
#10 open_table (thd=thd@entry=0x14df08412018, table_list=table_list@entry=0x14df2bf21230, ot_ctx=ot_ctx@entry=0x14df2bf21180) at /data/10.5_opt/sql/sql_base.cc:1803
|
#11 0x0000561d3f8c93b5 in open_ltable (thd=thd@entry=0x14df08412018, table_list=table_list@entry=0x14df2bf21230, lock_type=TL_WRITE, lock_flags=lock_flags@entry=2048) at /data/10.5_opt/sql/sql_base.cc:5061
|
#12 0x0000561d3f8cfd88 in open_system_table_for_update (thd=thd@entry=0x14df08412018, one_table=one_table@entry=0x14df2bf21230) at /data/10.5_opt/sql/sql_base.cc:9048
|
#13 0x0000561d3fc5e010 in open_proc_table_for_update (thd=thd@entry=0x14df08412018) at /data/10.5_opt/sql/sp.cc:534
|
#14 0x0000561d3fc61516 in sp_drop_db_routines (thd=thd@entry=0x14df08412018, db=db@entry=0x14df084470b8 "test") at /data/10.5_opt/sql/sp.cc:1853
|
#15 0x0000561d3f8eaeee in mysql_rm_db_internal (thd=0x14df08412018, db=<optimized out>, if_exists=<optimized out>, silent=<optimized out>) at /data/10.5_opt/sql/sql_db.cc:975
|
#16 0x0000561d3f92a5b9 in mysql_execute_command (thd=thd@entry=0x14df08412018) at /data/10.5_opt/sql/sql_parse.cc:5147
|
#17 0x0000561d3f931a2c in mysql_parse (thd=0x14df08412018, rawbuf=<optimized out>, length=18, parser_state=0x14df2bf23430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#18 0x0000561d3f926cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14df08412018, packet=packet@entry=0x14df0843a019 "DROP DATABASE test", packet_length=packet_length@entry=18, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#19 0x0000561d3f924fe4 in do_command (thd=0x14df08412018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#20 0x0000561d3fa1bba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14df28c338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#21 0x0000561d3fa1bf14 in handle_one_connection (arg=arg@entry=0x14df28c338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#22 0x0000561d3fd8fa4a in pfs_spawn_thread (arg=0x14df28c4f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#23 0x000014df2ae9d6db in start_thread (arg=0x14df2bf24700) at pthread_create.c:463
|
#24 0x000014df2a29ba3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x15297ccb4700 (LWP 1165689))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055992835fae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x0000559927d2efda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_lock::incompatible_granted_types_bitmap (this=<optimized out>) at /data/10.5_opt/sql/mdl.cc:549
|
#5 MDL_ticket::has_stronger_or_equal_type (this=this@entry=0x152958c44060, type=MDL_SHARED_WRITE) at /data/10.5_opt/sql/mdl.cc:1858
|
#6 0x0000559927c2e2fc in MDL_context::find_ticket (this=this@entry=0x152958c12138, mdl_request=mdl_request@entry=0x15297ccb1678, result_duration=result_duration@entry=0x15297ccb09fc) at /data/10.5_opt/sql/mdl.cc:1930
|
#7 0x0000559927c2ef2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x152958c12138, mdl_request=mdl_request@entry=0x15297ccb1678, out_ticket=out_ticket@entry=0x15297ccb0a98) at /data/10.5_opt/sql/mdl.cc:2029
|
#8 0x0000559927c2f46e in MDL_context::acquire_lock (this=this@entry=0x152958c12138, mdl_request=mdl_request@entry=0x15297ccb1678, lock_wait_timeout=31536000) at /data/10.5_opt/sql/mdl.cc:2248
|
#9 0x0000559927ad108c in open_table_get_mdl_lock (mdl_ticket=<synthetic pointer>, flags=2048, mdl_request=0x15297ccb1678, ot_ctx=0x15297ccb1180, thd=0x152958c12018) at /data/10.5_opt/sql/sql_base.cc:1542
|
#10 open_table (thd=thd@entry=0x152958c12018, table_list=table_list@entry=0x15297ccb1230, ot_ctx=ot_ctx@entry=0x15297ccb1180) at /data/10.5_opt/sql/sql_base.cc:1803
|
#11 0x0000559927ad33b5 in open_ltable (thd=thd@entry=0x152958c12018, table_list=table_list@entry=0x15297ccb1230, lock_type=TL_WRITE, lock_flags=lock_flags@entry=2048) at /data/10.5_opt/sql/sql_base.cc:5061
|
#12 0x0000559927ad9d88 in open_system_table_for_update (thd=thd@entry=0x152958c12018, one_table=one_table@entry=0x15297ccb1230) at /data/10.5_opt/sql/sql_base.cc:9048
|
#13 0x0000559927e68010 in open_proc_table_for_update (thd=thd@entry=0x152958c12018) at /data/10.5_opt/sql/sp.cc:534
|
#14 0x0000559927e6b516 in sp_drop_db_routines (thd=thd@entry=0x152958c12018, db=db@entry=0x152958c470c0 "test") at /data/10.5_opt/sql/sp.cc:1853
|
#15 0x0000559927af4eee in mysql_rm_db_internal (thd=0x152958c12018, db=<optimized out>, if_exists=<optimized out>, silent=<optimized out>) at /data/10.5_opt/sql/sql_db.cc:975
|
#16 0x0000559927b345b9 in mysql_execute_command (thd=thd@entry=0x152958c12018) at /data/10.5_opt/sql/sql_parse.cc:5147
|
#17 0x0000559927b3ba2c in mysql_parse (thd=0x152958c12018, rawbuf=<optimized out>, length=18, parser_state=0x15297ccb3430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#18 0x0000559927b30cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x152958c12018, packet=packet@entry=0x152958c3a019 "DROP DATABASE test", packet_length=packet_length@entry=18, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#19 0x0000559927b2efe4 in do_command (thd=0x152958c12018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#20 0x0000559927c25ba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x1529798338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#21 0x0000559927c25f14 in handle_one_connection (arg=arg@entry=0x1529798338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#22 0x0000559927f99a4a in pfs_spawn_thread (arg=0x15297984f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#23 0x000015297bc2d6db in start_thread (arg=0x15297ccb4700) at pthread_create.c:463
|
#24 0x000015297b02ba3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14be7b268700 (LWP 1492258))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005574d22f8ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x00005574d1cc7fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_key::is_equal (rhs=0x14be00000001, this=0x14be570476d8) at /data/10.5_opt/sql/mdl.h:449
|
#5 MDL_context::find_ticket (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, result_duration=result_duration@entry=0x14be7b266d2c) at /data/10.5_opt/sql/mdl.cc:1929
|
#6 0x00005574d1bc7f2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, out_ticket=out_ticket@entry=0x14be7b266dc8) at /data/10.5_opt/sql/mdl.cc:2029
|
#7 0x00005574d1bc846e in MDL_context::acquire_lock (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, lock_wait_timeout=86400) at /data/10.5_opt/sql/mdl.cc:2248
|
#8 0x00005574d1c4eb27 in backup_lock (thd=thd@entry=0x14be57012018, table=table@entry=0x14be57047270) at /data/10.5_opt/sql/backup.cc:383
|
#9 0x00005574d1acd4f8 in mysql_execute_command (thd=thd@entry=0x14be57012018) at /data/10.5_opt/sql/sql_parse.cc:5118
|
#10 0x00005574d1ad4a2c in mysql_parse (thd=0x14be57012018, rawbuf=<optimized out>, length=59, parser_state=0x14be7b267430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#11 0x00005574d1ac9cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14be57012018, packet=packet@entry=0x14be5703a019 "SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t", packet_length=packet_length@entry=59, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#12 0x00005574d1ac7fe4 in do_command (thd=0x14be57012018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#13 0x00005574d1bbeba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14be780338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#14 0x00005574d1bbef14 in handle_one_connection (arg=arg@entry=0x14be780338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#15 0x00005574d1f32a4a in pfs_spawn_thread (arg=0x14be7804f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#16 0x000014be7a1e16db in start_thread (arg=0x14be7b268700) at pthread_create.c:463
|
#17 0x000014be795dfa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14be7b268700 (LWP 1492258))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x00005574d22f8ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x00005574d1cc7fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_key::is_equal (rhs=0x14be00000001, this=0x14be570476d8) at /data/10.5_opt/sql/mdl.h:449
|
#5 MDL_context::find_ticket (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, result_duration=result_duration@entry=0x14be7b266d2c) at /data/10.5_opt/sql/mdl.cc:1929
|
#6 0x00005574d1bc7f2b in MDL_context::try_acquire_lock_impl (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, out_ticket=out_ticket@entry=0x14be7b266dc8) at /data/10.5_opt/sql/mdl.cc:2029
|
#7 0x00005574d1bc846e in MDL_context::acquire_lock (this=this@entry=0x14be57012138, mdl_request=mdl_request@entry=0x14be570476b8, lock_wait_timeout=86400) at /data/10.5_opt/sql/mdl.cc:2248
|
#8 0x00005574d1c4eb27 in backup_lock (thd=thd@entry=0x14be57012018, table=table@entry=0x14be57047270) at /data/10.5_opt/sql/backup.cc:383
|
#9 0x00005574d1acd4f8 in mysql_execute_command (thd=thd@entry=0x14be57012018) at /data/10.5_opt/sql/sql_parse.cc:5118
|
#10 0x00005574d1ad4a2c in mysql_parse (thd=0x14be57012018, rawbuf=<optimized out>, length=59, parser_state=0x14be7b267430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#11 0x00005574d1ac9cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14be57012018, packet=packet@entry=0x14be5703a019 "SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t", packet_length=packet_length@entry=59, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#12 0x00005574d1ac7fe4 in do_command (thd=0x14be57012018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#13 0x00005574d1bbeba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14be780338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#14 0x00005574d1bbef14 in handle_one_connection (arg=arg@entry=0x14be780338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#15 0x00005574d1f32a4a in pfs_spawn_thread (arg=0x14be7804f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#16 0x000014be7a1e16db in start_thread (arg=0x14be7b268700) at pthread_create.c:463
|
#17 0x000014be795dfa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14e0dbe98700 (LWP 1529635))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000563de7f45ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x0000563de7914fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 MDL_key::is_equal (rhs=0x1, this=0x14e0dbe95fc0) at /data/10.5_opt/sql/mdl.h:449
|
#5 MDL_context::find_ticket (this=this@entry=0x14e0b7012138, mdl_request=mdl_request@entry=0x14e0dbe95fa0, result_duration=result_duration@entry=0x14e0dbe95f9c) at /data/10.5_opt/sql/mdl.cc:1929
|
#6 0x0000563de7814adb in MDL_context::is_lock_owner (this=this@entry=0x14e0b7012138, mdl_namespace=mdl_namespace@entry=MDL_key::TABLE, db=<optimized out>, name=<optimized out>, mdl_type=mdl_type@entry=MDL_SHARED) at /data/10.5_opt/sql/mdl.cc:2968
|
#7 0x0000563de76b68fc in is_locked_view (thd=0x14e0b7012018, t=0x14e0b7047110) at /data/10.5_opt/sql/sql_base.cc:1586
|
#8 0x0000563de76b73a3 in open_table (thd=thd@entry=0x14e0b7012018, table_list=table_list@entry=0x14e0b7047110, ot_ctx=ot_ctx@entry=0x14e0dbe96870) at /data/10.5_opt/sql/sql_base.cc:1779
|
#9 0x0000563de76ba913 in open_and_process_table (ot_ctx=0x14e0dbe96870, has_prelocking_list=false, prelocking_strategy=0x14e0dbe96c20, flags=0, counter=0x14e0dbe96adc, tables=0x14e0b7047110, thd=0x14e0b7012018) at /data/10.5_opt/sql/sql_base.cc:3784
|
#10 open_tables (thd=thd@entry=0x14e0b7012018, options=@0x14e0b70174b0: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x14e0dbe96ac8, counter=counter@entry=0x14e0dbe96adc, flags=flags@entry=0, prelocking_strategy=0x14e0dbe96c20) at /data/10.5_opt/sql/sql_base.cc:4256
|
#11 0x0000563de76bb515 in open_and_lock_tables (thd=thd@entry=0x14e0b7012018, options=<optimized out>, tables=<optimized out>, tables@entry=0x14e0b7047110, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=<optimized out>) at /data/10.5_opt/sql/sql_base.cc:5160
|
#12 0x0000563de76ec2b7 in open_and_lock_tables (flags=<optimized out>, derived=<optimized out>, tables=<optimized out>, thd=<optimized out>) at /data/10.5_opt/sql/sql_base.h:509
|
#13 open_and_lock_for_insert_delayed (table_list=<optimized out>, thd=<optimized out>) at /data/10.5_opt/sql/sql_insert.cc:626
|
#14 mysql_insert (thd=thd@entry=0x14e0b7012018, table_list=0x14e0b7047110, fields=@0x14e0b7016ea0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x563de8ab2090 <end_of_list>, last = 0x14e0b7016ea0, elements = 0}, <No data fields>}, values_list=@0x14e0b7016ee8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14e0b7047d20, last = 0x14e0b7047d20, elements = 1}, <No data fields>}, update_fields=@0x14e0b7016ed0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x563de8ab2090 <end_of_list>, last = 0x14e0b7016ed0, elements = 0}, <No data fields>}, update_values=@0x14e0b7016eb8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x563de8ab2090 <end_of_list>, last = 0x14e0b7016eb8, elements = 0}, <No data fields>}, duplic=<optimized out>, ignore=<optimized out>, result=<optimized out>) at /data/10.5_opt/sql/sql_insert.cc:750
|
#15 0x0000563de771b112 in mysql_execute_command (thd=thd@entry=0x14e0b7012018) at /data/10.5_opt/sql/sql_parse.cc:4546
|
#16 0x0000563de7721a2c in mysql_parse (thd=0x14e0b7012018, rawbuf=<optimized out>, length=25, parser_state=0x14e0dbe97430, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.5_opt/sql/sql_parse.cc:7994
|
#17 0x0000563de7716cc5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e0b7012018, packet=packet@entry=0x14e0b703a019 "INSERT INTO t2 VALUES (1)", packet_length=packet_length@entry=25, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.5_opt/sql/sql_parse.cc:1867
|
#18 0x0000563de7714fe4 in do_command (thd=0x14e0b7012018) at /data/10.5_opt/sql/sql_parse.cc:1348
|
#19 0x0000563de780bba1 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14e0d8c338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1410
|
#20 0x0000563de780bf14 in handle_one_connection (arg=arg@entry=0x14e0d8c338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#21 0x0000563de7b7fa4a in pfs_spawn_thread (arg=0x14e0d8c4f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#22 0x000014e0dae116db in start_thread (arg=0x14e0dbe98700) at pthread_create.c:463
|
#23 0x000014e0da20fa3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Optimized) |
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14f367eaa700 (LWP 1713189))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055a914154ae7 in my_write_core (sig=sig@entry=11) at /data/10.5_opt/mysys/stacktrace.c:424
|
#2 0x000055a913b23fda in handle_fatal_signal (sig=11) at /data/10.5_opt/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 0x000014f367b2919d in free () from /usr/lib/x86_64-linux-gnu/libjemalloc.so.1
|
#5 0x000055a913a24e15 in MDL_context::release_locks_stored_before (this=this@entry=0x14f344012138, duration=duration@entry=MDL_TRANSACTION, sentinel=sentinel@entry=0x0) at /data/10.5_opt/sql/mdl.cc:2872
|
#6 0x000055a913a2518a in MDL_context::release_transactional_locks (this=this@entry=0x14f344012138) at /data/10.5_opt/sql/mdl.cc:3046
|
#7 0x000055a9138dca48 in THD::cleanup (this=this@entry=0x14f344012018) at /data/10.5_opt/sql/sql_class.cc:1567
|
#8 0x000055a913862805 in unlink_thd (thd=0x14f344012018) at /data/10.5_opt/sql/mysqld.cc:2604
|
#9 0x000055a913a1a867 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14f364c338f8, put_in_cache=put_in_cache@entry=true) at /data/10.5_opt/sql/sql_connect.cc:1421
|
#10 0x000055a913a1af14 in handle_one_connection (arg=arg@entry=0x14f364c338f8) at /data/10.5_opt/sql/sql_connect.cc:1312
|
#11 0x000055a913d8ea4a in pfs_spawn_thread (arg=0x14f364c4f018) at /data/10.5_opt/storage/perfschema/pfs.cc:2201
|
#12 0x000014f366e236db in start_thread (arg=0x14f367eaa700) at pthread_create.c:463
|
#13 0x000014f366221a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
You can also change the Aria engine selection in the last line to InnoDB and crashes will continue to happen in various locations, and some seem to differ (though it is hard to tell as many different stacks are hit). The stacks are included above.
I gave up on running the testcase as nearly 50% of executions gave new stacks.
Looks like some memory corruption causes this to go in all sorts of directions (and notice the 'free' stack), or similar situation, but all crashes seem related to locking. Quite a serious bug it looks like.
Updated the pull request according to the suggestions from the review.
Review of patch and minor edits to the patch
Patch by Rinat Ibragimov <ri@tempesta-tech.com> pushed to 10.4 tree
Note to self, also test (Inc 10.6 opt) with:
BACKUP LOCK fake.t;
|
CREATE TABLE t (c INT);
|
LOCK TABLES t READ;
|
UNLOCK TABLES;
|
BACKUP LOCK fake.t;
|
rinat.ibragimov the pull request still shows as open? https://github.com/MariaDB/server/pull/1541
Roel, the patch from the pull request was pushed into 10.4, as 709ba7dcae. There were apparently some differences made though, and that's why Github doesn't think that it's the same patch.
Should I close the pull request?
Non-debug version of the failure:
10.4 9afbb106
#3 <signal handler called>
#4 MDL_lock::hog_lock_types_bitmap (this=0x7ff7d0077798) at /data/src/10.4/sql/mdl.cc:580
#5 MDL_lock::reschedule_waiters (this=this@entry=0x7ff7d0077798) at /data/src/10.4/sql/mdl.cc:1293
#6 0x0000560e7c9b492e in MDL_lock::remove_ticket (this=0x7ff7d0077798, pins=0x560e7fc0d580, list=list@entry=&MDL_lock::m_granted, ticket=ticket@entry=0x7ff7d007e0a0) at /data/src/10.4/sql/mdl.cc:1830
#7 0x0000560e7c9b49cc in MDL_context::release_lock (this=<optimized out>, duration=<optimized out>, ticket=0x7ff7d007e0a0) at /data/src/10.4/sql/mdl.cc:2817
#8 0x0000560e7c9b49fd in MDL_context::release_lock (this=<optimized out>, ticket=<optimized out>) at /data/src/10.4/sql/mdl.cc:2837
#9 0x0000560e7ca4f07c in backup_unlock (thd=thd@entry=0x7ff7d00009a8) at /data/src/10.4/sql/backup.cc:388
#10 0x0000560e7c8d72c2 in mysql_execute_command (thd=thd@entry=0x7ff7d00009a8) at /data/src/10.4/sql/sql_parse.cc:5046
#11 0x0000560e7c8d8df9 in mysql_parse (thd=thd@entry=0x7ff7d00009a8, rawbuf=<optimized out>, length=13, parser_state=parser_state@entry=0x7ff7e08501b0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:7912
#12 0x0000560e7c8db208 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7ff7d00009a8, packet=packet@entry=0x7ff7d00079b9 "BACKUP UNLOCK", packet_length=packet_length@entry=13, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:1841
#13 0x0000560e7c8dc999 in do_command (thd=0x7ff7d00009a8) at /data/src/10.4/sql/sql_parse.cc:1359
#14 0x0000560e7c9abb94 in do_handle_one_connection (connect=connect@entry=0x560e7fce1268) at /data/src/10.4/sql/sql_connect.cc:1412
#15 0x0000560e7c9abc44 in handle_one_connection (arg=arg@entry=0x560e7fce1268) at /data/src/10.4/sql/sql_connect.cc:1316
#16 0x0000560e7cf58d44 in pfs_spawn_thread (arg=0x560e7fc58548) at /data/src/10.4/storage/perfschema/pfs.cc:1862
#17 0x00007ff7e81f64a4 in start_thread (arg=0x7ff7e0851700) at pthread_create.c:456
#18 0x00007ff7e673dd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97