Skip to content

Commit 16a9356

Browse files
authored
Merge pull request #73777 from myaaaaaaaaa/enable-tsan
Add a Linux ThreadSanitizer job to CI
2 parents c244903 + 8b78ad5 commit 16a9356

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

.github/workflows/linux_builds.yml

+11
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ env:
99
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
1010
DOTNET_NOLOGO: true
1111
DOTNET_CLI_TELEMETRY_OPTOUT: true
12+
TSAN_OPTIONS: suppressions=misc/error_suppressions/tsan.txt
1213

1314
concurrency:
1415
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-linux
@@ -58,6 +59,16 @@ jobs:
5859
# Skip 2GiB artifact speeding up action.
5960
artifact: false
6061

62+
- name: Editor with ThreadSanitizer (target=editor, tests=yes, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
63+
cache-name: linux-editor-thread-sanitizer
64+
target: editor
65+
tests: true
66+
sconsflags: dev_build=yes use_tsan=yes use_llvm=yes linker=lld
67+
bin: "./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san"
68+
build-mono: false
69+
# Skip 2GiB artifact speeding up action.
70+
artifact: false
71+
6172
- name: Template w/ Mono (target=template_release)
6273
cache-name: linux-template-mono
6374
target: template_release

misc/error_suppressions/tsan.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# See the below link for an explanation of this file's format
2+
# https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions
3+
4+
deadlock:tests/core/templates/test_command_queue.h
5+
deadlock:modules/text_server_adv/text_server_adv.cpp
6+
deadlock:modules/text_server_fb/text_server_fb.cpp
7+

0 commit comments

Comments
 (0)