[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 Created: 2019-05-30  Updated: 2019-06-17  Resolved: 2019-06-17

Status: Closed
Project: MariaDB Server
Component/s: Partitioning, Versioned Tables
Affects Version/s: 10.3, 10.4
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Aleksey Midenkov
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-19304 Segfault in ALTER TABLE after UPDATE ... Closed

 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.


Generated at Thu Feb 08 08:53:15 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.