This issue was first found during the development of MDEV-12894. As mentioned in MDEV-13900, a part of innodb.instant_alter test would crash when the test is run with special parameters. With these parameters, MDEV-12894 is adding a hidden column to the PRIMARY KEY and converting certain UPDATE to UPDATE and INSERT.
The test below reproduces the problem in plain MariaDB 10.3 when system versioning is not used.
--source include/have_innodb.inc
|
|
CREATE TABLE t2
|
(id INT, foo INT DEFAULT 0, c1 VARCHAR(4000),
|
p GEOMETRY NOT NULL DEFAULT ST_GeomFromText('LINESTRING(0 0,0 1,1 1)'),
|
PRIMARY KEY(id,foo))
|
ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
|
INSERT INTO t2 (id,c1) VALUES (1, REPEAT('a', 4000)), (2, REPEAT('a', 4000));
|
ALTER TABLE t2 ADD COLUMN d1 INT;
|
|
BEGIN;
|
UPDATE t2 SET c1 = repeat('1', 4000), foo=1 WHERE id=1;
|
INSERT INTO t2 (id,c1) VALUES (1, REPEAT('a', 4000));
|
UPDATE t2 SET c1 = repeat('2', 4000), foo=1 WHERE id=2;
|
ROLLBACK;
|
|
BEGIN;
|
UPDATE t2 SET d1 = 1,foo=2 WHERE id=1;
|
INSERT INTO t2 (id,foo,c1) VALUES (1, 1, REPEAT('1', 4000));
|
COMMIT;
|
|
DROP TABLE t2;
|
The last INSERT that crashes must for some reason be in the same transaction as the UPDATE. I have optimized away an INSERT from the first (rolled-back) transaction, because the crash reproduces also without it:
stack trace
|
lock/lock0lock.cc:3836(lock_move_rec_list_start(buf_block_t const*, buf_block_t const*, unsigned char const*, unsigned char const*))[0x1c98ce3]
|
page/page0page.cc:940(page_copy_rec_list_start(buf_block_t*, buf_block_t*, unsigned char*, dict_index_t*, mtr_t*))[0x1d99991]
|
page/page0page.cc:1402(page_move_rec_list_start(buf_block_t*, buf_block_t*, unsigned char*, dict_index_t*, mtr_t*))[0x1d9c9f5]
|
btr/btr0btr.cc:3165(btr_page_split_and_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t const*, unsigned long, mtr_t*))[0x21a523d]
|
btr/btr0cur.cc:3463(btr_cur_pessimistic_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t*, unsigned char**, big_rec_t**, unsigned long, que_thr_t*, mtr_t*))[0x21fec97]
|
{"report":{"fcp":775.2999999821186,"ttfb":166,"pageVisibility":"visible","entityId":64840,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"a3fbf16d-f749-42fc-9da6-844b73f06e49","navigationType":0,"readyForUser":860.6999999880791,"redirectCount":0,"resourceLoadedEnd":1075.199999988079,"resourceLoadedStart":171.89999997615814,"resourceTiming":[{"duration":137.30000001192093,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":171.89999997615814,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":171.89999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":309.19999998807907,"responseStart":0,"secureConnectionStart":0},{"duration":137.40000000596046,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":172.19999998807907,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":172.19999998807907,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":309.59999999403954,"responseStart":0,"secureConnectionStart":0},{"duration":146.2000000178814,"initiatorType":"script","name":"https://jira.mariadb.org/s/e9b27a47da5fb0f74a35acd57e9847fb-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":172.2999999821186,"connectEnd":172.2999999821186,"connectStart":172.2999999821186,"domainLookupEnd":172.2999999821186,"domainLookupStart":172.2999999821186,"fetchStart":172.2999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":172.2999999821186,"responseEnd":318.5,"responseStart":318.5,"secureConnectionStart":172.2999999821186},{"duration":178.89999997615814,"initiatorType":"script","name":"https://jira.mariadb.org/s/c32eb0da7ad9831253f8397e6cc26afd-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":172.5,"connectEnd":172.5,"connectStart":172.5,"domainLookupEnd":172.5,"domainLookupStart":172.5,"fetchStart":172.5,"redirectEnd":0,"redirectStart":0,"requestStart":172.5,"responseEnd":351.39999997615814,"responseStart":351.39999997615814,"secureConnectionStart":172.5},{"duration":182.80000001192093,"initiatorType":"script","name":"https://jira.mariadb.org/s/bc0bcb146314416123c992714ee00ff7-CDN/lu2bv2/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":172.69999998807907,"connectEnd":172.69999998807907,"connectStart":172.69999998807907,"domainLookupEnd":172.69999998807907,"domainLookupStart":172.69999998807907,"fetchStart":172.69999998807907,"redirectEnd":0,"redirectStart":0,"requestStart":172.69999998807907,"responseEnd":355.5,"responseStart":355.5,"secureConnectionStart":172.69999998807907},{"duration":182.7999999821186,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":173,"connectEnd":173,"connectStart":173,"domainLookupEnd":173,"domainLookupStart":173,"fetchStart":173,"redirectEnd":0,"redirectStart":0,"requestStart":173,"responseEnd":355.7999999821186,"responseStart":355.7999999821186,"secureConnectionStart":173},{"duration":183.19999998807907,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":173.09999999403954,"connectEnd":173.09999999403954,"connectStart":173.09999999403954,"domainLookupEnd":173.09999999403954,"domainLookupStart":173.09999999403954,"fetchStart":173.09999999403954,"redirectEnd":0,"redirectStart":0,"requestStart":173.09999999403954,"responseEnd":356.2999999821186,"responseStart":356.2999999821186,"secureConnectionStart":173.09999999403954},{"duration":287,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bv2/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":173.2999999821186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":173.2999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":460.2999999821186,"responseStart":0,"secureConnectionStart":0},{"duration":286.89999997615814,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":173.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":173.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":460.39999997615814,"responseStart":0,"secureConnectionStart":0},{"duration":183.19999998807907,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":173.5,"connectEnd":173.5,"connectStart":173.5,"domainLookupEnd":173.5,"domainLookupStart":173.5,"fetchStart":173.5,"redirectEnd":0,"redirectStart":0,"requestStart":173.5,"responseEnd":356.69999998807907,"responseStart":356.69999998807907,"secureConnectionStart":173.5},{"duration":183.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/719848dd97ebe0663199f49a3936487a-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":173.7999999821186,"connectEnd":173.7999999821186,"connectStart":173.7999999821186,"domainLookupEnd":173.7999999821186,"domainLookupStart":173.7999999821186,"fetchStart":173.7999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":173.7999999821186,"responseEnd":357.2999999821186,"responseStart":357.2999999821186,"secureConnectionStart":173.7999999821186},{"duration":456.30000001192093,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":174.7999999821186,"connectEnd":174.7999999821186,"connectStart":174.7999999821186,"domainLookupEnd":174.7999999821186,"domainLookupStart":174.7999999821186,"fetchStart":174.7999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":174.7999999821186,"responseEnd":631.0999999940395,"responseStart":631.0999999940395,"secureConnectionStart":174.7999999821186},{"duration":866.3000000119209,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":174.7999999821186,"connectEnd":174.7999999821186,"connectStart":174.7999999821186,"domainLookupEnd":174.7999999821186,"domainLookupStart":174.7999999821186,"fetchStart":174.7999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":174.7999999821186,"responseEnd":1041.0999999940395,"responseStart":1041.0999999940395,"secureConnectionStart":174.7999999821186},{"duration":174.80000001192093,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":487.19999998807907,"connectEnd":487.19999998807907,"connectStart":487.19999998807907,"domainLookupEnd":487.19999998807907,"domainLookupStart":487.19999998807907,"fetchStart":487.19999998807907,"redirectEnd":0,"redirectStart":0,"requestStart":487.19999998807907,"responseEnd":662,"responseStart":662,"secureConnectionStart":487.19999998807907},{"duration":345.09999999403954,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":730.0999999940395,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":730.0999999940395,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1075.199999988079,"responseStart":0,"secureConnectionStart":0},{"duration":314.90000000596046,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":730.8999999761581,"connectEnd":730.8999999761581,"connectStart":730.8999999761581,"domainLookupEnd":730.8999999761581,"domainLookupStart":730.8999999761581,"fetchStart":730.8999999761581,"redirectEnd":0,"redirectStart":0,"requestStart":730.8999999761581,"responseEnd":1045.7999999821186,"responseStart":1045.7999999821186,"secureConnectionStart":730.8999999761581},{"duration":321.40000000596046,"initiatorType":"script","name":"https://jira.mariadb.org/s/53a43b6764f587426c7bb9a150184c00-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":731.1999999880791,"connectEnd":731.1999999880791,"connectStart":731.1999999880791,"domainLookupEnd":731.1999999880791,"domainLookupStart":731.1999999880791,"fetchStart":731.1999999880791,"redirectEnd":0,"redirectStart":0,"requestStart":731.1999999880791,"responseEnd":1052.5999999940395,"responseStart":1052.5999999940395,"secureConnectionStart":731.1999999880791},{"duration":312.09999999403954,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":768.2999999821186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":768.2999999821186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1080.3999999761581,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":10,"responseStart":166,"responseEnd":169,"domLoading":170,"domInteractive":1108,"domContentLoadedEventStart":1108,"domContentLoadedEventEnd":1149,"domComplete":1915,"loadEventStart":1916,"loadEventEnd":1917,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1083.3999999761581},{"name":"bigPipe.sidebar-id.end","time":1084.2999999821186},{"name":"bigPipe.activity-panel-pipe-id.start","time":1084.3999999761581},{"name":"bigPipe.activity-panel-pipe-id.end","time":1086.699999988079},{"name":"activityTabFullyLoaded","time":1158.199999988079}],"measures":[],"correlationId":"591ac4a6a0d9d4","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":97,"dbReadsTimeInMs":15,"dbConnsTimeInMs":23,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}