Re: BUG #16976: server crash when deleting via a trigger on a foreign table

From: Herwig Goemans <herwig(dot)goemans(at)gmail(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, PG Bug reporting form <noreply(at)postgresql(dot)org>
Subject: Re: BUG #16976: server crash when deleting via a trigger on a foreign table
Date: 2021-04-28 12:24:38
Message-ID: d01e4f40-43e6-310a-6f07-d36096ea564d@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Support,

The problem is  in ifx_fdw.c but I do not have dbg packages installed
for this nor do I know where to find these for ubuntu.

But is there no way you can simulate this issue ? There is a PG server
crash due to bad user code in a trigger function.

In the mean time we found out that the user code in the trigger function
was wrong: it has to work with old instead of new values:

     delete from informix.t_water_eenheid

                where enh_id = old.enh_id;

                return old;

instead of:

                delete from informix.t_water_eenheid

                where enh_id = new.enh_id;

                return new;

using old it works fine.

But regardless, the PG server should not crash due to bad user code. I
suppose you agree.

I only work 2 days a week for this client and this is taking up much of
my time so I was hoping you could simulate this.

Kind regards,

Herwig

On 23/04/2021 00:45, Thomas Munro wrote:
> On Thu, Apr 22, 2021 at 10:09 PM Herwig Goemans
> <herwig(dot)goemans(at)gmail(dot)com> wrote:
>> And I cannot execute anything in the attached (psql) process,
> A couple of notes about the attach-then-crash approach: It should be
> "postgres", not "psql", that you attach to, and then you need to type
> "cont" to tell the debugger to allow execution to continue, or it'll
> just block as you described. Sometimes it will stop execution when
> signals arrive, and you can disable that with eg "handle SIGUSR1
> nostop" and then go back to executing with "cont" again. Once you
> make it crash, you'll be able to use "bt" to see exactly where, but as
> mentioned it'll just be a bunch of big hex numbers unless the symbols
> are installed; at the least it'll show which modules (postgres,
> informix_fdw.so or such).

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-04-28 13:43:58 Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch
Previous Message Kieran McCusker 2021-04-28 10:52:47 ogr_fdw missing from /pub/repos/yum/13/fedora/fedora-34-x86_64/