-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Open
Labels
ciContinuous integrationContinuous integration
Description
This is an issue for everything that needs to happen, so we can start regularly using the sanitizers, both on CI and elsewhere. It's quite a bit, requires some coordination and I don't want to forget everything, so a long checklist it is.
- Merge Make jl_datatype_size reflect non-padded field size #46322 or Fix stack-buffer-overflow in generated code #46260 or Properly declare alloca alignment #46368 to fix asan complaint in generated code
- Merge Make ASAN actually do something and fix all the things #46336
- Merge [ASAN] Turn off asan instrumentation in segv handler #46377
- [Optional, but good to have] Do something about asan fake stack can free live stack frames after longjmp/signal google/sanitizers#1561
- Enable asan on CI
- One CI job every commit running read/channels/spawn
- One nightly job running full bootstrap + testsuite
- Add msan llvm patches to julia build
- Backport llvm/llvm-project@15972e3
- https://reviews.llvm.org/D131845
- And merge it upstream
- https://reviews.llvm.org/D131846
- And merge it upstream
- The patch from Detect dynamic TLS allocations for glibc>=2.19 google/sanitizers#1409 (comment) (or something better)
- Finish and merge Enable MSAN support again #46348
- Merge Add support for building sanitizer-enabled jlls JuliaPackaging/BinaryBuilderBase.jl#255
- ... and deploy on Yggdrasil (Bump BBB and test dSFMT sanitizer build JuliaPackaging/Yggdrasil#5315)
- Have julia detect its sanitizer status and add platform tags
- In the build system (Teach bb-install.mk to pick up special jlls for msan #46418)
- In Pkg
- Fix test failures under msan
- compiler/codegen
- compiler/contextual
- atomics
- strings/search
- spawn
- compiler/inference
- regex
- namedtuple
- llvmcall
- float16
- operators
- ryu
- loading
- meta
- stacktraces
- error
- misc
- download
- asyncmap
- LibGit2
- core
- LinearAlgebra/qr (LinearAlgebra/qr: Stop trying to factorize uninitialized memory #46386)
- Patch our dependencies to add __msan_unpoison around asm code
-
Merge [WIP] Recipe to build libstdcxx with msan JuliaPackaging/Yggdrasil#5308 to get msan-enabled libstdcxxMerge Add a standalone LibStdCxx jll JuliaPackaging/Yggdrasil#5331 - Merge New Recipe: FlangClassic JuliaPackaging/Yggdrasil#5311 to get an msan-capable fortran compiler
- Build
-sanitizerversions of all our dependencies - Set up msan CI
- [Optional] Add a BinaryBuilder audit pass to make sure that the sanitizing actually happened
- [Optional] Make sanitizers more precise around our GC allocations.
- Add ASAN guards to our GC objects.
- [Optional] Add a way to build sanitizer-enabled sysimages from non-sanitizer builds
- [Optional] msan test suite
- Add an LLVM attribute to set the msan "recover" option on a per-function basis.
- [Optional] Sanitizer symbolization of jit frames
Metadata
Metadata
Assignees
Labels
ciContinuous integrationContinuous integration