From: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
---|---|
To: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
Cc: | Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: tablecmds.c/MergeAttributes() cleanup |
Date: | 2024-01-30 06:22:43 |
Message-ID: | CAExHW5uskiHd7A34XbA+0PbW3_modiLGUt-oiP5zBumS-eUb8g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Alexander,
On Sun, Jan 28, 2024 at 1:30 PM Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
>
> Hello Peter,
>
> 26.01.2024 16:42, Peter Eisentraut wrote:
> >
> > I have committed all this. These are great improvements.
> >
>
> Please look at the segmentation fault triggered by the following query since
> 4d969b2f8:
> CREATE TABLE t1(a text COMPRESSION pglz);
> CREATE TABLE t2(a text);
> CREATE TABLE t3() INHERITS(t1, t2);
> NOTICE: merging multiple inherited definitions of column "a"
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
>
> Core was generated by `postgres: law regression [local] CREATE TABLE '.
> Program terminated with signal SIGSEGV, Segmentation fault.
>
> (gdb) bt
> #0 __strcmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:116
> #1 0x00005606fbcc9d52 in MergeAttributes (columns=0x0, supers=supers(at)entry=0x5606fe293d30, relpersistence=112 'p',
> is_partition=false, supconstr=supconstr(at)entry=0x7fff4046d410, supnotnulls=supnotnulls(at)entry=0x7fff4046d418)
> at tablecmds.c:2811
> #2 0x00005606fbccd764 in DefineRelation (stmt=stmt(at)entry=0x5606fe26a130, relkind=relkind(at)entry=114 'r', ownerId=10,
> ownerId(at)entry=0, typaddress=typaddress(at)entry=0x0,
> queryString=queryString(at)entry=0x5606fe2695c0 "CREATE TABLE t3() INHERITS(t1, t2);") at tablecmds.c:885
This bug existed even before the refactoring.Happens because strcmp()
is called on NULL input (t2's compression is NULL). I already have a
fix for this and will be posting it in [1].
[1] https://www.postgresql.org/message-id/flat/24656cec-d6ef-4d15-8b5b-e8dfc9c833a7%40eisentraut.org
--
Best Wishes,
Ashutosh Bapat
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey M. Borodin | 2024-01-30 06:22:51 | Re: Transaction timeout |
Previous Message | Ashutosh Bapat | 2024-01-30 06:02:40 | Re: Reducing memory consumed by RestrictInfo list translations in partitionwise join planning |