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 Jan 2019
    Gluster Monthly Newsletter, January...

    Gluster Monthly Newsletter, January 2019 Gluster Community Survey – open from February 1st through February 28! Give us your feedback, we’ll send you a never before seen Gluster branded item!  https://www.gluster.org/gluster-community-survey-february-2019/   See you at FOSDEM! We have a jampacked Software Defined Storage day on Sunday, Feb 3rd  (with a...

    Read more
  • 11 Jan 2019
    Gluster Container Storage 0.5 relea...

    Today, we are announcing the availability of GCS (Gluster Container Storage) 0.5. Highlights and updates since v0.4: GCS environment updated to kube 1.13 CSI deployment moved to 1.0 Integrated Anthill deployment Kube & etcd metrics added to prometheus Tuning of etcd to increase stability GD2 bug fixes from scale testing...

    Read more