-
Notifications
You must be signed in to change notification settings - Fork 4.1k
[C++][CI] Debug memory pool interferes with ASAN check #39973
Description
Describe the bug, including details regarding any error messages, version, and platform.
Debug memory pool, introduced in #12330, allocates additional bytes at the end of a buffer to identify unintended writes beyond the buffer’s boundary. However this will prevent ASAN from detecting invalid reads in these extra bytes.
A demo of this problem in action could be found in this CI run https://github.com/zanmato1984/arrow/actions/runs/7752895694/job/21143188221?pr=3#step:6:3370 of PR zanmato1984#3. It indicates that a legacy case is already failing the ASAN check, which I’ll address in a separate issue.
Besides, I’m afraid that some “tail bytes”-kind bugs that I have been recently working on, such as #32570, #39577, #39583, and #39778, could potentially have been caught at a better chance if ASAN check was fully effective.
We should consider disabling debug memory pool for ASAN check in CI.
Component(s)
C++, Continuous Integration