Planet Gluster

Aggregated news from external sources

Building Gluster with Address Sanitizer

January 21, 2018

We occasionally find leaks in Gluster via bugs filed by users and customers.
We definitely have benefits from checking for memory leaks and address
corruption ourselves. The usual way has been to run it under valgrind. With
ASAN, the difference is we can compile the binary with ASAN and then anyone can
run their tests on top of this binary and it should crash in case it comes
across a memory leak or memory corruption. We’ve fixed at least one
bug
with the traceback from ASAN.

Here’s how you run Gluster under ASAN.

./autogen.sh
./configure --enable-gnfs --enable-debug --silent --sanitize=address

You need to make sure you have libasan installed or else this might error out.
Once this is done, compile and install like you would normally. Now run tests
and see how it works. There are problems with this approach though. If there’s
a leak in cli, it’s going to complain about it all the time. The noise doesn’t
imply that fixing that is important. The Gluster CLI is going away soon.
Additionally, the CLI isn’t a long running daemon. It’s started, does it’s job,
and dies immediately.

The tricky part though is catches memory you’ve forgotten to free. It does not
catch memory that you’ve allocated unnecessarily. In the near future, I want to
create downloadable RPMs which you can download and run tests against.

Source: nigelb (Building Gluster with Address Sanitizer)

BLOG

  • 31 Jul 2018
    Gluster Monthly Newsletter, July 20...

    mountpoint August 27-28 at the Vancouver Convention Center! We’ve published some schedule updates: https://mountpoint.io/ If you haven’t already registered, please do! Registration is available at https://mountpoint.io    Community Meeting – August 1, 15:00 UTC in #gluster-meeting on freenode. https://bit.ly/gluster-community-meetings has the agenda.   Want swag for your meetup? https://www.gluster.org/events/ has...

    Read more
  • 02 Jul 2018
    Gluster Monthly Newsletter, June 20...

    mountpoint We’ve published the program schedule for mountpoint! Registration available at: http://mountpoint.io/   4.1 Released: our 4.1 release came out in June! Have you installed it? Do you have thoughts on how our releases could be improved? Our 4.1 retrospective is out! https://www.gluster.org/4-1-retrospective/   Community Meeting postponed due to July...

    Read more