tarantool / tarantool/tarantool
Enable Address Sanitizer in nightly builds
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 3.7k
- Forks
- 419
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 88
Description
We regularly run our testsuite on binaries that built with enabled Address Sanitizer and enabling was useful - some issues were catched. Unfortunately our testsuite does not cover all user scenarios and it would be cool to provide binaries with enabled ASAN to users. It will help us to raise missed issues in Tarantool. ASAN immediately crashes executable as soon as wrong memory access detected and ASAN may downgrade overall application performance. Due to these reasons we cannot enable ASAN in released build, but enabling it in nightly build can be a compromise.
Discussed ticket with @Totktonada. He is afraid that users may use nightly builds in production and enabling ASAN may have negative impact for them. We decided to know do we have such users and estimate number of instances with nightly builds in production using Tg community chat and feedback statistics.
TBD: UBSan, Thread sanitizer.
Projects that enabled ASAN in nightly builds:
- rspamd https://rspamd.com/
- Mozilla Firefox https://firefox-source-docs.mozilla.org/tools/sanitizer/asan_nightly.html
"Typical slowdown introduced by AddressSanitizer is 2x.", see https://clang.llvm.org/docs/AddressSanitizer.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing nightly-build configuration and how the testsuite runs ASAN-enabled binaries. Use the Tg community chat and feedback statistics to estimate whether nightly builds are used in production, then assess the impact on nightly users while keeping released builds unchanged. Done means the nightly-build policy and implementation decision are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100