mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-25 02:50:33 +00:00
LSA being an allocator built on top of the standard may hide some erroneous usage from AddressSanitizer. Moreover, it has its own classes of bugs that could be caused by incorrect user behaviour (e.g. migrator returning wrong object size). This patch adds basic sanitizer for the LSA that is active in the debug mode and verifies if the allocator is used correctly and if a problem is found prints information about the affected object that it has collected earlier. Theat includes the address and size of an object as well as backtrace of the allocation site. At the moment the following errors are being checked for: * leaks, objects not freed at region destructor * attempts to free objects at invalid address * mismatch between object size at allocation and free * mismatch between object size at allocation and as reported by the migrator * internal LSA error: attempt to allocate object at already used address * internal LSA error: attempt to merge regions containing allocated objects at conflicting addresses Message-Id: <20180226122314.32049-1-pdziepak@scylladb.com>
80 KiB
80 KiB