[MDEV-31666] Assertion `recv_sys.recovery_on' fails in srv_prepare_to_delete_redo_log_file upon upgrade from pre-10.8 Created: 2023-07-11  Updated: 2023-07-13  Resolved: 2023-07-13

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 11.0, 11.1
Fix Version/s: N/A

Type: Bug Priority: Blocker
Reporter: Elena Stepanova Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
is duplicated by MDEV-31443 assert [FATAL] InnoDB: Unable to find... Closed

 Description   

Hopefully it's just an overzealous debug assertion, but it needs to be checked before the next release, as there might be hidden non-debug consequences; hence set to blocker. If it is confirmed to be harmless, please demote to non-blocker.

To reproduce, it is enough to start 11.x on a freshly created datadir of any of 10.1-10.7 (maybe earlier versions as well, I didn't check). For example,

  • bootstrap the latest 10.6;
  • (optionally) start and shut down the server;
  • start 11.0 on the created datadir.

11.0 3d617fdc

mysqld: /data/src/11.0/storage/innobase/srv/srv0start.cc:1040: lsn_t srv_prepare_to_delete_redo_log_file(): Assertion `recv_sys.recovery_on' failed.
230711 18:45:11 [ERROR] mysqld got signal 6 ;
 
#9  0x00007f077fc53df2 in __GI___assert_fail (assertion=0x560a6fe06860 "recv_sys.recovery_on", file=0x560a6fe04c60 "/data/src/11.0/storage/innobase/srv/srv0start.cc", line=1040, function=0x560a6fe068a0 "lsn_t srv_prepare_to_delete_redo_log_file()") at ./assert/assert.c:101
#10 0x0000560a6e8c45de in srv_prepare_to_delete_redo_log_file () at /data/src/11.0/storage/innobase/srv/srv0start.cc:1040
#11 0x0000560a6e8c5260 in srv_log_rebuild () at /data/src/11.0/storage/innobase/srv/srv0start.cc:1112
#12 0x0000560a6e8c56b3 in srv_log_rebuild_if_needed () at /data/src/11.0/storage/innobase/srv/srv0start.cc:1156
#13 0x0000560a6e8c575b in ibuf_log_rebuild_if_needed () at /data/src/11.0/storage/innobase/srv/srv0start.cc:1169
#14 0x0000560a6e8c88a2 in srv_start (create_new_db=false) at /data/src/11.0/storage/innobase/srv/srv0start.cc:1532
#15 0x0000560a6e436474 in innodb_init (p=0x615000002618) at /data/src/11.0/storage/innobase/handler/ha_innodb.cc:4175
#16 0x0000560a6da8a52c in ha_initialize_handlerton (plugin=0x6210000bf700) at /data/src/11.0/sql/handler.cc:687
#17 0x0000560a6d208e25 in plugin_initialize (tmp_root=0x7ffe33dcb730, plugin=0x6210000bf700, argc=0x560a71602460 <remaining_argc>, argv=0x616000000a88, options_only=false) at /data/src/11.0/sql/sql_plugin.cc:1465
#18 0x0000560a6d20ad51 in plugin_init (argc=0x560a71602460 <remaining_argc>, argv=0x616000000a88, flags=0) at /data/src/11.0/sql/sql_plugin.cc:1758
#19 0x0000560a6cdd72c3 in init_server_components () at /data/src/11.0/sql/mysqld.cc:5243
#20 0x0000560a6cdd9663 in mysqld_main (argc=12, argv=0x616000000a88) at /data/src/11.0/sql/mysqld.cc:5866
#21 0x0000560a6cdc1909 in main (argc=11, argv=0x7ffe33dce008) at /data/src/11.0/sql/main.cc:34

All default options are sufficient. innodb_fast_shutdown=0 doesn't change anything.
Could not reproduce on upgrade from 10.8+.
Could not reproduce on upgrade to 10.x.



 Comments   
Comment by Thirunarayanan Balathandayuthapani [ 2023-07-13 ]

This issue has been fixed as a part of

commit 313c5a1dfb744aaef10586526dda89d2b4a50651
Author: Marko Mäkelä <marko.makela@mariadb.com>
Date:   Wed Jul 5 12:37:05 2023 +0300
 
    MDEV-31443 [FATAL] InnoDB: Unable to find charset-collation in ib
uf_upgrade()

I think we need to merge into 11.1 and 11.2 yet. Patch exist only in 11.0 so far.
That's why this problem happens in 11.1 and 11.2 only.

Generated at Thu Feb 08 10:25:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.