Bug #88355 Assertion failure: api0api.cc:3330:err == DB_SUCCESS || err == DB_DUPLICATE_KEY
Submitted: 3 Nov 2017 23:00 Modified: 7 Nov 2017 20:08
Reporter: Roel Van de Paar Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S6 (Debug Builds)
Version:8.0.3 RC OS:Any
Assigned to: CPU Architecture:Any

[3 Nov 2017 23:00] Roel Van de Paar
Description:
This bug is similar to bug 88354 but stacks differ

2017-11-03T22:29:20.844016Z 0 [Note] /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld: ready for connections. Version: '8.0.3-rc-debug-log'  socket: '/sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/socket.sock'  port: 16654  MySQL Community Server (GPL)
[...]
2017-11-03T22:29:33.073026Z 6 [Note] InnoDB: 1 rollback segment(s) are now active in the temporary tablespace.
2017-11-03T22:29:33.073078Z 6 [Note] InnoDB: 1 rollback segment(s) are now active in undo tablespace number 1.
2017-11-03T22:29:33.073103Z 6 [Note] InnoDB: 1 rollback segment(s) are now active in undo tablespace number 2.
2017-11-03T22:29:33.116249Z 6 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-03T22:29:33.116337Z 6 [Warning] InnoDB: Unable to delete statistics for table test.t2: Too many concurrent transactions. They can be deleted later using DELETE FROM mysql.innodb_index_stats WHERE database_name = 'test' AND table_name = 't2'; DELETE FROM mysql.innodb_table_stats WHERE database_name = 'test' AND table_name = 't2';
2017-11-03T22:29:33.149099Z 6 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-03T22:29:33.189333Z 6 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-03T22:29:33.203775Z 6 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-03T22:29:33.203880Z 6 [ERROR] InnoDB: Cannot save index statistics for table `test`.`t2`, index `PRIMARY`, stat name "n_diff_pfx01": Too many concurrent transactions
2017-11-03T22:29:33.210641Z 6 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-03T22:29:33.210706Z 6 [ERROR] InnoDB: Assertion failure: api0api.cc:3330:err == DB_SUCCESS || err == DB_DUPLICATE_KEY
InnoDB: thread 140395679160064

