Details
Description
# mysqld options required for replay: --thread_handling=pool-of-threads |
SET GLOBAL thread_pool_stall_limit=2148; # >=2148 triggers the issue |
Valid values for thread-pool-stall-limit are 10 to 4294967295. However, when using >= 2148, we see this UBSAN error:
11.5.0 3f9182126c64bcec359bebe9ebad2a0e559b13e2 (Debug) |
/test/11.5_dbg_san/sql/threadpool_generic.cc:572:5: runtime error: signed integer overflow: 2148 * 1000000 cannot be represented in type 'int'
|
#0 0x56219dda558b in timer_thread /test/11.5_dbg_san/sql/threadpool_generic.cc:572
|
#1 0x1553aca8f189 in start_thread nptl/pthread_create.c:444
|
#2 0x1553acb1dbcf in clone3 ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
Setup:
Compiled with a recent version of GCC (I use GCC 12.3.0) and:
|
-DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON -DWSREP_LIB_WITH_ASAN=ON
|
Set before execution:
|
export ASAN_OPTIONS=quarantine_size_mb=512:atexit=0:detect_invalid_pointer_pairs=3:dump_instruction_bytes=1:abort_on_error=1:allocator_may_return_null=1
|
Present in 10.5-11.5 dbg+opt.