1. rr record -h randomizes number of processors:
{10.5} midenok@dull:build$ rr record -h nproc
|
rr: Saving execution to trace directory `/home/midenok/.local/share/rr/nproc-0'.
|
8
|
{10.5} midenok@dull:build$ rr record -h nproc
|
rr: Saving execution to trace directory `/home/midenok/.local/share/rr/nproc-1'.
|
6
|
{10.5} midenok@dull:build$ rr record -h nproc
|
rr: Saving execution to trace directory `/home/midenok/.local/share/rr/nproc-2'.
|
3
|
{10.5} midenok@dull:build$ rr record -h nproc
|
rr: Saving execution to trace directory `/home/midenok/.local/share/rr/nproc-3'.
|
5
|
mtr option --rr --rr-arg=-h produces check-testcase failure:
--- /dev/shm/10.5m/mysql-test/var/2/tmp/check-mysqld_1.result 2020-09-17 12:39:40.051012859 +0300
|
+++ /dev/shm/10.5m/mysql-test/var/2/tmp/check-mysqld_1.reject 2020-09-17 12:42:01.852733184 +0300
|
@@ -646,7 +646,7 @@
|
THREAD_POOL_OVERSUBSCRIBE 3
|
THREAD_POOL_PRIORITY auto
|
THREAD_POOL_PRIO_KICKUP_TIMER 1000
|
-THREAD_POOL_SIZE 7
|
+THREAD_POOL_SIZE 2
|
THREAD_POOL_STALL_LIMIT 500
|
THREAD_STACK 299008
|
TIME_FORMAT %H:%i:%s
|
The simplest fix could be just apply --no-check-testcases for --rr.
The another fix is to disable THREAD_POOL_SIZE variable for check-test case here:
|
mtr_check.sql
|
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
WHERE variable_name NOT IN ('timestamp')
|
AND variable_name not like "Last_IO_Err*"
|
AND variable_name != 'INNODB_IBUF_MAX_SIZE'
|
AND variable_name != 'INNODB_USE_NATIVE_AIO'
|
AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP'
|
AND variable_name not like 'GTID%POS'
|
AND variable_name != 'GTID_BINLOG_STATE'
|
ORDER BY variable_name;
|
2. check for `perf_event_paranoid = 1` for user-friendly error message.
|