Bug #116394 Test binlog_gtid.binlog_gtid_binlog_recovery_errors crashes with an assert
Submitted: 17 Oct 12:46 Modified: 17 Oct 13:02
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S6 (Debug Builds)
Version:9.1.0 OS:MacOS (15.0.1)
Assigned to: CPU Architecture:ARM

[17 Oct 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 13:02] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback!

regards,
Umesh