Re: bug in SlabAlloc / VALGRIND_MAKE_MEM_DEFINED

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bug in SlabAlloc / VALGRIND_MAKE_MEM_DEFINED
Date: 2017-04-04 21:46:28
Message-ID: 20170404214628.ep2hesmekjz5jtre@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-04-04 23:23:30 +0200, Tomas Vondra wrote:
> On 04/04/2017 10:42 PM, Tomas Vondra wrote:
> > Hi,
> >
> > Andres nagged to me about valgrind runs taking much longer since
> > 9fab40ad introduced the SlabContext into reorderbuffer.c. And by
> > "longer" I mean hours instead of minutes.
> >
> > After a bit of investigation I stumbled on this line in slab.c:
> >
> > VALGRIND_MAKE_MEM_DEFINED(chunk, SlabChunkGetPointer(chunk));
> >
> > which is wrong, because the second parameter should be size and not
> > another pointer. This essentially marks a lot of memory as defined,
> > which results in the extreme test runtime.
> >
> > Instead, the line should be:
> >
> > VALGRIND_MAKE_MEM_DEFINED(SlabChunkGetPointer(chunk), sizeof(int32));
> >
> > Patch attached.
> >
>
> Turns out SlabCheck() was missing VALGRIND_MAKE_MEM_DEFINED, resulting in a
> valgrind failure with --enable-assert. Updated patch version attached,
> passing all tests in test_decoding.

Pushed, and re-enabled TestDecoding on skink.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2017-04-04 22:05:12 Re: Implementation of SASLprep for SCRAM-SHA-256
Previous Message Tomas Vondra 2017-04-04 21:23:30 Re: bug in SlabAlloc / VALGRIND_MAKE_MEM_DEFINED