Re: PG signal handler and non-reentrant malloc/free calls - Mailing list pgsql-hackers

From Nikhil Sontakke
Subject Re: PG signal handler and non-reentrant malloc/free calls
Date
Msg-id AANLkTimMRj0DsQzWZGUm97XjHn-y19C+0GsCy_qLGH6E@mail.gmail.com
Whole thread Raw
In response to Re: PG signal handler and non-reentrant malloc/free calls  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: PG signal handler and non-reentrant malloc/free calls
Re: PG signal handler and non-reentrant malloc/free calls
List pgsql-hackers
On Tue, Mar 1, 2011 at 10:17 PM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> On 01.03.2011 12:50, Nikhil Sontakke wrote:
>>>
>>>> Will try to get the call stack if needed.
>>>
>>> Yes, please.
>>
>> Here is the stack trace:
>
> Hmm, it looks like ImmediateInterruptOK is set, while we're busy running a
> query. How come? Can you debug that? Where does it get set?
>

Ah, this is not exactly an easily reproducible problem :( You gotta be
lucky enough to be able to interrupt inside a malloc call.

But adding hold/resume interrrupts in mcxt.c (not aset.c, since we
want to be agnostic to the underlying layer) should be good enough to
handle this non-re-entrant issue, no?

Regards,
Nikhils


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: PG signal handler and non-reentrant malloc/free calls
Next
From: Tom Lane
Date:
Subject: Re: Sync Rep v17