Re: Finding memory corruption in an extension

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Finding memory corruption in an extension
Дата
Msg-id CAFj8pRCtUDQw5eNZ1DmUsYU1EfctcCf63A=pz0_RnJt975Qv9A@mail.gmail.com
обсуждение исходный текст
Ответ на Finding memory corruption in an extension  (Jack Orenstein <jao@geophile.com>)
Ответы Re: Finding memory corruption in an extension  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi

pá 8. 1. 2021 v 18:48 odesílatel Jack Orenstein <jao@geophile.com> napsal:
An extension I'm creating is causing Postgres to crash, almost certainly due to memory corruption.  I am using palloc0/pfree, calling SET_VARSIZE, and generally following the procedures documented here: https://www.postgresql.org/docs/12/xfunc-c.html. I am also testing my code outside of Postgres (using alloc/free instead of palloc0/pfree), and valgrind is not finding any corruption or leaks.

The crash is not completely reproducible, but when it does happen, it's pretty fast -- create a table, insert a couple of rows, explain a query. (My goal is to create a GIN index on my datatype, but this crash occurs without the index.)

I'm interested in advice on how to go about hunting down my problem. Something along the lines of a debugging malloc, or valgrind, for Postgres.

The basic feature is using postgres compiled with --enable-cassert flag. It does lot of checks of memory corruptions

Regards

Pavel




Jack Orenstein

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

Предыдущее
От: Jack Orenstein
Дата:
Сообщение: Finding memory corruption in an extension
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Finding memory corruption in an extension