File tree 3 files changed +20
-1
lines changed
3 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -486,6 +486,7 @@ jobs:
486
486
config_hash : ${{ needs.check_source.outputs.config_hash }}
487
487
options : ./configure --config-cache --with-thread-sanitizer --with-pydebug
488
488
suppressions_path : Tools/tsan/supressions.txt
489
+ tsan_logs_artifact_name : tsan-logs-default
489
490
490
491
build_tsan_free_threading :
491
492
name : ' Thread sanitizer (free-threading)'
@@ -496,6 +497,7 @@ jobs:
496
497
config_hash : ${{ needs.check_source.outputs.config_hash }}
497
498
options : ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug
498
499
suppressions_path : Tools/tsan/suppressions_free_threading.txt
500
+ tsan_logs_artifact_name : tsan-logs-free-threading
499
501
500
502
# CIFuzz job based on https://google.github.io/oss-fuzz/getting-started/continuous-integration/
501
503
cifuzz :
Original file line number Diff line number Diff line change 11
11
description : ' A repo relative path to the suppressions file'
12
12
required : true
13
13
type : string
14
+ tsan_logs_artifact_name :
15
+ description : ' Name of the TSAN logs artifact. Must be unique for each job.'
16
+ required : true
17
+ type : string
14
18
15
19
jobs :
16
20
build_tsan_reusable :
41
45
sudo sysctl -w vm.mmap_rnd_bits=28
42
46
- name : TSAN Option Setup
43
47
run : |
44
- echo "TSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/${{ inputs.suppressions_path }}" >> $GITHUB_ENV
48
+ echo "TSAN_OPTIONS=log_path=${GITHUB_WORKSPACE}/tsan_log suppressions=${GITHUB_WORKSPACE}/${{ inputs.suppressions_path }} handle_segv=0 " >> $GITHUB_ENV
45
49
echo "CC=clang" >> $GITHUB_ENV
46
50
echo "CXX=clang++" >> $GITHUB_ENV
47
51
- name : Add ccache to PATH
60
64
run : make pythoninfo
61
65
- name : Tests
62
66
run : ./python -m test --tsan -j4
67
+ - name : Display TSAN logs
68
+ if : always()
69
+ run : find ${GITHUB_WORKSPACE} -name 'tsan_log.*' | xargs head -n 1000
70
+ - name : Archive TSAN logs
71
+ if : always()
72
+ uses : actions/upload-artifact@v4
73
+ with :
74
+ name : ${{ inputs.tsan_logs_artifact_name }}
75
+ path : tsan_log.*
76
+ if-no-files-found : ignore
Original file line number Diff line number Diff line change 2
2
# reference: https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions
3
3
race:get_allocator_unlocked
4
4
race:set_allocator_unlocked
5
+
6
+ # https://gist.github.com/mpage/daaf32b39180c1989572957b943eb665
7
+ thread:pthread_create
You can’t perform that action at this time.
0 commit comments