Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.7
-
None
Description
Problem hit during RQG testing on
|
10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18
|
compiled with debug.
|
No replay on actual 10.3.
|
|
Version: '10.4.7-MariaDB-debug-log' ...
|
mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed.
|
mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed.
|
190718 13:19:53 [ERROR] mysqld got signal 6 ;
|
|
Some IMHO important characteristics of that problem
|
- neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved
|
- certain InnoDB system variables which are known to cause sometimes trouble are switched to "harmless" values
|
- only three concurrent sessions/threads are involved
|
|
Simplified RQG grammar MDEV-20090.yy (just for illustration, please use the uploaded file when trying to replay).
|
thread1:
|
INSERT INTO t1 (col1, col_int) VALUES ( 4 , 4); ROLLBACK ;
|
thread1_connect:
|
;
|
thread1_init:
|
CREATE TABLE IF NOT EXISTS t1 ( col1 INT PRIMARY KEY, col_int INTEGER ) ENGINE = InnoDB ROW_FORMAT = Dynamic ;
|
|
thread2:
|
DELETE FROM t1 WHERE col1 = 4 OR col1 IS NULL ; COMMIT ;
|
thread2_connect:
|
;
|
thread2_init:
|
;
|
|
thread3:
|
ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE |
|
ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE |
|
ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE |
|
ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE |
|
ALTER TABLE t1 ADD COLUMN col_int_copy INTEGER FIRST , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 DROP COLUMN IF EXISTS col_int , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 CHANGE COLUMN IF EXISTS col_int_copy col_int INTEGER , ALGORITHM = NOCOPY , LOCK = NONE ;
|
thread3_connect:
|
;
|
thread3_init:
|
;
|
|
Attachments
Issue Links
- relates to
-
MDEV-18519 0x7f0118195700 InnoDB: Assertion failure in file /home/buildbot/buildbot/build/mariadb-10.3.7/storage/innobase/btr/btr0cur.cc line 4308
-
- Closed
-
-
MDEV-20117 Assertion `0' failed in row_sel_get_clust_rec_for_mysql
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
{noformat} Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; {noformat} |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. So none of the other bug reports around " {noformat} |
Description |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. So none of the other bug reports around " {noformat} |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. {noformat} |
Description |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. {noformat} |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. Simplified RQG grammar thread1: INSERT INTO t1 (col1, col_int) VALUES ( 4 , 4); ROLLBACK ; thread1_connect: ; thread1_init: CREATE TABLE IF NOT EXISTS t1 ( col1 INT PRIMARY KEY, col_int INTEGER ) ENGINE = InnoDB ROW_FORMAT = Dynamic ; thread2: DELETE FROM t1 WHERE col1 = 4 OR col1 IS NULL ; COMMIT ; thread2_connect: ; thread2_init: ; thread3: ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD COLUMN col_int_copy INTEGER FIRST , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 DROP COLUMN IF EXISTS col_int , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 CHANGE COLUMN IF EXISTS col_int_copy col_int INTEGER , ALGORITHM = NOCOPY , LOCK = NONE ; thread3_connect: ; thread3_init: ; {noformat} |
Attachment | 000000.log [ 48478 ] |
Attachment | MDEV-20090.yy [ 48479 ] |
Description |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem is that neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved. Simplified RQG grammar thread1: INSERT INTO t1 (col1, col_int) VALUES ( 4 , 4); ROLLBACK ; thread1_connect: ; thread1_init: CREATE TABLE IF NOT EXISTS t1 ( col1 INT PRIMARY KEY, col_int INTEGER ) ENGINE = InnoDB ROW_FORMAT = Dynamic ; thread2: DELETE FROM t1 WHERE col1 = 4 OR col1 IS NULL ; COMMIT ; thread2_connect: ; thread2_init: ; thread3: ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD COLUMN col_int_copy INTEGER FIRST , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 DROP COLUMN IF EXISTS col_int , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 CHANGE COLUMN IF EXISTS col_int_copy col_int INTEGER , ALGORITHM = NOCOPY , LOCK = NONE ; thread3_connect: ; thread3_init: ; {noformat} |
{noformat}
Problem hit during RQG testing on 10.4.7 commit 5a95a33e309d0b2c6bc0f938ad925e3f74b0f921 2019-07-18 compiled with debug. No replay on actual 10.3. Version: '10.4.7-MariaDB-debug-log' ... mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. mysqld: /work/10.4/storage/innobase/include/dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. 190718 13:19:53 [ERROR] mysqld got signal 6 ; Some IMHO important characteristics of that problem - neither FOREIGN KEYs nor FULLTEXT indexes nor virtual columns nor blobs are involved - certain InnoDB system variables which are known to cause sometimes trouble are switched to "harmless" values - only three concurrent sessions/threads are involved Simplified RQG grammar thread1: INSERT INTO t1 (col1, col_int) VALUES ( 4 , 4); ROLLBACK ; thread1_connect: ; thread1_init: CREATE TABLE IF NOT EXISTS t1 ( col1 INT PRIMARY KEY, col_int INTEGER ) ENGINE = InnoDB ROW_FORMAT = Dynamic ; thread2: DELETE FROM t1 WHERE col1 = 4 OR col1 IS NULL ; COMMIT ; thread2_connect: ; thread2_init: ; thread3: ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD UNIQUE INDEX `uidx3` ( col_int ) , ALGORITHM = NOCOPY , LOCK = NONE | ALTER TABLE t1 ADD COLUMN col_int_copy INTEGER FIRST , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 DROP COLUMN IF EXISTS col_int , ALGORITHM = NOCOPY , LOCK = NONE ; ALTER TABLE t1 CHANGE COLUMN IF EXISTS col_int_copy col_int INTEGER , ALGORITHM = NOCOPY , LOCK = NONE ; thread3_connect: ; thread3_init: ; {noformat} |
Attachment | MDEV-20090.cfg [ 48480 ] |
Attachment | MDEV-20090.sh [ 48481 ] |
Assignee | Marko Mäkelä [ marko ] | |
Summary | Draft: mysqld: dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. | mysqld: dict0dict.ic:879: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed. |
Priority | Major [ 3 ] | Critical [ 2 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Assignee | Marko Mäkelä [ marko ] | Eugene Kosov [ kevg ] |
Fix Version/s | 10.4.9 [ 23906 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 98332 ] | MariaDB v4 [ 156491 ] |
Uploaded files:
000000.log - Protocol of my RQG run (includes backtrace)
MDEV-20090.yy - Simplified RQG grammar
MDEV-20090.cfg - Configuration file for rqg_batch.pl
MDEV-20090.sh - Shellscript
How to replay:
I had no luck with some MTR based brute force test.
So using RQG is currently required.
Please show up because I have the required RQG infrastructure
or
git clone https://github.com/mleich1/rqg --branch experimental RQG_mleich1
cd RQG_mleich1
Place the files MDEV-20090.* into that directory.
./SIMP.sh big_simplify.cfg <path to your binaries>