How to repeat:
CREATE DATABASE transforms;
CREATE DATABASE test;
USE test;
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
INSTALL PLUGIN version_tokens SONAME 'version_token.so';
CREATE FUNCTION version_tokens_set RETURNS STRING SONAME 'version_token.so';
CREATE FUNCTION version_tokens_show RETURNS STRING SONAME 'version_token.so';
CREATE FUNCTION version_tokens_edit RETURNS STRING SONAME 'version_token.so';
CREATE FUNCTION version_tokens_delete RETURNS STRING SONAME 'version_token.so';
CREATE FUNCTION version_tokens_lock_shared RETURNS INT SONAME 'version_token.so';
CREATE FUNCTION version_tokens_lock_exclusive RETURNS INT SONAME 'version_token.so';
CREATE FUNCTION version_tokens_unlock RETURNS INT SONAME 'version_token.so';
INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
INSTALL PLUGIN mysql_no_login SONAME 'mysql_no_login.so';
CREATE FUNCTION service_get_write_locks RETURNS INT SONAME 'locking_service.so';
CREATE FUNCTION service_release_locks RETURNS INT SONAME 'locking_service.so';
INSTALL PLUGIN mysqlx SONAME 'mysqlx.so';
CREATE TABLE t2(c1 INT(1)ZEROFILL,c2 CHAR(1) BINARY,c3 INT(1),PRIMARY KEY(c1)) ENGINE=InnoDB;
DROP TABLE t2;
CREATE TABLE t2(c1 CHAR(1)KEY,c2 CHAR (1) BINARY CHARACTER SET 'Binary' COLLATE 'Binary',c3 INT(1)) ENGINE=InnoDB;
ALTER TABLE t2 ADD INDEX(c2);
SET @@GLOBAL.innodb_rollback_segments=-1024;
SET @@GLOBAL.innodb_trx_rseg_n_slots_debug=2;
TRUNCATE TABLE t2;
[3 Nov 2017 23:01] Roel Van de Paar
Core was generated by `/sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld --no-defaults --core'.
Program terminated with signal 6, Aborted.
#0  0x00007fb06a3b29b1 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
61	  val = INTERNAL_SYSCALL (tgkill, err, 3, THREAD_GETMEM (THREAD_SELF, pid),
(gdb) bt
#0  0x00007fb06a3b29b1 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x000000000369e428 in my_write_core (sig=6) at /git/mysql-server_dbg/mysys/stacktrace.cc:291
#2  0x000000000286b8f6 in handle_fatal_signal (sig=6) at /git/mysql-server_dbg/sql/signal_handler.cc:234
#3  <signal handler called>
#4  0x00007fb0686ca1f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5  0x00007fb0686cb8e8 in __GI_abort () at abort.c:90
#6  0x0000000003a8b8f9 in ut_dbg_assertion_failed (expr=0x48e5558 "err == DB_SUCCESS || err == DB_DUPLICATE_KEY", 
    file=0x48e4fc0 "/git/mysql-server_dbg/storage/innobase/api/api0api.cc", line=3330)
    at /git/mysql-server_dbg/storage/innobase/ut/ut0dbg.cc:60
#7  0x0000000003aa8e27 in ib_sdi_insert_schema (space_id=4, ib_sdi_key=0x7fb06a953470, uncomp_len=244, comp_len=140, 
    sdi=0x7fb023472c58) at /git/mysql-server_dbg/storage/innobase/api/api0api.cc:3330
#8  0x0000000003aa9024 in ib_sdi_set (tablespace_id=4, ib_sdi_key=0x7fb06a953470, uncomp_len=244, comp_len=140, sdi=0x7fb023472c58, 
    trx=0x7fb0544008c0) at /git/mysql-server_dbg/storage/innobase/api/api0api.cc:3372
#9  0x0000000003b99315 in dict_sdi_set (tablespace=..., table=0x7fb0234275d0, sdi_key=0x7fb06a954b70, sdi=0x7fb023471738, 
    sdi_len=244) at /git/mysql-server_dbg/storage/innobase/dict/dict0sdi.cc:353
#10 0x0000000002c4b9e6 in dd::sdi_tablespace::__lambda2::operator() (__closure=0x7fb06a954b20, tblspc=...)
    at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:250
#11 0x0000000002c4c41c in (anonymous namespace)::__lambda0::operator() (__closure=0x7fb06a954ab0, tsid=9)
    at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:150
#12 0x0000000002c4d1e3 in (anonymous namespace)::Apply_to_tsid::operator()<dd::Index, (anonymous namespace)::apply_to_tablespaces(THD*, const dd::Table&, CLOSURE_TYPE&&) [with CLOSURE_TYPE = dd::sdi_tablespace::store_tbl_sdi(THD*, const handlerton&, const Sdi_type&, const dd::Table&, const dd::Schema&)::__lambda2&]::__lambda0>(const dd::Index &, <unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b121>) (this=0x7fb06a954acf, t=..., 
    clos=<unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b121>)
    at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:58
#13 0x0000000002c4cbd3 in (anonymous namespace)::apply_to_table_graph<(anonymous namespace)::Apply_to_tsid, (anonymous namespace)::apply_to_tablespaces(THD*, const dd::Table&, CLOSURE_TYPE&&) [with CLOSURE_TYPE = dd::sdi_tablespace::store_tbl_sdi(THD*, const handlerton&, const Sdi_type&, const dd::Table&, const dd::Schema&)::__lambda2&]::__lambda0>(const dd::Table &, <unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b210>, <unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b121>) (table=..., 
    ftor=<unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b210>, 
    clos=<unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x7b634f3, DIE 0x7c0b121>)
    at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:73
#14 0x0000000002c4c4c8 in (anonymous namespace)::apply_to_tablespaces<dd::sdi_tablespace::store_tbl_sdi(THD*, const handlerton&, const Sdi_type&, const dd::Table&, const dd::Schema&)::__lambda2&>(THD *, const dd::Table &, dd::sdi_tablespace::__lambda2 &) (thd=
    0x7fb023419000, table=..., clos=...) at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:151
#15 0x0000000002c4bb18 in dd::sdi_tablespace::store_tbl_sdi (thd=0x7fb023419000, hton=..., 
    sdi="{\n    \"mysqld_version_id\": 80003,\n    \"dd_version\": 1,\n    \"sdi_version\": 1,\n    \"dd_object_type\": \"Table\",\n 
   \"dd_object\": {\n        \"name\": \"t2\",\n        \"mysql_version_id\": 80003,\n        \"created"..., table=..., schema=...)
    at /git/mysql-server_dbg/sql/dd/impl/sdi_tablespace.cc:260
#16 0x0000000002c3facc in dd::sdi::__lambda0::operator() (__closure=0x7fb06a955b60, s=...)
    at /git/mysql-server_dbg/sql/dd/impl/sdi.cc:706
#17 0x0000000002c40222 in dd::(anonymous namespace)::with_schema<long long unsigned int, dd::sdi::store(THD*, const dd::Table*)::__lambda0>(THD *, const unsigned long long &, <unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x79a769e, DIE 0x7a536fb>) (thd=0x7fb023419000, key=@0x7fb06a955b78: 5, 
    clos=<unknown type in /sda/MS201017-mysql-8.0.3-rc-linux-x86_64-debug/bin/mysqld, CU 0x79a769e, DIE 0x7a536fb>)
    at /git/mysql-server_dbg/sql/dd/impl/sdi.cc:567
#18 0x0000000002c3fbdf in dd::sdi::store (thd=0x7fb023419000, tp=0x7fb0234275d0) at /git/mysql-server_dbg/sql/dd/impl/sdi.cc:708
#19 0x00000000027660bd in dd::cache::Storage_adapter::store<dd::Table> (thd=0x7fb023419000, object=0x7fb0234275d0)
    at /git/mysql-server_dbg/sql/dd/impl/cache/storage_adapter.cc:319
#20 0x00000000026825c7 in dd::cache::Dictionary_client::update<dd::Table> (this=0x7fb02341f000, new_object=0x7fb0234275d0)
    at /git/mysql-server_dbg/sql/dd/impl/cache/dictionary_client.cc:2534
#21 0x0000000002c2eae2 in handler_truncate_base (thd=0x7fb023419000, table_ref=0x7fb02342fa10, table_def=0x7fb0234275d0)
    at /git/mysql-server_dbg/sql/sql_truncate.cc:301
#22 0x0000000002c2f841 in Sql_cmd_truncate_table::truncate_table (this=0x7fb02342f9e8, thd=0x7fb023419000, table_ref=0x7fb02342fa10)
    at /git/mysql-server_dbg/sql/sql_truncate.cc:661
#23 0x0000000002c2fb80 in Sql_cmd_truncate_table::execute (this=0x7fb02342f9e8, thd=0x7fb023419000)
    at /git/mysql-server_dbg/sql/sql_truncate.cc:751
#24 0x00000000024be1ff in mysql_execute_command (thd=0x7fb023419000, first_level=true)
    at /git/mysql-server_dbg/sql/sql_parse.cc:4628
#25 0x00000000024c042b in mysql_parse (thd=0x7fb023419000, parser_state=0x7fb06a9582f0)
    at /git/mysql-server_dbg/sql/sql_parse.cc:5414
#26 0x00000000024b68e7 in dispatch_command (thd=0x7fb023419000, com_data=0x7fb06a958b80, command=COM_QUERY)
    at /git/mysql-server_dbg/sql/sql_parse.cc:1708
#27 0x00000000024b53f5 in do_command (thd=0x7fb023419000) at /git/mysql-server_dbg/sql/sql_parse.cc:1291
#28 0x000000000285b2d6 in handle_connection (arg=0x7fb056aeb3c0)
    at /git/mysql-server_dbg/sql/conn_handler/connection_handler_per_thread.cc:328
#29 0x00000000036ec54d in pfs_spawn_thread (arg=0x7fb056b87520) at /git/mysql-server_dbg/storage/perfschema/pfs.cc:2985
#30 0x00007fb06a3ade25 in start_thread (arg=0x7fb06a959700) at pthread_create.c:308
#31 0x00007fb06878d34d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
[3 Nov 2017 23:01] Roel Van de Paar
See bug 88325 also
[3 Nov 2017 23:31] Roel Van de Paar
Also see bug 88356
[4 Nov 2017 6:48] MySQL Verification Team
Hello Roel,

Thank you for the report and test case.
Observed that 8.0.3 debug build is affected, with the provided test case seeing different stack traces.

Thanks,
Umesh
[4 Nov 2017 6:49] MySQL Verification Team
rm -rf 88355
bin/mysqld-debug --initialize-insecure --basedir=$PWD --datadir=$PWD/88355 
bin/mysqld-debug --no-defaults --basedir=$PWD --datadir=$PWD/88355 --core-file --socket=/tmp/mysql_ushastry.sock --port=3306 --log-error=$PWD/88355/log.err 2>&1 &

-- 
(gdb) bt
#0  0x00007f3988f55771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x00000000034fb0bb in my_write_core (sig=11) at ../../mysqlcom-pro-8.0.3-rc/mysys/stacktrace.cc:291
#2  0x00000000026d704a in handle_fatal_signal (sig=11) at ../../mysqlcom-pro-8.0.3-rc/sql/signal_handler.cc:234
#3  <signal handler called>
#4  0x00000000022a0658 in safe_mutex_assert_owner (mp=0x1) at ../../mysqlcom-pro-8.0.3-rc/include/thr_mutex.h:151
#5  0x00000000022aa818 in THD::enter_cond (this=0x7f38f4000be0, cond=0x0, mutex=0x7f39343f8b78 <repl_semisync+24>,
    stage=0x7f39343f8880 <stage_waiting_for_semi_sync_ack_from_slave>, old_stage=0x7f3978dc85b0,
    src_function=0x7f39341f50f8 <ReplSemiSyncMaster::commitTrx(char const*, unsigned long long)::__func__> "commitTrx",
    src_file=0x7f39341f44c8 "../../../mysqlcom-pro-8.0.3-rc/plugin/semisync/semisync_master.cc", src_line=740) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_class.h:2586
#6  0x00000000023e1a09 in thd_enter_cond (opaque_thd=0x0, cond=0x0, mutex=0x7f39343f8b78 <repl_semisync+24>,
    stage=0x7f39343f8880 <stage_waiting_for_semi_sync_ack_from_slave>, old_stage=0x7f3978dc85b0,
    src_function=0x7f39341f50f8 <ReplSemiSyncMaster::commitTrx(char const*, unsigned long long)::__func__> "commitTrx",
    src_file=0x7f39341f44c8 "../../../mysqlcom-pro-8.0.3-rc/plugin/semisync/semisync_master.cc", src_line=740)
    at ../../mysqlcom-pro-8.0.3-rc/sql/sql_thd_internal_api.cc:134
#7  0x00007f39341efd9f in ReplSemiSyncMaster::commitTrx (this=0x7f39343f8b60 <repl_semisync>, trx_wait_binlog_name=0x7f38f400a148 "hod03-bin.000001",
    trx_wait_binlog_pos=749) at ../../../mysqlcom-pro-8.0.3-rc/plugin/semisync/semisync_master.cc:740
#8  0x000000000224b9e6 in Binlog_storage_delegate::after_sync (this=0x579f340 <delegates_init()::storage_mem>, thd=0x7f38f4000be0,
    log_file=0x7f38f400a148 "hod03-bin.000001", log_pos=749) at ../../mysqlcom-pro-8.0.3-rc/sql/rpl_handler.cc:720
#9  0x0000000003446449 in call_after_sync_hook (queue_head=0x7f38f4000be0) at ../../mysqlcom-pro-8.0.3-rc/sql/binlog.cc:9424
#10 0x00000000034472f6 in MYSQL_BIN_LOG::ordered_commit (this=0x58090e0 <mysql_bin_log>, thd=0x7f38f4000be0, all=true, skip_commit=false)
    at ../../mysqlcom-pro-8.0.3-rc/sql/binlog.cc:9749
#11 0x00000000034452ef in MYSQL_BIN_LOG::commit (this=0x58090e0 <mysql_bin_log>, thd=0x7f38f4000be0, all=true) at ../../mysqlcom-pro-8.0.3-rc/sql/binlog.cc:8911
#12 0x00000000028318bb in ha_commit_trans (thd=0x7f38f4000be0, all=true, ignore_global_read_lock=false) at ../../mysqlcom-pro-8.0.3-rc/sql/handler.cc:1839
#13 0x0000000002453b1a in trans_commit_implicit (thd=0x7f38f4000be0, ignore_global_read_lock=false) at ../../mysqlcom-pro-8.0.3-rc/sql/transaction.cc:346
#14 0x00000000023f6d65 in udf_end_transaction (thd=0x7f38f4000be0, rollback=false, udf=0x7f38f4003150, insert_udf=true) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_udf.cc:601
#15 0x00000000023f751c in mysql_create_function (thd=0x7f38f4000be0, udf=0x7f38f4003150) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_udf.cc:759
#16 0x00000000023234e4 in mysql_execute_command (thd=0x7f38f4000be0, first_level=true) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_parse.cc:3815
#17 0x0000000002327c0e in mysql_parse (thd=0x7f38f4000be0, parser_state=0x7f3978dcb420) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_parse.cc:5414
#18 0x000000000231dead in dispatch_command (thd=0x7f38f4000be0, com_data=0x7f3978dcbd10, command=COM_QUERY) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_parse.cc:1708
#19 0x000000000231c9ac in do_command (thd=0x7f38f4000be0) at ../../mysqlcom-pro-8.0.3-rc/sql/sql_parse.cc:1291
#20 0x00000000026c69c3 in handle_connection (arg=0xa3d0280) at ../../mysqlcom-pro-8.0.3-rc/sql/conn_handler/connection_handler_per_thread.cc:328
#21 0x000000000352d230 in pfs_spawn_thread (arg=0xa526540) at ../../../mysqlcom-pro-8.0.3-rc/storage/perfschema/pfs.cc:2985
#22 0x00007f3988f50df5 in start_thread () from /lib64/libpthread.so.0
#23 0x00007f3987a1060d in clone () from /lib64/libc.so.6
(gdb)
[7 Nov 2017 13:11] Naga Satyanarayana Bodapati
Posted by developer:
 
Any crash with SET @@GLOBAL.innodb_trx_rseg_n_slots_debug=2; or 1 (or low values) is not a real BUG.

Essentially, you are running out of transactions and unable to create ones.

With 8.0, with default settings:
you have default: 128 rollback segments per undo tablespace
and default undo tablespaces: 2

So to run out of trx slot: you should have 2 * (128 * 1024) = 256K concurrent RW transactions.

And coming to this bug, the DDL requiring two trxs is fixed by Bug#87225. Now DDLs use only one trx for entire DDL.

in 8.0.4:

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
CREATE TABLE t2(c1 CHAR(1)KEY,c2 CHAR (1) BINARY CHARACTER SET 'Binary'
COLLATE 'Binary',c3 INT(1)) ENGINE=InnoDB;
ALTER TABLE t2 ADD INDEX(c2);
SET @@GLOBAL.innodb_rollback_segments=-1024;
Warnings:
Warning	1292	Truncated incorrect innodb_rollback_segments value: '-1024'
SET @@GLOBAL.innodb_trx_rseg_n_slots_debug=2;
SELECT @@innodb_rollback_segments;
@@innodb_rollback_segments
1
SELECT @@innodb_trx_rseg_n_slots_debug;
@@innodb_trx_rseg_n_slots_debug
2
TRUNCATE TABLE t2;
main.satya_nslots                        [ fail ]  Found warnings/errors in server log file!
        Test ended at 2017-11-07 18:29:52
line
2017-11-07T12:59:51.720129Z 8 [Warning] [000000] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-07T12:59:51.720178Z 8 [Warning] [000000] InnoDB: Unable to delete statistics for table test.t2: Too many concurrent transactions. They can be deleted later using DELETE FROM mysql.innodb_index_stats WHERE database_name = 'test' AND table_name = 't2'; DELETE FROM mysql.innodb_table_stats WHERE database_name = 'test' AND table_name = 't2';
2017-11-07T12:59:51.722707Z 8 [Warning] [000000] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
.... repeated 2 times: [Warning] [000000] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2017-11-07T12:59:51.726091Z 8 [ERROR] [000000] InnoDB: Cannot save index statistics for table `test`.`t2`, index `PRIMARY`, stat name "n_diff_pfx01": Too many concurrent transactions
^ Found warnings in /home/satya/WORK/mysql-8.0/bld/mysql-test/var/log/mysqld.1.err
ok
[7 Nov 2017 20:08] Roel Van de Paar
Hi Naga,

Thank you for your input!

So, I see a set of crashes in 8.0.3 with testcases using low innodb_trx_rseg_n_slots_debug. First impression is that 8.0.3 has new issues in this area. This should in part be verifiable by running these testcases against 5.7 and establishing whether 8.0.3 has new assertions or crashes in this area. Then, doing some research and seeing what is happening in each specific case (as you did in this bug; thank you) is the way to go imho.

The assertion that any crash with low innodb_trx_rseg_n_slots_debug values is not a real bug is incorrect I believe, especially if one includes that such cases often highlight buggy behaviour. 

Examples of bugs which have innodb_trx_rseg_n_slots_debug and have seen fixes and code changes as a result of being logged are bug 74676, bug 78701, bug 74363, bug 75913, bug 74810. Also of interest is  Marko's comment [13 Feb 2015 12:53] in bug 74363.

If the behaviour in this bug could be repeated in 8.0.3, and is now "fixed" or at least changed indirectly as part of the fix for another bug, then 'can't repeat' would not seem to be a correct status to close this ticket out.