ClickHouse/tests/tsan_ignorelist.txt
Azat Khuzhin 84bebc534b Fix suppressions for librdkafka data-race for statistics code
The problem is that ignorelist `fun` does not work recursively.

<details>

<summary>example</summary>

```c
// test.cpp

bool flag = false;

// avoid mangling
extern "C" {

void set_flag_impl()
{
    flag = true;
}
void set_flag()
{
    set_flag_impl();
}
void set_flag_if()
{
    if (flag)
        flag = false;
}

}

int main()
{
    std::thread t1([]{ set_flag(); });
    std::thread t2([]{ set_flag_if(); });

    t1.join();
    t2.join();

    return 0;
}
```

```
// ignorelist
[thread]
fun:set_flag
```

```
$ clang++ -g -fno-omit-frame-pointer -fsanitize=thread -fsanitize-ignorelist=ignorelist -o test test.cpp && ./test
SUMMARY: ThreadSanitizer: data race /tmp/tsan-test/test.cpp:18:9 in set_flag_if
$ sed -i 's/set_flag/set_flag_impl/' ignorelist
$ clang++ -g -fno-omit-frame-pointer -fsanitize=thread -fsanitize-ignorelist=ignorelist -o test test.cpp && ./test
OK
```

</details>

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-04-26 16:08:45 +03:00

12 lines
401 B
Plaintext

# Note, this file is ignorelist file [1] not suppressions [2].
#
# [1]: https://clang.llvm.org/docs/SanitizerSpecialCaseList.html
# [2]: https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions
#
[thread]
# https://github.com/ClickHouse/ClickHouse/issues/55629
fun:rd_kafka_broker_set_nodename
# https://github.com/ClickHouse/ClickHouse/issues/60443
fun:rd_avg_calc
fun:rd_avg_rollover