Алексей Веселовский
Компания: Align Technology
В докладе рассмотрим основные механизмы, используемые TSan для выявления ошибок совместного доступа к данным (aka data races).
Как обычно, посмотрим, как поддержка этого санитайзера реализована в компиляторе (clang и gcc), как меняется генерация кода при включении опции fsanitize=thread, и к чему это может привести.
Также посмотрим, как реализована поддержка TSan со стороны рантайма. Разберемся, почему TSan использует примерно в 10 раз больше адресного пространства, чем ASan. Нужно ли пересобирать все используемые библиотеки с TSan или же можно включить TSan только для части исходников, и почему TSan не сочетается с ASan. Ну и, наконец, может ли TSan поймать deadlock.
Основная цель доклада — изжить магию из TSan'a. После доклада слушатели будут понимать основные принципы работы TSan, знать когда и как его можно применять, а когда его применение бесполезно, или даже вредно.
Компания: Align Technology
Компания: Google