Planet Gluster

Aggregated news from external sources

Building Gluster with Address Sanitizer

2018-01-21

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

  • 28 Nov 2019
    Planning ahead for Gluster releases

    In order to plan the content for upcoming releases, it is good to take a moment of pause, step back and attempt to look at the consumption of GlusterFS within large enterprises. With the enterprise architecture taking large strides towards cloud and more specifically, the hybrid cloud, continued efforts towards...

    Read more
  • 13 Nov 2019
    Announcing Gluster 7.0

    The Gluster community is pleased to announce the release of 7.0, our latest release. This is a major release that includes a range of code improvements and stability fixes along with a few features as noted below. A selection of the key features and bugs addressed are documented in this...

    Read more
  • 15 Oct 2019
    Gluster and CentOS Stream

    Progress cannot be made without change. As technologists, we recognize this every day. Most of the time, these changes are iterative: progresssive additions of features to projects like Gluster. Sometimes those changes are small, and sometimes not. And that’s, of course, just talking about our project. But one of the...

    Read more