Date: Tue, 18 Jun 2019 07:54:43 +0200
From: Viktor Ashirov <vashirov(a)redhat.com>
On Tue, Jun 18, 2019 at 1:30 AM Simon Pichugin
<spichugi(a)redhat.com> wrote:
>
> Hi team,
> I'm in the process of creating a Vagrant file which is close to the
customer's ENV.
> It is heavilly based on Viktor's beaker task.
> I use it for building and testing my code. And it is pretty important to build with
ASAN.
>
> Currently, what I do is:
> 1. Set 'ASAN_ON = 1' in rpm.mk
> 2. Run `make -f rpm.mk srpms` target
> 3. Build the RPM using `mock -q my_generated.srpm`
> 4. Install it
>
> Then I've tried running `dscreate` manually or running tests with py.test.
> Every time I have the same error here: /run/dirsrv/ns-slapd-standalone1.asan.XXXXX
>
> ==22487==LeakSanitizer has encountered a fatal error.
> ==22487==HINT: For debugging, try setting environment variable
LSAN_OPTIONS=verbosity=1:log_threads=1
> ==22487==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
Ludwig also recently had this issue. Looks like you're hitting this
bug:
https://github.com/google/sanitizers/issues/723
This bug report is about trying to access mprotect'd memory. It's not directly
caused by using memalign. Looks like a red herring.
We're using posix_memalign() in a few places and LeakSanitizier
can't handle it.
There is a workaround in the last comment. I did the builds for gcc8
and gcc9 in copr, both internal and fedora one, but they failed (not
related to the patch).
So I did a local build with the patch and it worked like a charm. I
will share the links to the rpms for you to try.
Perhaps we should review our usage of posix_memalign() or convince the
upstream to implement a proper fix for this.
--
-- Howard Chu
CTO, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/