[MDEV-25656] Atomic DDL: Assertion `!full_crc32(flags)' failed in fil_space_t::logical_size(ulint) Created: 2021-05-11  Updated: 2021-05-12  Resolved: 2021-05-12

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

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-24626 Remove synchronous write of page0 and... Closed
relates to MDEV-17567 Atomic DDL Closed

 Description   

bb-10.6-monty-innodb f179fdefd1

2021-05-11 19:05:58 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=54291,54291
mysqld: /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h:678: static unsigned int fil_space_t::logical_size(ulint): Assertion `!full_crc32(flags)' failed.
210511 19:05:58 [ERROR] mysqld got signal 6 ;
 
#2  0x00000deb774a948a in __assert_fail_base (fmt=0xdeb77630750 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55c0c83d4458 "!full_crc32(flags)", 
    file=file@entry=0x55c0c83d43f8 "/home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h", line=line@entry=678, 
    function=function@entry=0x55c0c83e2780 <fil_space_t::logical_size(unsigned long)::__PRETTY_FUNCTION__> "static unsigned int fil_space_t::logical_size(ulint)") at assert.c:92
#3  0x00000deb774a9502 in __GI___assert_fail (assertion=0x55c0c83d4458 "!full_crc32(flags)", file=0x55c0c83d43f8 "/home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h", line=678, 
    function=0x55c0c83e2780 <fil_space_t::logical_size(unsigned long)::__PRETTY_FUNCTION__> "static unsigned int fil_space_t::logical_size(ulint)") at assert.c:101
#4  0x000055c0c7bc1a19 in fil_space_t::logical_size (flags=16) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h:678
#5  0x000055c0c7bc1aae in fil_space_t::physical_size (flags=16) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h:704
#6  0x000055c0c7bc1bb3 in fil_space_t::is_fcrc32_valid_flags (flags=16) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h:835
#7  0x000055c0c7bc1c38 in fil_space_t::is_valid_flags (flags=16, is_ibd=true) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/include/fil0fil.h:855
#8  0x000055c0c7efe646 in fil_space_t::create (id=123, flags=16, purpose=FIL_TYPE_TABLESPACE, crypt_data=0x0, mode=FIL_ENCRYPTION_DEFAULT) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/fil/fil0fil.cc:910
#9  0x000055c0c7c6aeb8 in recv_space (it=
    {first = 123, second = {name = "./test/#sql-alter-3d4d-10.ibd", space = 0x0, status = file_name_t::MISSING, size = 0, freed_ranges = {ranges = std::set with 0 elements}, static initial_flags = 16, flags = 16}}, 
    name="./test/#sql-alter-3d4d-10.ibd", crypt_data=0x0, size=0) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/log/log0recv.cc:717
#10 0x000055c0c7c6b1d4 in recv_sys_t::recover_deferred (this=0x55c0c8c758c0 <recv_sys>, space_id=123, name="./test/#sql-alter-3d4d-10.ibd", free_block=@0x7fffb92ea2b8: 0x27e458f0a060)
    at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/log/log0recv.cc:743
#11 0x000055c0c7c6ad06 in reinit_all (this=0x55c0c9680020 <deferred_spaces>) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/log/log0recv.cc:684
#12 0x000055c0c7c7864b in recv_recovery_from_checkpoint_start (flush_lsn=54291) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/log/log0recv.cc:4012
#13 0x000055c0c7dc1c9c in srv_start (create_new_db=false) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/srv/srv0start.cc:1426
#14 0x000055c0c7b9cb71 in innodb_init (p=0x55c0cb6f17e8) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/storage/innobase/handler/ha_innodb.cc:3824
#15 0x000055c0c77f6394 in ha_initialize_handlerton (plugin=0x55c0cb6cd8c0) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/handler.cc:660
#16 0x000055c0c74bdd8b in plugin_initialize (tmp_root=0x7fffb92eafe0, plugin=0x55c0cb6cd8c0, argc=0x55c0c8e3fe88 <remaining_argc>, argv=0x55c0cb687988, options_only=false)
    at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/sql_plugin.cc:1463
#17 0x000055c0c74beac9 in plugin_init (argc=0x55c0c8e3fe88 <remaining_argc>, argv=0x55c0cb687988, flags=0) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/sql_plugin.cc:1756
#18 0x000055c0c736ec5b in init_server_components () at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/mysqld.cc:5041
#19 0x000055c0c736fc13 in mysqld_main (argc=31, argv=0x55c0cb687988) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/mysqld.cc:5649
#20 0x000055c0c736684a in main (argc=30, argv=0x7fffb92ed348) at /home/mdbe/atomic_ddl/bb-10.6-monty-for-rr/sql/main.cc:34

A 2-thread test was running ALTER TABLE in one thread and BACKUP STAGE in another when it was sigkilled. The above occurred upon crash recovery.

Logs, data directories and rr profiles are available.

There have been several cases like this in a test run on the above-mentioned version.



 Comments   
Comment by Marko Mäkelä [ 2021-05-12 ]

This failure occurred on buildbot winx64-debug during the execution of test innodb.truncate_crash:

bb-10.6-MDEV-24626_1 247848f587f78057c0966dde3bbd4a2d48cfdfad

server.dll!my_sigabrt_handler()[my_thr_init.c:465]
ucrtbase.dll!raise()
ucrtbase.dll!abort()
ucrtbase.dll!_get_wpgmptr()
ucrtbase.dll!_wassert()
server.dll!fil_space_t::logical_size()[fil0fil.h:678]
server.dll!fil_space_t::physical_size()[fil0fil.h:704]
server.dll!fil_space_t::is_fcrc32_valid_flags()[fil0fil.h:835]
server.dll!fil_space_t::is_valid_flags()[fil0fil.h:855]
server.dll!fil_space_t::create()[fil0fil.cc:910]
server.dll!recv_space()[log0recv.cc:716]
server.dll!recv_sys_t::recover_deferred()[log0recv.cc:744]
server.dll!<unnamed-type-deferred_spaces>::reinit_all()[log0recv.cc:684]
server.dll!recv_recovery_from_checkpoint_start()[log0recv.cc:4010]
server.dll!srv_start()[srv0start.cc:1425]
server.dll!innodb_init()[ha_innodb.cc:3771]

Presumably it also occurred on kvm-fulltest2, but we do not have the server error logs for that, and the test log does not indicate the failing test.

Comment by Marko Mäkelä [ 2021-05-12 ]

This failure only occurred in a development version of MDEV-24626.

Generated at Thu Feb 08 09:39:21 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.