Re: AddressSanitizer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 1, 2016 at 7:46 AM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote:
> Hi
>
> In my search for reasons why I have crashes I started using
> AddressSanitizer with Clang (since that is native included)
> https://github.com/google/sanitizers/wiki/AddressSanitizer,
>
> Below the results which might indicate locations of possible trouble.
> Would there be interest into looking into these further?
> I know that some unitests under valgrind also complain about memory
> leaks just because items are not properly free/deleted since they are
> just tests.
>
> But the ceph-mon container-overflow and the .libs/ceph-dencoder double
> free are parts of the tree that are used outside the tests.
>
> But I still have to find the flags to actually get the translation to
> file codelines for this to be really useful.
>
> --WjW
>
>
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_isa+0x7fea8b)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_plugin_isa+0x7e9d0b)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_shec+0x8144cb)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_shec_all+0x8021ab)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_shec_thread+0x7fb78b)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_shec_arguments+0x7fd74b)
> SUMMARY: AddressSanitizer: alloc-dealloc-mismatch
> (/usr/srcs/Ceph/work/ceph/src/unittest_erasure_code_plugin_shec+0x7e98db)
> SUMMARY: AddressSanitizer: heap-use-after-free
> (/usr/srcs/Ceph/work/ceph/src/unittest_pglog+0x92722f)
> SUMMARY: AddressSanitizer: dynamic-stack-buffer-overflow
> (/usr/srcs/Ceph/work/ceph/src/unittest_lfnindex+0x8ee69f)
> SUMMARY: AddressSanitizer: stack-buffer-overflow
> (/usr/srcs/Ceph/work/ceph/src/unittest_utf8+0x5ff392)
> SUMMARY: AddressSanitizer: container-overflow
> (/usr/srcs/Ceph/work/ceph/src/ceph-mon+0xb591b1)
> SUMMARY: AddressSanitizer: double-free
> (/usr/srcs/Ceph/work/ceph/src/.libs/ceph-dencoder+0x8b1fcb)

This is interesting but I wouldn't spend much time on it without
seeing the actual call paths. We get a lot of memory warnings in
libraries that turn out to be issues only with shutdown, often because
the memory checking tool doesn't understand or handle certain
features.

If it turns out to be real, there have been various efforts to enable
more clang/llvm checking against the Ceph code base and this is
another thing that could go in there. Or perhaps it could replace our
valgrind runs in teuthology or something?
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux