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

Server crashes in ha_partition::try_semi_consistent_read upon attempt to update ROW END column of a partitioned table under SIMULTANEOUS_ASSIGNMENT

    Details

      Description

      --source include/have_partition.inc
       
      CREATE TABLE t1 (a TEXT, s TIMESTAMP(6) AS ROW START, e TIMESTAMP(6) AS ROW END, PERIOD FOR SYSTEM_TIME(s,e)) WITH SYSTEM VERSIONING PARTITION BY SYSTEM_TIME INTERVAL 1 WEEK (PARTITION p1 HISTORY, PARTITION pc CURRENT);
      INSERT INTO t1 (a) VALUES ('foo');
      SET SQL_MODE= 'SIMULTANEOUS_ASSIGNMENT';
      UPDATE t1 SET e = 0;
       
      # Cleanup
      DROP TABLE t1;
      

      10.3 617d34ae

      ==4457==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x564fd9892fdc bp 0x7f6406353bc0 sp 0x7f6406353b20 T5)
          #0 0x564fd9892fdb in ha_partition::try_semi_consistent_read(bool) /data/src/10.3/sql/ha_partition.cc:4201
          #1 0x564fd83a79ec in mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, bool, unsigned long long*, unsigned long long*) /data/src/10.3/sql/sql_update.cc:1111
          #2 0x564fd8149346 in mysql_execute_command(THD*) /data/src/10.3/sql/sql_parse.cc:4581
          #3 0x564fd815fa03 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /data/src/10.3/sql/sql_parse.cc:8098
          #4 0x564fd813a1b5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /data/src/10.3/sql/sql_parse.cc:1858
          #5 0x564fd813716c in do_command(THD*) /data/src/10.3/sql/sql_parse.cc:1403
          #6 0x564fd849b584 in do_handle_one_connection(CONNECT*) /data/src/10.3/sql/sql_connect.cc:1402
          #7 0x564fd849af60 in handle_one_connection /data/src/10.3/sql/sql_connect.cc:1308
          #8 0x564fd984492b in pfs_spawn_thread /data/src/10.3/storage/perfschema/pfs.cc:1862
          #9 0x7f6411d7d4a3 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x74a3)
          #10 0x7f64102c5d0e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xe8d0e)
       
      AddressSanitizer can not provide additional info.
      SUMMARY: AddressSanitizer: SEGV /data/src/10.3/sql/ha_partition.cc:4201 in ha_partition::try_semi_consistent_read(bool)
      Thread T5 created by T0 here:
          #0 0x7f6411fc3f59 in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.3+0x30f59)
          #1 0x564fd9844d67 in spawn_thread_v1 /data/src/10.3/storage/perfschema/pfs.cc:1912
          #2 0x564fd7eb1560 in inline_mysql_thread_create /data/src/10.3/include/mysql/psi/mysql_thread.h:1268
          #3 0x564fd7ec64d6 in create_thread_to_handle_connection(CONNECT*) /data/src/10.3/sql/mysqld.cc:6605
          #4 0x564fd7ec6bcd in create_new_thread /data/src/10.3/sql/mysqld.cc:6675
          #5 0x564fd7ec7bf4 in handle_connections_sockets() /data/src/10.3/sql/mysqld.cc:6950
          #6 0x564fd7ec598e in mysqld_main(int, char**) /data/src/10.3/sql/mysqld.cc:6227
          #7 0x564fd7eafc7f in main /data/src/10.3/sql/main.cc:25
          #8 0x7f64101fd2e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
       
      ==4457==ABORTING
      

      All of ASAN, debug and non-debug builds fail with SEGV.
      Reproducible with at least MyISAM and InnoDB.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                midenok Aleksey Midenkov
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: