Skip to content

[TSan] Data race / lock-order in ORC multi-threaded compile #221140

Description

@compilersutra

Built with -DLLVM_USE_SANITIZER=Thread for X86/AMDGPU. check-llvm fails 169 tests.

A lot of those look like expected-crash (not --crash) tests going wrong under TSan.

Build

cmake -S llvm -B build-tsan -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_ENABLE_PROJECTS="clang;lld" \
  -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" \
  -DLLVM_USE_SANITIZER=Thread
export TSAN_OPTIONS=halt_on_error=0:history_size=7
ninja check-llvm 2>&1 | tee asan-llvm.log            
Testing Time: 1649.78s

Total Discovered Tests: 77387
  Skipped          :   399 (0.52%)
  Unsupported      : 30068 (38.85%)
  Passed           : 46674 (60.31%)
  Expectedly Failed:    77 (0.10%)
  Failed           :   169 (0.22%)
List of 169 failing testcase
>grep -E 'FAIL:' tsan-llvm.log
FAIL: LLVM :: Analysis/CtxProfAnalysis/flatten-check-path.ll (702 of 66736)
FAIL: LLVM :: Bitcode/value-with-long-name-dbg.ll (4941 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/at-least-one-def-value-assert.mir (8144 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/cc-sgpr-over-limit.ll (8319 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/convergence-laneops.ll (8415 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/flat-error-unsupported-gpu-hsa.ll (8788 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/fp-min-max-image-atomics.ll (8910 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/gds-unsupported.ll (8965 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.cvt.f32.fp8.err.ll (9423 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.pk.bf16.ll (9457 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.gfx11.ll (9472 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.release.all.ll (9473 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll (9501 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.gfx950.ll (9502 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.image.gather4.o.dim.ll (9536 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll (9574 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll (9586 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll (9618 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.permlane32.swap.ll (9624 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.xfail.ll (9649 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll (9656 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.xfail.ll (9664 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll (9674 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.s.memrealtime.ll (9715 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.s.waitcnt_gfx1250.ll (9722 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll (9794 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll (9837 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll (9838 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/llvm.fptrunc.round.err.ll (9861 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/lower-control-flow-live-variables-update.xfail.mir (9998 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll (10093 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/read-register-invalid-type-i32.ll (10569 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/read-register-invalid-type-i64.ll (10570 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll (10773 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir (10899 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/stacksave_stackrestore.invalid.ll (11219 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/unsupported-image-a16.ll (11430 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/unsupported-image-g16.ll (11439 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verifier-sdwa-cvt.mir (11500 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-constant-bus-violations.mir (11503 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-ds-gws-align.mir (11504 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir (11505 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-image-vaddr-align.mir (11506 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-image.mir (11507 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-scalar-store.mir (11508 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-gfx12-gds.mir (11512 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-sop.mir (11515 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-vimage-vsample.mir (11516 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-vopd-gfx12.mir (11517 of 66736)
FAIL: LLVM :: CodeGen/AMDGPU/verify-vopd.mir (11518 of 66736)
FAIL: LLVM :: CodeGen/MIR/AMDGPU/noconvergent-invalid.mir (17500 of 66736)
FAIL: LLVM :: CodeGen/MIR/Generic/dbg-value-missing-loc.mir (17561 of 66736)
FAIL: LLVM :: CodeGen/MIR/X86/machine-verifier-address.mir (17786 of 66736)
FAIL: LLVM :: CodeGen/MIR/X86/machine-verifier.mir (17810 of 66736)
FAIL: LLVM :: CodeGen/MIR/X86/tied-physical-regs-match.mir (18718 of 66736)
FAIL: LLVM :: CodeGen/X86/basic-block-address-map-function-sections.ll (29914 of 66736)
FAIL: LLVM :: CodeGen/X86/basic-block-sections-clusters-error.ll (29922 of 66736)
FAIL: LLVM :: CodeGen/X86/cfi-inserter-verify-inconsistent-csr.mir (30141 of 66736)
FAIL: LLVM :: CodeGen/X86/cfi-inserter-verify-inconsistent-loc.mir (30142 of 66736)
FAIL: LLVM :: CodeGen/X86/cfi-inserter-verify-inconsistent-offset.mir (30143 of 66736)
FAIL: LLVM :: CodeGen/X86/cfi-inserter-verify-inconsistent-register.mir (30144 of 66736)
FAIL: LLVM :: CodeGen/X86/clwb.ll (30166 of 66736)
FAIL: LLVM :: CodeGen/X86/coff-comdat2.ll (30256 of 66736)
FAIL: LLVM :: CodeGen/X86/coff-comdat3.ll (30257 of 66736)
FAIL: LLVM :: CodeGen/X86/expand-integer-x86_64-intrinsic-error.ll (30666 of 66736)
FAIL: LLVM :: CodeGen/X86/inalloca-regparm.ll (31152 of 66736)
FAIL: LLVM :: CodeGen/X86/invalid-liveness.mir (31238 of 66736)
FAIL: LLVM :: CodeGen/X86/macho-comdat.ll (31543 of 66736)
FAIL: LLVM :: CodeGen/X86/nocf_check_musttail.ll (31809 of 66736)
FAIL: LLVM :: CodeGen/X86/read-fp-no-frame-pointer.ll (32546 of 66736)
FAIL: LLVM :: CodeGen/X86/segmented-stacks.ll (32780 of 66736)
FAIL: LLVM :: CodeGen/X86/source-loc-print-filter.ll (32871 of 66736)
FAIL: LLVM :: CodeGen/X86/tailcc-notail.ll (33270 of 66736)
FAIL: LLVM :: CodeGen/X86/thread_pointer-error.ll (33283 of 66736)
FAIL: LLVM :: CodeGen/X86/win64-eh-unwindv2-errors.mir (33935 of 66736)
FAIL: LLVM :: DebugInfo/COFF/types-recursive-unnamed.ll (34522 of 66736)
FAIL: LLVM :: DebugInfo/MIR/InstrRef/no-duplicates.mir (34905 of 66736)
FAIL: LLVM :: DebugInfo/MIR/InstrRef/no-metainstrs.mir (34906 of 66736)
FAIL: LLVM :: Examples/OrcV2Examples/lljit-with-remote-debugging.test (36186 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/cross-module-a.ll (36260 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll (36262 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll (36277 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll (36278 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/eh.ll (36283 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/multi-module-a.ll (36284 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll (36285 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll (36286 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/simpletest-remote.ll (36287 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/stubs-remote.ll (36288 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-data-align-remote.ll (36291 of 66736)
FAIL: LLVM :: ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll (36292 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/multiple-compile-threads-basic.ll (36348 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/anonymous_globals.ll (36360 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/static-initializers-in-objectfiles.ll (36374 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll (36383 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/common-symbols.ll (36399 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/printargv.ll (36407 of 66736)
FAIL: LLVM :: ExecutionEngine/OrcLazy/private_linkage.ll (36408 of 66736)
FAIL: LLVM :: LTO/X86/attrs.ll (37312 of 66736)
FAIL: LLVM :: MC/COFF/section-comdat-conflict2.s (41690 of 66736)
FAIL: LLVM :: MC/ELF/common-error3.s (42841 of 66736)
FAIL: LLVM :: MC/ELF/size-expression-must-be-absolute.s (43349 of 66736)
FAIL: LLVM :: MC/X86/check-end-of-data-region.s (45776 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/invalid-vop3-source-modifiers.mir (46019 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/av_mov_b64_imm_pseudo.mir (46022 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/test_g_intrinsic_w_side_effects.mir (46025 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/undef-should-only-be-set-on-subreg-defs.mir (46026 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir (46028 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/dpp-imm-src1.mir (46029 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/dpp-sgpr-src1.mir (46030 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/test_g_incompatible_range.mir (46031 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/test_g_intrinsic.mir (46032 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir (46043 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/unsupported-unaligned-vgpr-check-vsrc-operand.mir (46044 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir (46065 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir (46066 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/lit64.mir (46067 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/test_copy_physregs_llt_virtreg.mir (46109 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/test_g_bitcast.mir (46110 of 66736)
FAIL: LLVM :: MachineVerifier/test_g_fpextload.mir (46114 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verifier-copyLanemask-invalid-lanemask.mir (46117 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verifier-copyLanemask-missing-lanemask.mir (46118 of 66736)
FAIL: LLVM :: MachineVerifier/test_g_fptruncstore.mir (46121 of 66736)
FAIL: LLVM :: MachineVerifier/test_copy_physregs_x86.mir (46123 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verify-implicit-def.mir (46127 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verify-reg-sequence.mir (46128 of 66736)
FAIL: LLVM :: MachineVerifier/verifier-statepoint.mir (46132 of 66736)
FAIL: LLVM :: MachineVerifier/verify-regops.mir (46146 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verify-av-mov-imm-pseudo.mir (46149 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verify-ds-vdata-vdst-both-agpr-or-vgpr.mir (46150 of 66736)
FAIL: LLVM :: MachineVerifier/convergencectrl/AMDGPU/basic.mir (46151 of 66736)
FAIL: LLVM :: MachineVerifier/convergencectrl/AMDGPU/cycles.mir (46152 of 66736)
FAIL: LLVM :: MachineVerifier/convergencectrl/AMDGPU/mixed2.mir (46165 of 66736)
FAIL: LLVM :: MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir (46166 of 66736)
FAIL: LLVM :: MachineVerifier/verifier-generic-extend-truncate.mir (46169 of 66736)
FAIL: LLVM :: MachineVerifier/verifier-generic-types-1.mir (46170 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verifier-pseudo-terminators.mir (46173 of 66736)
FAIL: LLVM :: MachineVerifier/AMDGPU/verifier-sdwa-selection.mir (46174 of 66736)
FAIL: LLVM :: Object/Wasm/invalid-file.yaml (46186 of 66736)
FAIL: LLVM :: Object/Wasm/string-outside-section.test (46190 of 66736)
FAIL: LLVM :: MachineVerifier/verifier-generic-types-2.mir (46191 of 66736)
FAIL: LLVM :: MachineVerifier/verifier-phi-fail0.mir (46192 of 66736)
FAIL: LLVM :: Object/coff-invalid.test (46238 of 66736)
FAIL: LLVM :: Other/cgscc-devirt-iteration.ll (46500 of 66736)
FAIL: LLVM :: Other/crash-stack-trace.ll (46535 of 66736)
FAIL: LLVM :: Other/crash-stack-trace.mir (46536 of 66736)
FAIL: LLVM :: Other/print-on-crash.ll (46589 of 66736)
FAIL: LLVM :: Other/trigger-verifier-error.ll (46617 of 66736)
FAIL: LLVM :: Other/trigger-crash-flags.ll (46634 of 66736)
FAIL: LLVM :: Other/source-loc-print-filter.ll (46636 of 66736)
FAIL: LLVM :: ThinLTO/AMDGPU/force-import-all.ll (47063 of 66736)
FAIL: LLVM :: ThinLTO/X86/devirt_after_filtering_unreachable.ll (47119 of 66736)
FAIL: LLVM :: ThinLTO/X86/ctxprof-separate-module.ll (47121 of 66736)
FAIL: LLVM :: ThinLTO/X86/devirt_external_comdat_same_guid.ll (47127 of 66736)
FAIL: LLVM :: ThinLTO/X86/devirt2.ll (47140 of 66736)
FAIL: LLVM :: ThinLTO/X86/devirt_promote_legacy.ll (47144 of 66736)
FAIL: LLVM :: ThinLTO/X86/devirt_single_hybrid.ll (47148 of 66736)
FAIL: LLVM :: Transforms/FunctionImport/not-prevailing.ll (48794 of 66736)
FAIL: LLVM :: Transforms/LowerMatrixIntrinsics/shape-verification.ll (55334 of 66736)
FAIL: LLVM :: Transforms/MemProfContextDisambiguation/dot.ll (55591 of 66736)
FAIL: LLVM :: Transforms/PGOProfile/thinlto_cspgo_use.ll (56226 of 66736)
FAIL: LLVM :: Transforms/RewriteStatepointsForGC/unsupported-gc-error.ll (56623 of 66736)
FAIL: LLVM :: Transforms/SafeStack/X86/alloca-addrspace-wrong-addrspace-error.ll (57980 of 66736)
FAIL: LLVM :: tools/llc/new-pm/verify.mir (60238 of 66736)
FAIL: LLVM :: tools/llvm-lto2/X86/pipeline.ll (61992 of 66736)
FAIL: LLVM-Unit :: CAS/./CASTests/0/18 (65702 of 66736)
FAIL: LLVM-Unit :: Support/./SupportTests/16/29 (66375 of 66736)
FAIL: LLVM-Unit :: Support/./SupportTests/2/29 (66465 of 66736)
FAIL: LLVM-Unit :: Support/./SupportTests/18/29 (66733 of 66736)
> grep -E 'FAIL:' tsan-llvm.log  | wc -l
169

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions