https://s3.amazonaws.com/clickhouse-test-reports/0/8ea7b9c9784f7014dccb4fe0dfd269265126a30d/stress_test__msan_.html

Post-processed traces: https://pastila.nl/?0006a09d/4a3864799d8b23c3998deeefcdca5d8f
Post-processed traces without boring threads: https://pastila.nl/?0006a09d/f342d95a823d513df62d68a5d8a1a50b

Explanation: https://pastila.nl/?000fcc82/3a48f372d3410a8691d50cb5647b2c20
{
    if (is_killed.load())
        return CancellationCode::CancelSent;
    is_killed.store(true);
    std::lock_guard lock(executors_mutex);
    for (auto * e : executors)
        e->cancel();
    return CancellationCode::CancelSent;
}
void QueryStatus::addPipelineExecutor(PipelineExecutor * e)
{
    std::lock_guard lock(executors_mutex);
    assert(std::find(executors.begin(), executors.end(), e) == executors.end());
    executors.push_back(e);
}
void QueryStatus::removePipelineExecutor(PipelineExecutor * e)
{
    std::lock_guard lock(executors_mutex);
    assert(std::find(executors.begin(), executors.end(), e) != executors.end());
    std::erase_if(executors, [e](PipelineExecutor * x) { return x == e; });
}
bool QueryStatus::checkTimeLimit()
{
    if (is_killed.load())
        throw Exception("Query was cancelled", ErrorCodes::QUERY_WAS_CANCELLED);
    return limits.checkTimeLimit(watch, overflow_mode);
}
bool QueryStatus::checkTimeLimitSoft()