Re: Non-reproducible valgrind failure on HEAD

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Non-reproducible valgrind failure on HEAD
Дата
Msg-id 20210509210255.h5vhmieswhcsiqcq@alap3.anarazel.de
обсуждение исходный текст
Ответ на Non-reproducible valgrind failure on HEAD  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Non-reproducible valgrind failure on HEAD  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On 2021-05-09 15:29:06 -0400, Tom Lane wrote:
> I happened to be trying to run the core regression tests under
> valgrind, and I got the complaints attached below, from the
> process that had been running the insert_conflict test script.
>
> I could not reproduce the failure in a second run, which is not
> hugely surprising because it appears to be in cross-process
> sinval processing; so timing sensitivity is to be expected.
> That doesn't make it any less disturbing.
>
> One point worth mentioning is that I'd forgotten to build with
> "#define USE_VALGRIND" in the first try.  AFAIK that should make
> valgrind strictly less sensitive, so I think it's not material,
> but still.

I think it may be material - see the comments in
AddCatcacheInvalidationMessage(). Valgrind doesn't cope correctly with
the sinval ringbuffer being accessed in multiple processes. If process A
adds an invalidation to position 0 and then later processes another
invalidation at the same position 0 that was added by B, valgrind will
use the "is defined" state from the invalidation it queued itself, not
the one that B queued.

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: Re: JSON doc example (matchiness)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Non-reproducible valgrind failure on HEAD