https://s3.amazonaws.com/clickhouse-test-reports/43987/3725cf4aa7a9aa022b11d08b2f8e4f7f0dd70283/stress_test__ubsan_/gdb.log
{
            
            
            if (errno == 0)
                throw Exception("Failed to create thread timer. The function 'timer_create' returned non-zero but didn't set errno. This is bug in your OS.",
                    ErrorCodes::CANNOT_CREATE_TIMER);
            throwFromErrno("Failed to create thread timer", ErrorCodes::CANNOT_CREATE_TIMER);
        }
        timer_id.emplace(local_timer_id);
        
        
        
        
        UInt32 period_rand = std::uniform_int_distribution<UInt32>(0, period)(thread_local_rng);
        struct timespec interval{.tv_sec = period / TIMER_PRECISION, .tv_nsec = period % TIMER_PRECISION};
        struct timespec offset{.tv_sec = period_rand / TIMER_PRECISION, .tv_nsec = period_rand % TIMER_PRECISION};
        struct itimerspec timer_spec = {.it_interval = interval, .it_value = offset};
        if (timer_settime(*timer_id, 0, &timer_spec, nullptr))
            throwFromErrno("Failed to set thread timer period", ErrorCodes::CANNOT_SET_TIMER_PERIOD);
        signal_handler_disarmed = false;
    }
    catch (...)
    {
        tryCleanup();
        throw;
    }
#endif
}
template <typename ProfilerImpl>
QueryProfilerBase<ProfilerImpl>::~QueryProfilerBase()