Bug #116394 Test binlog_gtid.binlog_gtid_binlog_recovery_errors crashes with an assert

Submitted: 17 Oct 2024 12:46 Modified: 2 Jul 3:54
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S6 (Debug Builds)
Version:9.7.0 OS:MacOS (15.0.1)
Assigned to: CPU Architecture:ARM

[17 Oct 2024 12:46] Laurynas Biveinis
Description:
./mtr binlog_gtid.binlog_gtid_binlog_recovery_errors
...
[ 25%] binlog_gtid.binlog_gtid_binlog_recovery_errors 'mix'  [ skipped ]  Doesn't support --binlog-format = 'mixed'
[ 50%] binlog_gtid.binlog_gtid_binlog_recovery_errors 'row'  [ fail ]
        Test ended at 2024-10-17 15:42:53

CURRENT_TEST: binlog_gtid.binlog_gtid_binlog_recovery_errors
mysqltest: At line 46: Query '$end_scenario_stmt' failed.
ERROR 2013 (HY000): Lost connection to MySQL server during query
In included file ./common/binlog/recovery/end_scenario.inc: 47
included from /Users/laurynas/vilniusdb/mysql-9.1.0/mysql-test/suite/binlog_gtid/t/binlog_gtid_binlog_recovery_errors.test: 287
...
2024-10-17T12:42:52.109899Z 8 [ERROR] [MY-011980] [InnoDB] Could not persist GTID as space for GTID is not allocated.
2024-10-17T12:42:52.109927Z 8 [ERROR] [MY-013183] [InnoDB] Assertion failure: trx0undo.cc:661 thread 0x17058f000
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/9.1/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
2024-10-17T12:42:52Z UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x1278c3000
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 17058eec8 thread_stack 0x100000
0   mysqld                              0x0000000102e839c0 my_print_stacktrace(unsigned char const*, unsigned long) + 72
1   mysqld                              0x0000000101c1aebc print_fatal_signal(int, __siginfo*) + 796
2   mysqld                              0x0000000101c1b18c my_server_abort() + 112
3   mysqld                              0x0000000102e74264 my_abort() + 20
4   mysqld                              0x000000010389e9c4 ut_dbg_assertion_failed(char const*, char const*, unsigned long long) + 536
5   mysqld                              0x000000010389402c trx_undo_gtid_set(trx_t*, trx_undo_t*, bool) + 276
6   mysqld                              0x000000010385459c trx_rollback_low(trx_t*) + 788
7   mysqld                              0x000000010385423c trx_rollback_for_mysql(trx_t*) + 76
8   mysqld                              0x00000001033e7418 innobase_rollback_trx(trx_t*) + 252
9   mysqld                              0x00000001033dd88c innobase_rollback_by_xid(handlerton*, xid_t*) + 144
10  mysqld                              0x0000000101afbad4 (anonymous namespace)::rollback_one_ht(THD*, st_plugin_int**, void*) + 156
11  mysqld                              0x000000010191de28 plugin_foreach_with_mask(THD*, bool (**)(THD*, st_plugin_int**, void*), int, unsigned int, void*) + 1596
12  mysqld                              0x000000010191e08c plugin_foreach_with_mask(THD*, bool (*)(THD*, st_plugin_int**, void*), int, unsigned int, void*) + 84
13  mysqld                              0x0000000101afb95c trx_coordinator::rollback_detached_by_xid(THD*) + 292
14  mysqld                              0x0000000101afbd14 trx_coordinator::rollback_in_engines(THD*, bool) + 140
15  mysqld                              0x000000010286bf74 (anonymous namespace)::finish_transaction_in_engines(THD*, bool, bool) + 140
16  mysqld                              0x000000010286bd28 MYSQL_BIN_LOG::process_commit_stage_queue(THD*, THD*) + 776
17  mysqld                              0x0000000102856d7c MYSQL_BIN_LOG::ordered_commit(THD*, bool, bool) + 4156
18  mysqld                              0x00000001028556ec MYSQL_BIN_LOG::rollback(THD*, bool) + 3796
19  mysqld                              0x0000000101b30bdc Sql_cmd_xa_rollback::process_detached_xa_rollback(THD*) + 672
20  mysqld                              0x0000000101b308ac Sql_cmd_xa_rollback::trans_xa_rollback(THD*) + 104
21  mysqld                              0x0000000101b307b8 Sql_cmd_xa_rollback::execute(THD*) + 32
22  mysqld                              0x00000001018e5af4 mysql_execute_command(THD*, bool) + 25260
23  mysqld                              0x00000001018dd748 dispatch_sql_command(THD*, Parser_state*, bool) + 2664
24  mysqld                              0x00000001018d991c dispatch_command(THD*, COM_DATA const*, enum_server_command) + 7684
25  mysqld                              0x00000001018dbca4 do_command(THD*) + 1928
26  mysqld                              0x0000000101beac3c handle_connection(void*) + 488
27  mysqld                              0x00000001039a626c pfs_spawn_thread(void*) + 312
28  libsystem_pthread.dylib             0x000000018f8132e4 _pthread_start + 136
29  libsystem_pthread.dylib             0x000000018f80e0fc thread_start + 8

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (10e868630): XA ROLLBACK 'x'

How to repeat:
See above
[17 Oct 2024 13:02] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback!

regards,
Umesh
[28 Jan 2025 14:35] Laurynas Biveinis
Same on 9.2.0
[16 May 2025 10:15] Laurynas Biveinis
Same on 9.3.0
[28 Oct 2025 4:41] Laurynas Biveinis
Same on 9.5.0
[22 Jan 11:14] Laurynas Biveinis
Same on 9.6.0
[24 Mar 12:48] Laurynas Biveinis
Same on 9.7.0-er
[2 Jul 3:54] Laurynas Biveinis
Same on 9.7.0

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.058 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.