Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.3.10, 10.2.19, 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6
Description
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30
|
|
Workflow:
|
1. Bootstrap + start DB server with
|
--mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON
|
in command line.
|
2. One sessions creates some initial data and disconnects.
|
3. Several sessions run for a few minutes concurrent DML on the tables created in 2.
|
and disconnect.
|
4. Dump data, shutdown of DB server
|
5. Restart of DB server
|
6. Run SHOW VARIABLES
|
|
Most frequent seen failure:
|
mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed.
|
|
Less frequent seen
|
# 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4
|
# 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc
|
...
|
mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed.
|
---------------
|
# 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace
|
... many repetitions of the line above
|
# 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/
|
# 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ;
|
---------------
|
Workflow like above including
|
7. CHECK TABLE ...
|
# 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum.
|
mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed.
|
-----------------
|
[ERROR] [FATAL] InnoDB: Trying to read 4096 bytes at 2097152 outside the bounds of the file: .//undo001
|
|
|
RQG
|
====
|
git clone https://github.com/mleich1/rqg --branch experimental RQG
|
|
perl rqg.pl \
|
--grammar=conf/engines/many_indexes.yy \
|
--gendata=conf/engines/many_indexes.zz \
|
--reporters=RestartConsistencyRR \
|
--mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
|
--mysqld=--loose-idle_write_transaction_timeout=0 \
|
--mysqld=--loose-idle_transaction_timeout=0 \
|
--mysqld=--loose-idle_readonly_transaction_timeout=0 \
|
--mysqld=--connect_timeout=60 \
|
--mysqld=--interactive_timeout=28800 \
|
--mysqld=--slave_net_timeout=60 \
|
--mysqld=--net_read_timeout=30 \
|
--mysqld=--net_write_timeout=60 \
|
--mysqld=--loose-table_lock_wait_timeout=50 \
|
--mysqld=--wait_timeout=28800 \
|
--mysqld=--lock-wait-timeout=86400 \
|
--mysqld=--innodb-lock-wait-timeout=50 \
|
--no-mask \
|
--queries=10000000 \
|
--seed=random \
|
--reporters=Backtrace \
|
--reporters=ErrorLog \
|
--reporters=Deadlock1 \
|
--validators=None \
|
--mysqld=--log_output=none \
|
--mysqld=--log_bin_trust_function_creators=1 \
|
--mysqld=--loose-debug_assert_on_not_freed_memory=0 \
|
--engine=InnoDB \
|
--restart_timeout=240 \
|
--mysqld=--plugin-load-add=file_key_management.so \
|
--mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
|
--duration=150 \
|
--mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
|
--mysqld=--innodb_stats_persistent=on \
|
--mysqld=--innodb_adaptive_hash_index=on \
|
--mysqld=--log-bin \
|
--mysqld=--sync-binlog=1 \
|
--mysqld=--loose-innodb_evict_tables_on_commit_debug=off \
|
--mysqld=--loose-max-statement-time=30 \
|
--threads=9 \
|
--mysqld=--innodb_use_native_aio=1 \
|
--mysqld=--innodb_undo_tablespaces=3 \
|
--mysqld=--innodb_undo_log_truncate=ON \
|
--mysqld=--innodb_page_size=16K \
|
--mysqld=--innodb-buffer-pool-size=8M \
|
--no_mask \
|
--workdir=<local settings>
|
--vardir=<local settings>
|
--mtr-build-thread=<local settings>
|
--basedir1=<local settings>
|
--script_debug=_nix_
|
|
Observations:
|
1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K.
|
Raising innodb-buffer-pool-size to 32M does not let the failures disappear.
|
2. In case the server finally shut down was running under 'rr' than the problems
|
did never show up.
|
3. After setting innodb_undo_log_truncate=off the failures disappeared.
|
Attachments
Issue Links
- blocks
-
MDEV-26445 innodb_undo_log_truncate is unnecessarily slow
-
- Closed
-
- causes
-
MDEV-26811 Assertion "log_sys.n_pending_flushes == 1" fails in undo_truncate test, on shutdown
-
- Closed
-
- includes
-
MDEV-26672 innodb_undo_log_truncate may cause the transaction ID sequence to be reset
-
- Closed
-
- is caused by
-
MDEV-13564 TRUNCATE TABLE and undo tablespace truncation are not compatible with Mariabackup
-
- Closed
-
- relates to
-
MDEV-26668 CHECK TABLE fails to report schema mismatch
-
- Stalled
-
-
MDEV-26733 assert on shutdown lock->lock_word == X_LOCK_DECR in test
-
- Open
-
-
MDEV-26864 Race condition between transaction commit and undo log truncation
-
- Closed
-
-
MDEV-20203 InnoDB: Failing assertion: (block)->index || (block)->n_pointers == 0
-
- Confirmed
-
-
MDEV-21952 ibdata1 file size growing in MariaDB
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
{noformat} origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ In case the server finally shut down was running under 'rr' than the problem does not show up. {noformat} |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ In case the server finally shut down was running under 'rr' than the problem does not show up. {noformat} |
Description |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ In case the server finally shut down was running under 'rr' than the problem does not show up. {noformat} |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ In case the server finally shut down was running under 'rr' than the problem does not show up. {noformat} |
Description |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ In case the server finally shut down was running under 'rr' than the problem does not show up. {noformat} |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ Observations: 1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K. Raising innodb-buffer-pool-size to 32M does not let the failures disappear. 2. In case the server finally shut down was running under 'rr' than the problems did never show up. {noformat} |
Link | This issue relates to MDEV-20203 [ MDEV-20203 ] |
Link | This issue relates to MDEV-20203 [ MDEV-20203 ] |
Description |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ Observations: 1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K. Raising innodb-buffer-pool-size to 32M does not let the failures disappear. 2. In case the server finally shut down was running under 'rr' than the problems did never show up. {noformat} |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. ----------------- [ERROR] [FATAL] InnoDB: Trying to read 4096 bytes at 2097152 outside the bounds of the file: .//undo001 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ Observations: 1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K. Raising innodb-buffer-pool-size to 32M does not let the failures disappear. 2. In case the server finally shut down was running under 'rr' than the problems did never show up. {noformat} |
Link | This issue relates to MENT-1304 [ MENT-1304 ] |
Description |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. ----------------- [ERROR] [FATAL] InnoDB: Trying to read 4096 bytes at 2097152 outside the bounds of the file: .//undo001 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ Observations: 1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K. Raising innodb-buffer-pool-size to 32M does not let the failures disappear. 2. In case the server finally shut down was running under 'rr' than the problems did never show up. {noformat} |
{noformat}
origin/10.6 b0d38448a176dc990554c7dd5b184c3ebe64be8b 2021-08-19T16:35:44+05:30 Workflow: 1. Bootstrap + start DB server with --mysqld=--innodb_undo_tablespaces=3 --mysqld=--innodb_undo_log_truncate=ON in command line. 2. One sessions creates some initial data and disconnects. 3. Several sessions run for a few minutes concurrent DML on the tables created in 2. and disconnect. 4. Dump data, shutdown of DB server 5. Restart of DB server 6. Run SHOW VARIABLES Most frequent seen failure: mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0purge.cc:99: bool TrxUndoRsegsIterator::set_next(): Assertion `purge_sys.purge_queue.empty() || purge_sys.purge_queue.top() != m_rsegs' failed. Less frequent seen # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: PAGE_MAX_TRX_ID out of bounds: 8205, 4 # 2021-08-20T12:44:32 [2934208] | 2021-08-20 12:44:26 5 [ERROR] InnoDB: Apparent corruption in space 8 page 280 of index col_longtext_utf8_key of table test.table100_innodb_int_autoinc ... mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. --------------- # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [Note] InnoDB: trying to read page [page id: space=3, page number=102] in nonexisting or being-dropped tablespace ... many repetitions of the line above # 2021-08-20T12:34:35 [2762582] | 2021-08-20 12:33:47 16 [ERROR] [FATAL] InnoDB: Unable to read page [page id: space=3, page number=102] into the buffer pool after 100. The most probable cause of this error may be that the table has been corrupted. See https://mariadb.com/kb/en/library/innodb-recovery-modes/ # 2021-08-20T12:34:35 [2762582] | 210820 12:33:47 [ERROR] mysqld got signal 6 ; --------------- Workflow like above including 7. CHECK TABLE ... # 2021-08-20T16:24:28 [936058] | [rr 990542 12500]2021-08-20 16:23:51 5 [Warning] InnoDB: A transaction id in a record of table `test`.`table100_innodb_int_autoinc` is newer than the system-wide maximum. mysqld: /data/Server/10.6Z/storage/innobase/trx/trx0sys.cc:62: static void ReadViewBase::check_trx_id_sanity(trx_id_t, const table_name_t&): Assertion `0' failed. ----------------- [ERROR] [FATAL] InnoDB: Trying to read 4096 bytes at 2097152 outside the bounds of the file: .//undo001 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG perl rqg.pl \ --grammar=conf/engines/many_indexes.yy \ --gendata=conf/engines/many_indexes.zz \ --reporters=RestartConsistencyRR \ --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=Deadlock1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --mysqld=--plugin-load-add=file_key_management.so \ --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \ --duration=150 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --mysqld=--log-bin \ --mysqld=--sync-binlog=1 \ --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \ --mysqld=--loose-max-statement-time=30 \ --threads=9 \ --mysqld=--innodb_use_native_aio=1 \ --mysqld=--innodb_undo_tablespaces=3 \ --mysqld=--innodb_undo_log_truncate=ON \ --mysqld=--innodb_page_size=16K \ --mysqld=--innodb-buffer-pool-size=8M \ --no_mask \ --workdir=<local settings> --vardir=<local settings> --mtr-build-thread=<local settings> --basedir1=<local settings> --script_debug=_nix_ Observations: 1. innodb-buffer-pool-size=8M seems to be extreme small for innodb_page_size=16K. Raising innodb-buffer-pool-size to 32M does not let the failures disappear. 2. In case the server finally shut down was running under 'rr' than the problems did never show up. 3. After setting innodb_undo_log_truncate=off the failures disappeared. {noformat} |
Link | This issue blocks MENT-1304 [ MENT-1304 ] |
Link | This issue relates to MENT-1304 [ MENT-1304 ] |
Link |
This issue blocks |
Priority | Major [ 3 ] | Critical [ 2 ] |
Assignee | Matthias Leich [ mleich ] | Marko Mäkelä [ marko ] |
Fix Version/s | 10.5 [ 23123 ] | |
Affects Version/s | 10.5 [ 23123 ] | |
Affects Version/s | 10.6 [ 24028 ] | |
Affects Version/s | 10.6.5 [ 26034 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Link |
This issue is caused by |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.2.19 [ 23207 ] | |
Affects Version/s | 10.3.10 [ 23140 ] | |
Affects Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.3 [ 22126 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Labels | corruption regression |
Link | This issue relates to MDEV-20203 [ MDEV-20203 ] |
Summary | Draft: Certain failures during checks after shutdown/start when using several undo tablespaces and truncate | Corruption due to innodb_undo_log_truncate |
Link |
This issue relates to |
issue.field.resolutiondate | 2021-09-22 14:51:46.0 | 2021-09-22 14:51:46.66 |
Fix Version/s | 10.2.41 [ 26032 ] | |
Fix Version/s | 10.3.32 [ 26029 ] | |
Fix Version/s | 10.4.22 [ 26031 ] | |
Fix Version/s | 10.5.13 [ 26026 ] | |
Fix Version/s | 10.6.5 [ 26034 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Link | This issue relates to MDEV-26668 [ MDEV-26668 ] |
Link |
This issue includes |
Link | This issue relates to MDEV-26733 [ MDEV-26733 ] |
Link | This issue is blocked by TODO-3161 [ TODO-3161 ] |
Link | This issue blocks TODO-3161 [ TODO-3161 ] |
Link | This issue is blocked by TODO-3161 [ TODO-3161 ] |
Link |
This issue causes |
Link |
This issue relates to |
Workflow | MariaDB v3 [ 124495 ] | MariaDB v4 [ 159628 ] |
Link | This issue relates to TODO-3444 [ TODO-3444 ] |
Zendesk Related Tickets | 131727 |
I can get some occasional crashes when running innodb.undo_truncate on a 10.6 RelWithDebInfo build. One of them was in neighbor flushing. Even with the following, I got a crash in fil_invalid_page_access_msg() during a page flush:
/mtr --mysqld=--innodb-flush-neighbors=0 --repeat=10 --parallel=auto innodb.undo_truncate{,,,,,,,,,,}
So, we already have a somewhat workable test case.