Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-29214

ASAN errors in federatedx_txn::txn_commit (or txn_rollback), assertion `server->io_count == 0' failure

Details

    Description

      INSTALL SONAME 'ha_federatedx';
      eval CREATE SERVER fedlink FOREIGN DATA WRAPPER mysql OPTIONS (USER 'root', HOST '127.0.0.1', DATABASE 'test', PORT $MASTER_MYPORT);
      CREATE TABLE t (a INT);
      CREATE TABLE t_fed ENGINE=FEDERATED CONNECTION='fedlink/t';
       
      --connect (con1,localhost,root,,test)
      START TRANSACTION;
      INSERT INTO t_fed VALUES (1);
      --connection default
      FLUSH TABLES;
       
      # Cleanup
      --connection con1
      COMMIT;
      --disconnect con1
      --connection default
      DROP TABLE t_fed, t;
      UNINSTALL SONAME 'ha_federatedx';
      

      10.3 25219920 debug

      mysqld: /data/src/10.3/storage/federatedx/ha_federatedx.cc:1679: int free_server(federatedx_txn*, FEDERATEDX_SERVER*): Assertion `server->io_count == 0' failed.
      220730 15:51:00 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fabae0e4662 in __GI___assert_fail (assertion=0x7faba80b8cb0 "server->io_count == 0", file=0x7faba80b8520 "/data/src/10.3/storage/federatedx/ha_federatedx.cc", line=1679, function=0x7faba80b8cc8 "int free_server(federatedx_txn*, FEDERATEDX_SERVER*)") at assert.c:101
      #8  0x00007faba80ab1c5 in free_server (txn=0x7faba80c1380 <zero_txn>, server=0x7fab8c02a2d0) at /data/src/10.3/storage/federatedx/ha_federatedx.cc:1679
      #9  0x00007faba80ab3f5 in free_share (txn=0x7faba80c1380 <zero_txn>, share=0x7fab8c029fc8) at /data/src/10.3/storage/federatedx/ha_federatedx.cc:1716
      #10 0x00007faba80aba28 in ha_federatedx::close (this=0x7fab8c027528) at /data/src/10.3/storage/federatedx/ha_federatedx.cc:1846
      #11 0x000055e22805b324 in handler::ha_close (this=0x7fab8c027528) at /data/src/10.3/sql/handler.cc:2844
      #12 0x000055e227e57823 in closefrm (table=0x7fab8c00bb70) at /data/src/10.3/sql/table.cc:3790
      #13 0x000055e227f7a5fa in intern_close_table (table=0x7fab8c00bb70) at /data/src/10.3/sql/table_cache.cc:222
      #14 0x000055e227f7aa68 in tc_purge (mark_flushed=true) at /data/src/10.3/sql/table_cache.cc:335
      #15 0x000055e227c95f52 in close_cached_tables (thd=0x7fab98000d90, tables=0x0, wait_for_refresh=true, timeout=86400) at /data/src/10.3/sql/sql_base.cc:377
      #16 0x000055e227ee2e60 in reload_acl_and_cache (thd=0x7fab98000d90, options=4, tables=0x0, write_to_binlog=0x7faba810afb0) at /data/src/10.3/sql/sql_reload.cc:337
      #17 0x000055e227d384a9 in mysql_execute_command (thd=0x7fab98000d90) at /data/src/10.3/sql/sql_parse.cc:5418
      #18 0x000055e227d401d6 in mysql_parse (thd=0x7fab98000d90, rawbuf=0x7fab98012ad8 "FLUSH TABLES", length=12, parser_state=0x7faba810b5b0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7871
      #19 0x000055e227d2ca0b in dispatch_command (command=COM_QUERY, thd=0x7fab98000d90, packet=0x7fab98008f31 "FLUSH TABLES", packet_length=12, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
      #20 0x000055e227d2b3c9 in do_command (thd=0x7fab98000d90) at /data/src/10.3/sql/sql_parse.cc:1398
      #21 0x000055e227ea8a14 in do_handle_one_connection (connect=0x55e22acc5170) at /data/src/10.3/sql/sql_connect.cc:1403
      #22 0x000055e227ea877f in handle_one_connection (arg=0x55e22acc5170) at /data/src/10.3/sql/sql_connect.cc:1308
      #23 0x000055e228858e1e in pfs_spawn_thread (arg=0x55e22adc5a40) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #24 0x00007fabae27dea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #25 0x00007fabae1addef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.3 25219920 non-debug ASAN

      ==1733654==ERROR: AddressSanitizer: heap-use-after-free on address 0x621000070a68 at pc 0x7fd1396bbad4 bp 0x7fd13968e7c0 sp 0x7fd13968e7b8
      READ of size 1 at 0x621000070a68 thread T6
          #0 0x7fd1396bbad3 in federatedx_txn::txn_commit() /data/src/10.3/storage/federatedx/federatedx_txn.cc:238
          #1 0x7fd1396bbad3 in federatedx_txn::txn_commit() /data/src/10.3/storage/federatedx/federatedx_txn.cc:224
          #2 0x55aa9f30491e in commit_one_phase_2 /data/src/10.3/sql/handler.cc:1658
          #3 0x55aa9f308e1a in ha_commit_trans(THD*, bool) /data/src/10.3/sql/handler.cc:1500
          #4 0x55aa9f01efca in trans_commit(THD*) /data/src/10.3/sql/transaction.cc:293
          #5 0x55aa9ecc01aa in mysql_execute_command(THD*) /data/src/10.3/sql/sql_parse.cc:5577
          #6 0x55aa9eccab37 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.3/sql/sql_parse.cc:7871
          #7 0x55aa9eccf679 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.3/sql/sql_parse.cc:1852
          #8 0x55aa9ecd541d in do_command(THD*) /data/src/10.3/sql/sql_parse.cc:1398
          #9 0x55aa9eff3506 in do_handle_one_connection(CONNECT*) /data/src/10.3/sql/sql_connect.cc:1403
          #10 0x55aa9eff3d6a in handle_one_connection /data/src/10.3/sql/sql_connect.cc:1308
          #11 0x55aaa023a7a4 in pfs_spawn_thread /data/src/10.3/storage/perfschema/pfs.cc:1869
          #12 0x7fd1442b3ea6 in start_thread nptl/pthread_create.c:477
          #13 0x7fd1441e3dee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xfddee)
       
      0x621000070a68 is located 360 bytes inside of 4128-byte region [0x621000070900,0x621000071920)
      freed by thread T5 here:
          #0 0x7fd144b55b6f in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:123
          #1 0x55aaa02f882d in free_root /data/src/10.3/mysys/my_alloc.c:430
          #2 0x7fd1396a45fe in free_server /data/src/10.3/storage/federatedx/ha_federatedx.cc:1683
          #3 0x7fd1396a4af3 in free_share /data/src/10.3/storage/federatedx/ha_federatedx.cc:1716
          #4 0x7fd1396b0977 in ha_federatedx::close() /data/src/10.3/storage/federatedx/ha_federatedx.cc:1846
          #5 0x55aa9ef418c0 in closefrm(TABLE*) /data/src/10.3/sql/table.cc:3790
          #6 0x55aa9f1b7697 in intern_close_table /data/src/10.3/sql/table_cache.cc:222
          #7 0x55aa9f1b7697 in tc_purge(bool) /data/src/10.3/sql/table_cache.cc:335
          #8 0x55aa9eb74dee in close_cached_tables(THD*, TABLE_LIST*, bool, unsigned long) /data/src/10.3/sql/sql_base.cc:377
          #9 0x55aa9f049958 in reload_acl_and_cache(THD*, unsigned long long, TABLE_LIST*, int*) /data/src/10.3/sql/sql_reload.cc:337
          #10 0x55aa9ecbbc78 in mysql_execute_command(THD*) /data/src/10.3/sql/sql_parse.cc:5418
          #11 0x55aa9eccab37 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.3/sql/sql_parse.cc:7871
          #12 0x55aa9eccf679 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.3/sql/sql_parse.cc:1852
          #13 0x55aa9ecd541d in do_command(THD*) /data/src/10.3/sql/sql_parse.cc:1398
          #14 0x55aa9eff3506 in do_handle_one_connection(CONNECT*) /data/src/10.3/sql/sql_connect.cc:1403
          #15 0x55aa9eff3d6a in handle_one_connection /data/src/10.3/sql/sql_connect.cc:1308
          #16 0x55aaa023a7a4 in pfs_spawn_thread /data/src/10.3/storage/perfschema/pfs.cc:1869
          #17 0x7fd1442b3ea6 in start_thread nptl/pthread_create.c:477
       
      previously allocated by thread T6 here:
          #0 0x7fd144b55e8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
          #1 0x55aaa030bb12 in my_malloc /data/src/10.3/mysys/my_malloc.c:101
          #2 0x55aaa02f78ba in init_alloc_root /data/src/10.3/mysys/my_alloc.c:82
          #3 0x7fd1396a8458 in get_server /data/src/10.3/storage/federatedx/ha_federatedx.cc:1532
          #4 0x7fd1396ab7a9 in get_share /data/src/10.3/storage/federatedx/ha_federatedx.cc:1637
          #5 0x7fd1396aeeaf in ha_federatedx::open(char const*, int, unsigned int) /data/src/10.3/storage/federatedx/ha_federatedx.cc:1772
          #6 0x55aa9f30d35f in handler::ha_open(TABLE*, char const*, int, unsigned int, st_mem_root*, List<String>*) /data/src/10.3/sql/handler.cc:2778
          #7 0x55aa9ef64844 in open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) /data/src/10.3/sql/table.cc:3690
          #8 0x55aa9eb72e7f in open_table(THD*, TABLE_LIST*, Open_table_context*) /data/src/10.3/sql/sql_base.cc:2004
          #9 0x55aa9eb7bfa9 in open_and_process_table /data/src/10.3/sql/sql_base.cc:3731
          #10 0x55aa9eb7bfa9 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /data/src/10.3/sql/sql_base.cc:4206
          #11 0x55aa9eb7dc8e in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /data/src/10.3/sql/sql_base.cc:5146
          #12 0x55aa9ec21a42 in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /data/src/10.3/sql/sql_base.h:503
          #13 0x55aa9ec21a42 in mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool) /data/src/10.3/sql/sql_insert.cc:760
          #14 0x55aa9ecbb72e in mysql_execute_command(THD*) /data/src/10.3/sql/sql_parse.cc:4505
          #15 0x55aa9eccab37 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.3/sql/sql_parse.cc:7871
          #16 0x55aa9eccf679 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.3/sql/sql_parse.cc:1852
          #17 0x55aa9ecd541d in do_command(THD*) /data/src/10.3/sql/sql_parse.cc:1398
          #18 0x55aa9eff3506 in do_handle_one_connection(CONNECT*) /data/src/10.3/sql/sql_connect.cc:1403
          #19 0x55aa9eff3d6a in handle_one_connection /data/src/10.3/sql/sql_connect.cc:1308
          #20 0x55aaa023a7a4 in pfs_spawn_thread /data/src/10.3/storage/perfschema/pfs.cc:1869
          #21 0x7fd1442b3ea6 in start_thread nptl/pthread_create.c:477
       
      Thread T6 created by T0 here:
          #0 0x7fd144b012a2 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:214
          #1 0x55aaa023edfa in spawn_thread_v1 /data/src/10.3/storage/perfschema/pfs.cc:1919
          #2 0x55aa9ea61f1b in inline_mysql_thread_create /data/src/10.3/include/mysql/psi/mysql_thread.h:1275
          #3 0x55aa9ea61f1b in create_thread_to_handle_connection(CONNECT*) /data/src/10.3/sql/mysqld.cc:6668
          #4 0x55aa9ea7222d in create_new_thread /data/src/10.3/sql/mysqld.cc:6738
          #5 0x55aa9ea7222d in handle_connections_sockets() /data/src/10.3/sql/mysqld.cc:6996
          #6 0x55aa9ea741d5 in mysqld_main(int, char**) /data/src/10.3/sql/mysqld.cc:6290
          #7 0x7fd14410cd09 in __libc_start_main ../csu/libc-start.c:308
       
      Thread T5 created by T0 here:
          #0 0x7fd144b012a2 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:214
          #1 0x55aaa023edfa in spawn_thread_v1 /data/src/10.3/storage/perfschema/pfs.cc:1919
          #2 0x55aa9ea61f1b in inline_mysql_thread_create /data/src/10.3/include/mysql/psi/mysql_thread.h:1275
          #3 0x55aa9ea61f1b in create_thread_to_handle_connection(CONNECT*) /data/src/10.3/sql/mysqld.cc:6668
          #4 0x55aa9ea7222d in create_new_thread /data/src/10.3/sql/mysqld.cc:6738
          #5 0x55aa9ea7222d in handle_connections_sockets() /data/src/10.3/sql/mysqld.cc:6996
          #6 0x55aa9ea741d5 in mysqld_main(int, char**) /data/src/10.3/sql/mysqld.cc:6290
          #7 0x7fd14410cd09 in __libc_start_main ../csu/libc-start.c:308
       
      SUMMARY: AddressSanitizer: heap-use-after-free /data/src/10.3/storage/federatedx/federatedx_txn.cc:238 in federatedx_txn::txn_commit()
      Shadow bytes around the buggy address:
        0x0c42800060f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280006100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280006110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
        0x0c4280006120: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c4280006130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      =>0x0c4280006140: fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd
        0x0c4280006150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c4280006160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c4280006170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c4280006180: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
        0x0c4280006190: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
      Shadow byte legend (one shadow byte represents 8 application bytes):
        Addressable:           00
        Partially addressable: 01 02 03 04 05 06 07 
        Heap left redzone:       fa
        Freed heap region:       fd
        Stack left redzone:      f1
        Stack mid redzone:       f2
        Stack right redzone:     f3
        Stack after return:      f5
        Stack use after scope:   f8
        Global redzone:          f9
        Global init order:       f6
        Poisoned by user:        f7
        Container overflow:      fc
        Array cookie:            ac
        Intra object redzone:    bb
        ASan internal:           fe
        Left alloca redzone:     ca
        Right alloca redzone:    cb
        Shadow gap:              cc
      ==1733654==ABORTING
      

      Or, with ROLLBACK instead of COMMIT,

      READ of size 8 at 0x621000070a40 thread T6
          #0 0x7f5f6821acb8 in federatedx_txn::txn_rollback() /data/src/10.3/storage/federatedx/federatedx_txn.cc:270
          #1 0x7f5f6821acb8 in federatedx_txn::txn_rollback() /data/src/10.3/storage/federatedx/federatedx_txn.cc:258
          #2 0x55c03ff4b002 in ha_rollback_trans(THD*, bool) /data/src/10.3/sql/handler.cc:1765
          #3 0x55c03fc62704 in trans_rollback(THD*) /data/src/10.3/sql/transaction.cc:409
          #4 0x55c03fc62704 in trans_rollback(THD*) /data/src/10.3/sql/transaction.cc:393
          #5 0x55c03f901d2c in mysql_execute_command(THD*) /data/src/10.3/sql/sql_parse.cc:5628
          #6 0x55c03f90db37 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.3/sql/sql_parse.cc:7871
          #7 0x55c03f912679 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.3/sql/sql_parse.cc:1852
          #8 0x55c03f91841d in do_command(THD*) /data/src/10.3/sql/sql_parse.cc:1398
          #9 0x55c03fc36506 in do_handle_one_connection(CONNECT*) /data/src/10.3/sql/sql_connect.cc:1403
          #10 0x55c03fc36d6a in handle_one_connection /data/src/10.3/sql/sql_connect.cc:1308
          #11 0x55c040e7d7a4 in pfs_spawn_thread /data/src/10.3/storage/perfschema/pfs.cc:1869
          #12 0x7f5f72e16ea6 in start_thread nptl/pthread_create.c:477
          #13 0x7f5f72d46dee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xfddee)
      

      Non-ASAN non-debug build throws "Memory not freed" warnings.

      The failure is not limited to having federated and underlying on the same server, it also happens with separate local and remote servers.

      Attachments

        Issue Links

          Activity

            Roel Roel Van de Paar added a comment - - edited

            Additional testcase

            --source include/have_innodb.inc
            --let $SOCKET=`SELECT @@global.socket`
            SET sql_mode='', GLOBAL table_open_cache=1;
            INSTALL SONAME 'ha_federatedx.so';
            CREATE USER federatedx@localhost IDENTIFIED BY 'a';
            GRANT ALL ON test.* TO federatedx@localhost;
            eval CREATE SERVER srv FOREIGN DATA WRAPPER MYSQL OPTIONS (SOCKET "$SOCKET",DATABASE 'test',user 'federatedx',PASSWORD'a');
            CREATE TABLE t1 (c INT) ENGINE=InnoDB;
            CREATE TABLE t2 (c INT) ENGINE=InnoDB;
            CREATE TABLE t3 CONNECTION='srv/t2' ENGINE=FEDERATED;
            INSERT INTO t1 (c) VALUES (0);
            XA START 0x1;
            SELECT * FROM mysql.roles_mapping;
            INSERT INTO t3 VALUES();
            --error 1054
            UPDATE t2 SET a=0;
            SELECT * FROM mysql.roles_mapping;
            --error 1305
            SELECT a();
            HANDLER t1 OPEN;
            INSERT INTO t1 SELECT * FROM t1;
            DELETE FROM mysql.tables_priv;
            

            10.11.2 8283948846740a22f96bbe7bccf250708406d5d9

            Core was generated by `/test/MD171122-mariadb-10.11.2-linux-x86_64-dbg/bin/mariadbd --defaults-group-s'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
            [Current thread is 1 (Thread 0x153774346700 (LWP 3763357))]
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            #1  0x00001537778a3859 in __GI_abort () at abort.c:79
            #2  0x00001537778a3729 in __assert_fail_base (fmt=0x153777a39588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x1537742f291e "server->io_count == 0", file=0x1537742f2068 "/test/10.11_dbg/storage/federatedx/ha_federatedx.cc", line=1695, function=<optimized out>) at assert.c:92
            #3  0x00001537778b4fd6 in __GI___assert_fail (assertion=assertion@entry=0x1537742f291e "server->io_count == 0", file=file@entry=0x1537742f2068 "/test/10.11_dbg/storage/federatedx/ha_federatedx.cc", line=line@entry=1695, function=function@entry=0x1537742f20a0 "int free_server(federatedx_txn*, FEDERATEDX_SERVER*)") at assert.c:101
            #4  0x00001537742e1e17 in free_server (txn=txn@entry=0x1537742fb280 <zero_txn>, server=server@entry=0x15373815ecd8) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1695
            #5  0x00001537742e1ef4 in free_share (txn=0x1537742fb280 <zero_txn>, share=0x153738197200) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1732
            #6  0x00001537742e6a8f in ha_federatedx::close (this=0x15373816c020) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1866
            #7  0x0000562cae294a2a in handler::ha_close (this=0x15373816c020) at /test/10.11_dbg/sql/handler.cc:3400
            #8  0x0000562cae0c4a88 in closefrm (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table.cc:4538
            #9  0x0000562cae1eb3d0 in intern_close_table (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table_cache.cc:225
            #10 0x0000562cae1eb4c3 in tc_remove_table (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table_cache.cc:263
            #11 0x0000562cae1eb655 in tc_add_table (thd=thd@entry=0x153738000d48, table=0x562cb15fdf28) at /test/10.11_dbg/sql/table_cache.cc:363
            #12 0x0000562cadf30057 in open_table (thd=thd@entry=0x153738000d48, table_list=table_list@entry=0x153774341d60, ot_ctx=ot_ctx@entry=0x153774340be0) at /test/10.11_dbg/sql/sql_base.cc:2209
            #13 0x0000562cadf3453e in open_and_process_table (ot_ctx=0x153774340be0, has_prelocking_list=false, prelocking_strategy=0x153774340cc8, flags=133122, counter=0x153774340c7c, tables=0x153774341d60, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.cc:4108
            #14 open_tables (thd=thd@entry=0x153738000d48, options=..., start=start@entry=0x153774340c68, counter=counter@entry=0x153774340c7c, flags=flags@entry=133122, prelocking_strategy=prelocking_strategy@entry=0x153774340cc8) at /test/10.11_dbg/sql/sql_base.cc:4595
            #15 0x0000562cadf35467 in open_and_lock_tables (thd=thd@entry=0x153738000d48, options=..., tables=<optimized out>, tables@entry=0x153774340f30, derived=derived@entry=false, flags=133122, prelocking_strategy=prelocking_strategy@entry=0x153774340cc8) at /test/10.11_dbg/sql/sql_base.cc:5569
            #16 0x0000562cadf3ae0b in open_and_lock_tables (flags=<optimized out>, derived=false, tables=0x153774340f30, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.h:510
            #17 open_system_tables_for_read (thd=thd@entry=0x153738000d48, table_list=table_list@entry=0x153774340f30) at /test/10.11_dbg/sql/sql_base.cc:9487
            #18 0x0000562cae06cbdf in open_stat_tables (thd=thd@entry=0x153738000d48, tables=tables@entry=0x153774340f30, for_write=for_write@entry=false) at /test/10.11_dbg/sql/sql_statistics.cc:250
            #19 0x0000562cae0736b8 in read_statistics_for_tables (thd=0x153738000d48, tables=0x153738014418) at /test/10.11_dbg/sql/sql_statistics.cc:3317
            #20 0x0000562cae074c5f in read_statistics_for_tables_if_needed (thd=thd@entry=0x153738000d48, tables=<optimized out>) at /test/10.11_dbg/sql/sql_statistics.cc:3244
            #21 0x0000562cadf35556 in open_and_lock_tables (thd=thd@entry=0x153738000d48, options=..., tables=<optimized out>, tables@entry=0x153738014418, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x1537743444d0) at /test/10.11_dbg/sql/sql_base.cc:5583
            #22 0x0000562cadf5f665 in open_and_lock_tables (flags=0, derived=true, tables=0x153738014418, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.h:510
            #23 mysql_delete (thd=thd@entry=0x153738000d48, table_list=0x153738014418, conds=<optimized out>, order_list=order_list@entry=0x153738005aa0, limit=18446744073709551615, options=0, result=0x0) at /test/10.11_dbg/sql/sql_delete.cc:341
            #24 0x0000562cadfb9719 in mysql_execute_command (thd=thd@entry=0x153738000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.11_dbg/sql/sql_limit.h:85
            #25 0x0000562cadfa5606 in mysql_parse (thd=thd@entry=0x153738000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x153774345300) at /test/10.11_dbg/sql/sql_parse.cc:7998
            #26 0x0000562cadfb2b41 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x153738000d48, packet=packet@entry=0x15373800ae99 "DELETE FROM mysql.tables_priv", packet_length=packet_length@entry=29, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_class.h:1346
            #27 0x0000562cadfb4f7f in do_command (thd=0x153738000d48, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_parse.cc:1407
            #28 0x0000562cae10f763 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x562cb165b538, put_in_cache=put_in_cache@entry=true) at /test/10.11_dbg/sql/sql_connect.cc:1416
            #29 0x0000562cae10fc32 in handle_one_connection (arg=0x562cb165b538) at /test/10.11_dbg/sql/sql_connect.cc:1318
            #30 0x0000153777db4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
            #31 0x00001537779a0133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            10.11.0 fe1f8f2c6b6f3b8e3383168225f9ae7853028947

            ==4105417==ERROR: AddressSanitizer: heap-use-after-free on address 0x6210001132a0 at pc 0x151c68d0b5ff bp 0x151c68fb05c0 sp 0x151c68fb05b0
            READ of size 8 at 0x6210001132a0 thread T14
                #0 0x151c68d0b5fe in federatedx_txn::txn_rollback() /test/10.11_opt_san/storage/federatedx/federatedx_txn.cc:270
                #1 0x55b5f3be7b2d in ha_rollback_trans(THD*, bool) /test/10.11_opt_san/sql/handler.cc:2180
                #2 0x55b5f36b8574 in xa_trans_force_rollback(THD*) /test/10.11_opt_san/sql/xa.cc:393
                #3 0x55b5f23f47d3 in THD::cleanup() /test/10.11_opt_san/sql/sql_class.cc:1529
                #4 0x55b5f1f02084 in unlink_thd(THD*) /test/10.11_opt_san/sql/mysqld.cc:2752
                #5 0x55b5f302763b in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1429
                #6 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312
                #7 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477
                #8 0x151c72212132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)
             
            0x6210001132a0 is located 416 bytes inside of 4112-byte region [0x621000113100,0x621000114110)
            freed by thread T14 here:
                #0 0x55b5f1eb360f in __interceptor_free (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x79c360f)
                #1 0x55b5f63810cb in root_free /test/10.11_opt_san/mysys/my_alloc.c:78
                #2 0x55b5f63810cb in free_root /test/10.11_opt_san/mysys/my_alloc.c:501
                #3 0x151c68ccb4b2 in free_server /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1698
                #4 0x151c68cecb7b in free_share /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1731
                #5 0x151c68cecb7b in ha_federatedx::close() /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1865
                #6 0x55b5f2e738b8 in closefrm(TABLE*) /test/10.11_opt_san/sql/table.cc:4534
                #7 0x55b5f3670530 in intern_close_table /test/10.11_opt_san/sql/table_cache.cc:225
                #8 0x55b5f3670530 in tc_remove_table /test/10.11_opt_san/sql/table_cache.cc:263
                #9 0x55b5f3670edc in tc_add_table(THD*, TABLE*) /test/10.11_opt_san/sql/table_cache.cc:363
                #10 0x55b5f232f66a in open_table(THD*, TABLE_LIST*, Open_table_context*) /test/10.11_opt_san/sql/sql_base.cc:2208
                #11 0x55b5f2345cd9 in open_and_process_table /test/10.11_opt_san/sql/sql_base.cc:4106
                #12 0x55b5f2345cd9 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:4593
                #13 0x55b5f234a3e0 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5567
                #14 0x55b5f2376f8c in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510
                #15 0x55b5f2376f8c in open_system_tables_for_read(THD*, TABLE_LIST*) /test/10.11_opt_san/sql/sql_base.cc:9447
                #16 0x55b5f2c26138 in open_stat_tables /test/10.11_opt_san/sql/sql_statistics.cc:250
                #17 0x55b5f2c63171 in read_statistics_for_tables(THD*, TABLE_LIST*) /test/10.11_opt_san/sql/sql_statistics.cc:3317
                #18 0x55b5f234a800 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5581
                #19 0x55b5f247f9fe in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510
                #20 0x55b5f247f9fe in mysql_delete(THD*, TABLE_LIST*, Item*, SQL_I_List<st_order>*, unsigned long long, unsigned long long, select_result*) /test/10.11_opt_san/sql/sql_delete.cc:341
                #21 0x55b5f2756f5d in mysql_execute_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:4805
                #22 0x55b5f26df500 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/10.11_opt_san/sql/sql_parse.cc:8035
                #23 0x55b5f27340ff in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/10.11_opt_san/sql/sql_parse.cc:1894
                #24 0x55b5f273f3fd in do_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:1407
                #25 0x55b5f30284cd in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1418
                #26 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312
                #27 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477
             
            previously allocated by thread T14 here:
                #0 0x55b5f1eb3a08 in __interceptor_malloc (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x79c3a08)
                #1 0x55b5f63a3824 in my_malloc /test/10.11_opt_san/mysys/my_malloc.c:90
                #2 0x55b5f637e803 in root_alloc /test/10.11_opt_san/mysys/my_alloc.c:66
                #3 0x55b5f637e803 in init_alloc_root /test/10.11_opt_san/mysys/my_alloc.c:174
                #4 0x151c68cd7957 in get_server /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1546
                #5 0x151c68cdd1cb in get_share /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1652
                #6 0x151c68ce811d in ha_federatedx::open(char const*, int, unsigned int) /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1791
                #7 0x55b5f3beeb56 in handler::ha_open(TABLE*, char const*, int, unsigned int, st_mem_root*, List<String>*) /test/10.11_opt_san/sql/handler.cc:3332
                #8 0x55b5f2ea40a6 in open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) /test/10.11_opt_san/sql/table.cc:4430
                #9 0x55b5f232f4f1 in open_table(THD*, TABLE_LIST*, Open_table_context*) /test/10.11_opt_san/sql/sql_base.cc:2177
                #10 0x55b5f2345cd9 in open_and_process_table /test/10.11_opt_san/sql/sql_base.cc:4106
                #11 0x55b5f2345cd9 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:4593
                #12 0x55b5f234a3e0 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5567
                #13 0x55b5f25554e4 in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510
                #14 0x55b5f25554e4 in mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool, select_result*) /test/10.11_opt_san/sql/sql_insert.cc:758
                #15 0x55b5f2756215 in mysql_execute_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:4563
                #16 0x55b5f26df500 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/10.11_opt_san/sql/sql_parse.cc:8035
                #17 0x55b5f27340ff in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/10.11_opt_san/sql/sql_parse.cc:1894
                #18 0x55b5f273f3fd in do_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:1407
                #19 0x55b5f30284cd in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1418
                #20 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312
                #21 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477
             
            Thread T14 created by T0 here:
                #0 0x55b5f1de0a45 in pthread_create (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x78f0a45)
                #1 0x55b5f1f03f83 in create_thread_to_handle_connection(CONNECT*) /test/10.11_opt_san/sql/mysqld.cc:6018
                #2 0x55b5f1f1500f in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /test/10.11_opt_san/sql/mysqld.cc:6139
                #3 0x55b5f1f16037 in handle_connections_sockets() /test/10.11_opt_san/sql/mysqld.cc:6263
                #4 0x55b5f1f18f94 in mysqld_main(int, char**) /test/10.11_opt_san/sql/mysqld.cc:5913
                #5 0x151c72117082 in __libc_start_main ../csu/libc-start.c:308
             
            SUMMARY: AddressSanitizer: heap-use-after-free /test/10.11_opt_san/storage/federatedx/federatedx_txn.cc:270 in federatedx_txn::txn_rollback()
            Shadow bytes around the buggy address:
              0x0c428001a600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c428001a610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
              0x0c428001a620: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a630: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            =>0x0c428001a650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
              0x0c428001a6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
            Shadow byte legend (one shadow byte represents 8 application bytes):
              Addressable:           00
              Partially addressable: 01 02 03 04 05 06 07
              Heap left redzone:       fa
              Freed heap region:       fd
              Stack left redzone:      f1
              Stack mid redzone:       f2
              Stack right redzone:     f3
              Stack after return:      f5
              Stack use after scope:   f8
              Global redzone:          f9
              Global init order:       f6
              Poisoned by user:        f7
              Container overflow:      fc
              Array cookie:            ac
              Intra object redzone:    bb
              ASan internal:           fe
              Left alloca redzone:     ca
              Right alloca redzone:    cb
              Shadow gap:              cc
            ==4105417==ABORTING
            

            Roel Roel Van de Paar added a comment - - edited Additional testcase --source include/have_innodb.inc --let $SOCKET=`SELECT @@global.socket` SET sql_mode= '' , GLOBAL table_open_cache=1; INSTALL SONAME 'ha_federatedx.so' ; CREATE USER federatedx@localhost IDENTIFIED BY 'a' ; GRANT ALL ON test.* TO federatedx@localhost; eval CREATE SERVER srv FOREIGN DATA WRAPPER MYSQL OPTIONS (SOCKET "$SOCKET" , DATABASE 'test' , user 'federatedx' , PASSWORD 'a' ); CREATE TABLE t1 (c INT ) ENGINE=InnoDB; CREATE TABLE t2 (c INT ) ENGINE=InnoDB; CREATE TABLE t3 CONNECTION = 'srv/t2' ENGINE=FEDERATED; INSERT INTO t1 (c) VALUES (0); XA START 0x1; SELECT * FROM mysql.roles_mapping; INSERT INTO t3 VALUES (); --error 1054 UPDATE t2 SET a=0; SELECT * FROM mysql.roles_mapping; --error 1305 SELECT a(); HANDLER t1 OPEN ; INSERT INTO t1 SELECT * FROM t1; DELETE FROM mysql.tables_priv; 10.11.2 8283948846740a22f96bbe7bccf250708406d5d9 Core was generated by `/test/MD171122-mariadb-10.11.2-linux-x86_64-dbg/bin/mariadbd --defaults-group-s'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. [Current thread is 1 (Thread 0x153774346700 (LWP 3763357))] #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00001537778a3859 in __GI_abort () at abort.c:79 #2 0x00001537778a3729 in __assert_fail_base (fmt=0x153777a39588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x1537742f291e "server->io_count == 0", file=0x1537742f2068 "/test/10.11_dbg/storage/federatedx/ha_federatedx.cc", line=1695, function=<optimized out>) at assert.c:92 #3 0x00001537778b4fd6 in __GI___assert_fail (assertion=assertion@entry=0x1537742f291e "server->io_count == 0", file=file@entry=0x1537742f2068 "/test/10.11_dbg/storage/federatedx/ha_federatedx.cc", line=line@entry=1695, function=function@entry=0x1537742f20a0 "int free_server(federatedx_txn*, FEDERATEDX_SERVER*)") at assert.c:101 #4 0x00001537742e1e17 in free_server (txn=txn@entry=0x1537742fb280 <zero_txn>, server=server@entry=0x15373815ecd8) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1695 #5 0x00001537742e1ef4 in free_share (txn=0x1537742fb280 <zero_txn>, share=0x153738197200) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1732 #6 0x00001537742e6a8f in ha_federatedx::close (this=0x15373816c020) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1866 #7 0x0000562cae294a2a in handler::ha_close (this=0x15373816c020) at /test/10.11_dbg/sql/handler.cc:3400 #8 0x0000562cae0c4a88 in closefrm (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table.cc:4538 #9 0x0000562cae1eb3d0 in intern_close_table (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table_cache.cc:225 #10 0x0000562cae1eb4c3 in tc_remove_table (table=table@entry=0x1537380ac718) at /test/10.11_dbg/sql/table_cache.cc:263 #11 0x0000562cae1eb655 in tc_add_table (thd=thd@entry=0x153738000d48, table=0x562cb15fdf28) at /test/10.11_dbg/sql/table_cache.cc:363 #12 0x0000562cadf30057 in open_table (thd=thd@entry=0x153738000d48, table_list=table_list@entry=0x153774341d60, ot_ctx=ot_ctx@entry=0x153774340be0) at /test/10.11_dbg/sql/sql_base.cc:2209 #13 0x0000562cadf3453e in open_and_process_table (ot_ctx=0x153774340be0, has_prelocking_list=false, prelocking_strategy=0x153774340cc8, flags=133122, counter=0x153774340c7c, tables=0x153774341d60, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.cc:4108 #14 open_tables (thd=thd@entry=0x153738000d48, options=..., start=start@entry=0x153774340c68, counter=counter@entry=0x153774340c7c, flags=flags@entry=133122, prelocking_strategy=prelocking_strategy@entry=0x153774340cc8) at /test/10.11_dbg/sql/sql_base.cc:4595 #15 0x0000562cadf35467 in open_and_lock_tables (thd=thd@entry=0x153738000d48, options=..., tables=<optimized out>, tables@entry=0x153774340f30, derived=derived@entry=false, flags=133122, prelocking_strategy=prelocking_strategy@entry=0x153774340cc8) at /test/10.11_dbg/sql/sql_base.cc:5569 #16 0x0000562cadf3ae0b in open_and_lock_tables (flags=<optimized out>, derived=false, tables=0x153774340f30, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.h:510 #17 open_system_tables_for_read (thd=thd@entry=0x153738000d48, table_list=table_list@entry=0x153774340f30) at /test/10.11_dbg/sql/sql_base.cc:9487 #18 0x0000562cae06cbdf in open_stat_tables (thd=thd@entry=0x153738000d48, tables=tables@entry=0x153774340f30, for_write=for_write@entry=false) at /test/10.11_dbg/sql/sql_statistics.cc:250 #19 0x0000562cae0736b8 in read_statistics_for_tables (thd=0x153738000d48, tables=0x153738014418) at /test/10.11_dbg/sql/sql_statistics.cc:3317 #20 0x0000562cae074c5f in read_statistics_for_tables_if_needed (thd=thd@entry=0x153738000d48, tables=<optimized out>) at /test/10.11_dbg/sql/sql_statistics.cc:3244 #21 0x0000562cadf35556 in open_and_lock_tables (thd=thd@entry=0x153738000d48, options=..., tables=<optimized out>, tables@entry=0x153738014418, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x1537743444d0) at /test/10.11_dbg/sql/sql_base.cc:5583 #22 0x0000562cadf5f665 in open_and_lock_tables (flags=0, derived=true, tables=0x153738014418, thd=0x153738000d48) at /test/10.11_dbg/sql/sql_base.h:510 #23 mysql_delete (thd=thd@entry=0x153738000d48, table_list=0x153738014418, conds=<optimized out>, order_list=order_list@entry=0x153738005aa0, limit=18446744073709551615, options=0, result=0x0) at /test/10.11_dbg/sql/sql_delete.cc:341 #24 0x0000562cadfb9719 in mysql_execute_command (thd=thd@entry=0x153738000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.11_dbg/sql/sql_limit.h:85 #25 0x0000562cadfa5606 in mysql_parse (thd=thd@entry=0x153738000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x153774345300) at /test/10.11_dbg/sql/sql_parse.cc:7998 #26 0x0000562cadfb2b41 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x153738000d48, packet=packet@entry=0x15373800ae99 "DELETE FROM mysql.tables_priv", packet_length=packet_length@entry=29, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_class.h:1346 #27 0x0000562cadfb4f7f in do_command (thd=0x153738000d48, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_parse.cc:1407 #28 0x0000562cae10f763 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x562cb165b538, put_in_cache=put_in_cache@entry=true) at /test/10.11_dbg/sql/sql_connect.cc:1416 #29 0x0000562cae10fc32 in handle_one_connection (arg=0x562cb165b538) at /test/10.11_dbg/sql/sql_connect.cc:1318 #30 0x0000153777db4609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #31 0x00001537779a0133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 10.11.0 fe1f8f2c6b6f3b8e3383168225f9ae7853028947 ==4105417==ERROR: AddressSanitizer: heap-use-after-free on address 0x6210001132a0 at pc 0x151c68d0b5ff bp 0x151c68fb05c0 sp 0x151c68fb05b0 READ of size 8 at 0x6210001132a0 thread T14 #0 0x151c68d0b5fe in federatedx_txn::txn_rollback() /test/10.11_opt_san/storage/federatedx/federatedx_txn.cc:270 #1 0x55b5f3be7b2d in ha_rollback_trans(THD*, bool) /test/10.11_opt_san/sql/handler.cc:2180 #2 0x55b5f36b8574 in xa_trans_force_rollback(THD*) /test/10.11_opt_san/sql/xa.cc:393 #3 0x55b5f23f47d3 in THD::cleanup() /test/10.11_opt_san/sql/sql_class.cc:1529 #4 0x55b5f1f02084 in unlink_thd(THD*) /test/10.11_opt_san/sql/mysqld.cc:2752 #5 0x55b5f302763b in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1429 #6 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312 #7 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477 #8 0x151c72212132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132)   0x6210001132a0 is located 416 bytes inside of 4112-byte region [0x621000113100,0x621000114110) freed by thread T14 here: #0 0x55b5f1eb360f in __interceptor_free (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x79c360f) #1 0x55b5f63810cb in root_free /test/10.11_opt_san/mysys/my_alloc.c:78 #2 0x55b5f63810cb in free_root /test/10.11_opt_san/mysys/my_alloc.c:501 #3 0x151c68ccb4b2 in free_server /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1698 #4 0x151c68cecb7b in free_share /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1731 #5 0x151c68cecb7b in ha_federatedx::close() /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1865 #6 0x55b5f2e738b8 in closefrm(TABLE*) /test/10.11_opt_san/sql/table.cc:4534 #7 0x55b5f3670530 in intern_close_table /test/10.11_opt_san/sql/table_cache.cc:225 #8 0x55b5f3670530 in tc_remove_table /test/10.11_opt_san/sql/table_cache.cc:263 #9 0x55b5f3670edc in tc_add_table(THD*, TABLE*) /test/10.11_opt_san/sql/table_cache.cc:363 #10 0x55b5f232f66a in open_table(THD*, TABLE_LIST*, Open_table_context*) /test/10.11_opt_san/sql/sql_base.cc:2208 #11 0x55b5f2345cd9 in open_and_process_table /test/10.11_opt_san/sql/sql_base.cc:4106 #12 0x55b5f2345cd9 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:4593 #13 0x55b5f234a3e0 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5567 #14 0x55b5f2376f8c in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510 #15 0x55b5f2376f8c in open_system_tables_for_read(THD*, TABLE_LIST*) /test/10.11_opt_san/sql/sql_base.cc:9447 #16 0x55b5f2c26138 in open_stat_tables /test/10.11_opt_san/sql/sql_statistics.cc:250 #17 0x55b5f2c63171 in read_statistics_for_tables(THD*, TABLE_LIST*) /test/10.11_opt_san/sql/sql_statistics.cc:3317 #18 0x55b5f234a800 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5581 #19 0x55b5f247f9fe in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510 #20 0x55b5f247f9fe in mysql_delete(THD*, TABLE_LIST*, Item*, SQL_I_List<st_order>*, unsigned long long, unsigned long long, select_result*) /test/10.11_opt_san/sql/sql_delete.cc:341 #21 0x55b5f2756f5d in mysql_execute_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:4805 #22 0x55b5f26df500 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/10.11_opt_san/sql/sql_parse.cc:8035 #23 0x55b5f27340ff in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/10.11_opt_san/sql/sql_parse.cc:1894 #24 0x55b5f273f3fd in do_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:1407 #25 0x55b5f30284cd in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1418 #26 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312 #27 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477   previously allocated by thread T14 here: #0 0x55b5f1eb3a08 in __interceptor_malloc (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x79c3a08) #1 0x55b5f63a3824 in my_malloc /test/10.11_opt_san/mysys/my_malloc.c:90 #2 0x55b5f637e803 in root_alloc /test/10.11_opt_san/mysys/my_alloc.c:66 #3 0x55b5f637e803 in init_alloc_root /test/10.11_opt_san/mysys/my_alloc.c:174 #4 0x151c68cd7957 in get_server /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1546 #5 0x151c68cdd1cb in get_share /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1652 #6 0x151c68ce811d in ha_federatedx::open(char const*, int, unsigned int) /test/10.11_opt_san/storage/federatedx/ha_federatedx.cc:1791 #7 0x55b5f3beeb56 in handler::ha_open(TABLE*, char const*, int, unsigned int, st_mem_root*, List<String>*) /test/10.11_opt_san/sql/handler.cc:3332 #8 0x55b5f2ea40a6 in open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) /test/10.11_opt_san/sql/table.cc:4430 #9 0x55b5f232f4f1 in open_table(THD*, TABLE_LIST*, Open_table_context*) /test/10.11_opt_san/sql/sql_base.cc:2177 #10 0x55b5f2345cd9 in open_and_process_table /test/10.11_opt_san/sql/sql_base.cc:4106 #11 0x55b5f2345cd9 in open_tables(THD*, DDL_options_st const&, TABLE_LIST**, unsigned int*, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:4593 #12 0x55b5f234a3e0 in open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*) /test/10.11_opt_san/sql/sql_base.cc:5567 #13 0x55b5f25554e4 in open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int) /test/10.11_opt_san/sql/sql_base.h:510 #14 0x55b5f25554e4 in mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool, select_result*) /test/10.11_opt_san/sql/sql_insert.cc:758 #15 0x55b5f2756215 in mysql_execute_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:4563 #16 0x55b5f26df500 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/10.11_opt_san/sql/sql_parse.cc:8035 #17 0x55b5f27340ff in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/10.11_opt_san/sql/sql_parse.cc:1894 #18 0x55b5f273f3fd in do_command(THD*, bool) /test/10.11_opt_san/sql/sql_parse.cc:1407 #19 0x55b5f30284cd in do_handle_one_connection(CONNECT*, bool) /test/10.11_opt_san/sql/sql_connect.cc:1418 #20 0x55b5f302ab3c in handle_one_connection /test/10.11_opt_san/sql/sql_connect.cc:1312 #21 0x151c72f9d608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477   Thread T14 created by T0 here: #0 0x55b5f1de0a45 in pthread_create (/test/UBASAN_MD010922-mariadb-10.11.0-linux-x86_64-opt/bin/mariadbd+0x78f0a45) #1 0x55b5f1f03f83 in create_thread_to_handle_connection(CONNECT*) /test/10.11_opt_san/sql/mysqld.cc:6018 #2 0x55b5f1f1500f in handle_accepted_socket(st_mysql_socket, st_mysql_socket) /test/10.11_opt_san/sql/mysqld.cc:6139 #3 0x55b5f1f16037 in handle_connections_sockets() /test/10.11_opt_san/sql/mysqld.cc:6263 #4 0x55b5f1f18f94 in mysqld_main(int, char**) /test/10.11_opt_san/sql/mysqld.cc:5913 #5 0x151c72117082 in __libc_start_main ../csu/libc-start.c:308   SUMMARY: AddressSanitizer: heap-use-after-free /test/10.11_opt_san/storage/federatedx/federatedx_txn.cc:270 in federatedx_txn::txn_rollback() Shadow bytes around the buggy address: 0x0c428001a600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c428001a610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c428001a620: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a630: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c428001a650: fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c428001a6a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==4105417==ABORTING

            The same testcase, but with the last line DELETE FROM mysql.tables_priv; replaced with:

            DELETE FROM t2;
            

            Will hang, with this processlist:

            10.11.2 8283948846740a22f96bbe7bccf250708406d5d9 (Debug)

            MariaDB [(none)]> SHOW FULL PROCESSLIST;
            +----+------------+-----------+------+---------+------+----------+-----------------------+----------+
            | Id | User       | Host      | db   | Command | Time | State    | Info                  | Progress |
            +----+------------+-----------+------+---------+------+----------+-----------------------+----------+
            |  4 | root       | localhost | test | Query   |   33 | Updating | DELETE FROM t2        |    0.000 |
            |  6 | federatedx | localhost | test | Sleep   |   33 |          | NULL                  |    0.000 |
            |  7 | root       | localhost | NULL | Query   |    0 | starting | SHOW FULL PROCESSLIST |    0.000 |
            +----+------------+-----------+------+---------+------+----------+-----------------------+----------+
            3 rows in set (0.000 sec)
            

            Untill lock wait timeout is reached by MTR:

            mysqltest: At line 22: query 'DELETE FROM t2' failed: ER_LOCK_WAIT_TIMEOUT (1205): Lock wait timeout exceeded; try restarting transaction
            

            At which time a different SIGSEGV is reported by MTR (note the Got error %d when trying to lock mutex %s at %s, line %d\n):

            10.11.2 8283948846740a22f96bbe7bccf250708406d5d9

            Program terminated with signal SIGSEGV, Segmentation fault.
            #0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
            65	../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
            [Current thread is 1 (Thread 0x14c9dcd60940 (LWP 194758))]
            #0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
            #1  0x000014c9dcf8fd15 in __vfprintf_internal (s=s@entry=0x7ffeb0239ba0, format=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", ap=0x7ffeb023c260, mode_flags=<optimized out>) at vfprintf-internal.c:1688
            #2  0x000014c9dcf90ea2 in buffered_vfprintf (s=s@entry=0x14c9dd1045c0 <_IO_2_1_stderr_>, format=format@entry=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", args=args@entry=0x7ffeb023c260, mode_flags=mode_flags@entry=2) at vfprintf-internal.c:2377
            #3  0x000014c9dcf8dd24 in __vfprintf_internal (s=0x14c9dd1045c0 <_IO_2_1_stderr_>, format=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", ap=ap@entry=0x7ffeb023c260, mode_flags=mode_flags@entry=2) at vfprintf-internal.c:1346
            #4  0x000014c9dd045123 in ___fprintf_chk (fp=<optimized out>, flag=flag@entry=1, format=format@entry=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n") at fprintf_chk.c:33
            #5  0x000056133cf37876 in fprintf (__fmt=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", __stream=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/stdio2.h:100
            #6  safe_mutex_lock (mp=mp@entry=0x14c9a00070a8, my_flags=my_flags@entry=0, file=file@entry=0x56133d0c9458 "/test/10.11_dbg/sql/sql_class.h", line=line@entry=2566) at /test/10.11_dbg/mysys/thr_mutex.c:294
            #7  0x000056133c9ae460 in inline_mysql_mutex_lock (src_line=2566, src_file=0x56133d0c9458 "/test/10.11_dbg/sql/sql_class.h", that=0x14c9a00070a8) at /test/10.11_dbg/include/mysql/psi/mysql_thread.h:750
            #8  thd_async_state::wait_for_pending_ops (this=0x14c9a0007090) at /test/10.11_dbg/sql/sql_class.h:2566
            #9  net_real_write (net=net@entry=0x14c9a015ee58, packet=0x14c9a00a5538 "\001", len=<optimized out>) at /test/10.11_dbg/sql/net_serv.cc:669
            #10 0x000056133c9ae7ba in net_flush (net=net@entry=0x14c9a015ee58) at /test/10.11_dbg/sql/net_serv.cc:402
            #11 0x000056133c9aec55 in net_write_command (net=net@entry=0x14c9a015ee58, command=command@entry=1 '\001', header=header@entry=0x0, head_len=head_len@entry=0, packet=packet@entry=0x0, len=len@entry=0) at /test/10.11_dbg/sql/net_serv.cc:552
            #12 0x000056133c7d5963 in cli_advanced_command (mysql=0x14c9a015ee58, command=COM_QUIT, header=0x0, header_length=0, arg=0x0, arg_length=0, skip_check=1 '\001', stmt=0x0) at /test/10.11_dbg/sql-common/client.c:503
            #13 0x000056133c7d3317 in mysql_close_slow_part (mysql=mysql@entry=0x14c9a015ee58) at /test/10.11_dbg/sql-common/client.c:3428
            #14 0x000056133c7d3344 in server_mysql_close (mysql=0x14c9a015ee58) at /test/10.11_dbg/sql-common/client.c:3440
            #15 0x000014c9d5e100f9 in federatedx_io_mysql::~federatedx_io_mysql (this=0x14c9a015ee28, __in_chrg=<optimized out>) at /test/10.11_dbg/storage/federatedx/federatedx_io_mysql.cc:154
            #16 0x000014c9d5e10129 in federatedx_io_mysql::~federatedx_io_mysql (this=0x14c9a015ee28, __in_chrg=<optimized out>) at /test/10.11_dbg/storage/federatedx/federatedx_io_mysql.cc:150
            #17 0x000014c9d5e0f107 in federatedx_txn::close (this=this@entry=0x14c9d5e1f280 <zero_txn>, server=server@entry=0x14c9a015ecd8) at /test/10.11_dbg/storage/federatedx/federatedx_txn.cc:88
            #18 0x000014c9d5e05d7e in free_server (txn=txn@entry=0x14c9d5e1f280 <zero_txn>, server=server@entry=0x14c9a015ecd8) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1693
            #19 0x000014c9d5e05ef4 in free_share (txn=0x14c9d5e1f280 <zero_txn>, share=0x14c9a0197200) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1732
            #20 0x000014c9d5e0aaf8 in ha_federatedx::close (this=0x14c9a016c020) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1866
            #21 0x000056133c815a2a in handler::ha_close (this=0x14c9a016c020) at /test/10.11_dbg/sql/handler.cc:3400
            #22 0x000056133c645a88 in closefrm (table=table@entry=0x14c9a00ac718) at /test/10.11_dbg/sql/table.cc:4538
            #23 0x000056133c76c3d0 in intern_close_table (table=0x14c9a00ac718) at /test/10.11_dbg/sql/table_cache.cc:225
            #24 0x000056133c76d1ff in tc_purge () at /test/10.11_dbg/sql/table_cache.cc:317
            #25 0x000056133c4ad671 in purge_tables () at /test/10.11_dbg/sql/sql_base.cc:326
            #26 0x000056133c76bc23 in tdc_start_shutdown () at /test/10.11_dbg/sql/table_cache.cc:639
            #27 0x000056133c406235 in clean_up (print_message=print_message@entry=true) at /test/10.11_dbg/sql/mysqld.cc:1996
            #28 0x000056133c411eb9 in mysqld_main (argc=<optimized out>, argv=<optimized out>) at /test/10.11_dbg/sql/mysqld.cc:6024
            #29 0x000056133c405b76 in main (argc=<optimized out>, argv=<optimized out>) at /test/10.11_dbg/sql/main.cc:34
            

            Roel Roel Van de Paar added a comment - The same testcase, but with the last line DELETE FROM mysql.tables_priv; replaced with: DELETE FROM t2; Will hang, with this processlist: 10.11.2 8283948846740a22f96bbe7bccf250708406d5d9 (Debug) MariaDB [(none)]> SHOW FULL PROCESSLIST; +----+------------+-----------+------+---------+------+----------+-----------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------------+-----------+------+---------+------+----------+-----------------------+----------+ | 4 | root | localhost | test | Query | 33 | Updating | DELETE FROM t2 | 0.000 | | 6 | federatedx | localhost | test | Sleep | 33 | | NULL | 0.000 | | 7 | root | localhost | NULL | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------------+-----------+------+---------+------+----------+-----------------------+----------+ 3 rows in set (0.000 sec) Untill lock wait timeout is reached by MTR: mysqltest: At line 22: query 'DELETE FROM t2' failed: ER_LOCK_WAIT_TIMEOUT (1205): Lock wait timeout exceeded; try restarting transaction At which time a different SIGSEGV is reported by MTR (note the Got error %d when trying to lock mutex %s at %s, line %d\n ): 10.11.2 8283948846740a22f96bbe7bccf250708406d5d9 Program terminated with signal SIGSEGV, Segmentation fault. #0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65 65 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory. [Current thread is 1 (Thread 0x14c9dcd60940 (LWP 194758))] #0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65 #1 0x000014c9dcf8fd15 in __vfprintf_internal (s=s@entry=0x7ffeb0239ba0, format=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", ap=0x7ffeb023c260, mode_flags=<optimized out>) at vfprintf-internal.c:1688 #2 0x000014c9dcf90ea2 in buffered_vfprintf (s=s@entry=0x14c9dd1045c0 <_IO_2_1_stderr_>, format=format@entry=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", args=args@entry=0x7ffeb023c260, mode_flags=mode_flags@entry=2) at vfprintf-internal.c:2377 #3 0x000014c9dcf8dd24 in __vfprintf_internal (s=0x14c9dd1045c0 <_IO_2_1_stderr_>, format=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", ap=ap@entry=0x7ffeb023c260, mode_flags=mode_flags@entry=2) at vfprintf-internal.c:1346 #4 0x000014c9dd045123 in ___fprintf_chk (fp=<optimized out>, flag=flag@entry=1, format=format@entry=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n") at fprintf_chk.c:33 #5 0x000056133cf37876 in fprintf (__fmt=0x56133d388e38 "Got error %d when trying to lock mutex %s at %s, line %d\n", __stream=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/stdio2.h:100 #6 safe_mutex_lock (mp=mp@entry=0x14c9a00070a8, my_flags=my_flags@entry=0, file=file@entry=0x56133d0c9458 "/test/10.11_dbg/sql/sql_class.h", line=line@entry=2566) at /test/10.11_dbg/mysys/thr_mutex.c:294 #7 0x000056133c9ae460 in inline_mysql_mutex_lock (src_line=2566, src_file=0x56133d0c9458 "/test/10.11_dbg/sql/sql_class.h", that=0x14c9a00070a8) at /test/10.11_dbg/include/mysql/psi/mysql_thread.h:750 #8 thd_async_state::wait_for_pending_ops (this=0x14c9a0007090) at /test/10.11_dbg/sql/sql_class.h:2566 #9 net_real_write (net=net@entry=0x14c9a015ee58, packet=0x14c9a00a5538 "\001", len=<optimized out>) at /test/10.11_dbg/sql/net_serv.cc:669 #10 0x000056133c9ae7ba in net_flush (net=net@entry=0x14c9a015ee58) at /test/10.11_dbg/sql/net_serv.cc:402 #11 0x000056133c9aec55 in net_write_command (net=net@entry=0x14c9a015ee58, command=command@entry=1 '\001', header=header@entry=0x0, head_len=head_len@entry=0, packet=packet@entry=0x0, len=len@entry=0) at /test/10.11_dbg/sql/net_serv.cc:552 #12 0x000056133c7d5963 in cli_advanced_command (mysql=0x14c9a015ee58, command=COM_QUIT, header=0x0, header_length=0, arg=0x0, arg_length=0, skip_check=1 '\001', stmt=0x0) at /test/10.11_dbg/sql-common/client.c:503 #13 0x000056133c7d3317 in mysql_close_slow_part (mysql=mysql@entry=0x14c9a015ee58) at /test/10.11_dbg/sql-common/client.c:3428 #14 0x000056133c7d3344 in server_mysql_close (mysql=0x14c9a015ee58) at /test/10.11_dbg/sql-common/client.c:3440 #15 0x000014c9d5e100f9 in federatedx_io_mysql::~federatedx_io_mysql (this=0x14c9a015ee28, __in_chrg=<optimized out>) at /test/10.11_dbg/storage/federatedx/federatedx_io_mysql.cc:154 #16 0x000014c9d5e10129 in federatedx_io_mysql::~federatedx_io_mysql (this=0x14c9a015ee28, __in_chrg=<optimized out>) at /test/10.11_dbg/storage/federatedx/federatedx_io_mysql.cc:150 #17 0x000014c9d5e0f107 in federatedx_txn::close (this=this@entry=0x14c9d5e1f280 <zero_txn>, server=server@entry=0x14c9a015ecd8) at /test/10.11_dbg/storage/federatedx/federatedx_txn.cc:88 #18 0x000014c9d5e05d7e in free_server (txn=txn@entry=0x14c9d5e1f280 <zero_txn>, server=server@entry=0x14c9a015ecd8) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1693 #19 0x000014c9d5e05ef4 in free_share (txn=0x14c9d5e1f280 <zero_txn>, share=0x14c9a0197200) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1732 #20 0x000014c9d5e0aaf8 in ha_federatedx::close (this=0x14c9a016c020) at /test/10.11_dbg/storage/federatedx/ha_federatedx.cc:1866 #21 0x000056133c815a2a in handler::ha_close (this=0x14c9a016c020) at /test/10.11_dbg/sql/handler.cc:3400 #22 0x000056133c645a88 in closefrm (table=table@entry=0x14c9a00ac718) at /test/10.11_dbg/sql/table.cc:4538 #23 0x000056133c76c3d0 in intern_close_table (table=0x14c9a00ac718) at /test/10.11_dbg/sql/table_cache.cc:225 #24 0x000056133c76d1ff in tc_purge () at /test/10.11_dbg/sql/table_cache.cc:317 #25 0x000056133c4ad671 in purge_tables () at /test/10.11_dbg/sql/sql_base.cc:326 #26 0x000056133c76bc23 in tdc_start_shutdown () at /test/10.11_dbg/sql/table_cache.cc:639 #27 0x000056133c406235 in clean_up (print_message=print_message@entry=true) at /test/10.11_dbg/sql/mysqld.cc:1996 #28 0x000056133c411eb9 in mysqld_main (argc=<optimized out>, argv=<optimized out>) at /test/10.11_dbg/sql/mysqld.cc:6024 #29 0x000056133c405b76 in main (argc=<optimized out>, argv=<optimized out>) at /test/10.11_dbg/sql/main.cc:34

            People

              sanja Oleksandr Byelkin
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.