Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG

From: Sergey KOPOSOV <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk>
To: "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG
Date: 2021-04-01 13:05:44
Message-ID: 51cec7215378e9beccb9b58831f6e0a2be30bd06.camel@ed.ac.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


On Wed, 2021-03-31 at 23:52 +0100, Sergey Koposov wrote:
> On Wed, 2021-03-31 at 18:47 -0400, Tom Lane wrote:
> > This email was sent to you by someone outside the University.
> > You should only click on links or attachments if you are certain that the email is genuine and the content is safe.
> >
> > Sergey KOPOSOV <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk> writes:
> > > I also noticed when I tried to run pg_restore in the debugger the crash doesn't happen.
> > > but it does if I pipe it...
> >
> > I wonder if your platform is helpfully inserting Windows newlines,
> > or perhaps removing them, when the data goes through a pipe.
>
> The platform doing the pg_dump (PG12) is debian
> And the one doing pg_restore (PG10) is ubuntu.
>
> Also I know for sure when I use pg_restore from postgresql 12 it works fine in the same configuration.
> (And I've regularly transferred tables this way from one system to another, it's just I've recently
> migrated the debian system from PG11 to PG12 which lead to this segfault.)

I've just verified that on a different machine ubuntu 18.04 I can crash pg_restore with the file that I've sent to the list.
Importantly This requires running pg_restore without '-Fc' flag, i.e. to let it autodetect.

$ cat /tmp/xx1.short | ./src/bin/pg_dump/pg_restore
Segmentation fault (core dumped)
$ cat /tmp/xx1.short | ./src/bin/pg_dump/pg_restore -Fc
pg_restore: [archiver] unsupported version (1.14) in file header

S
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-04-01 15:39:33 Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG
Previous Message Devrim Gündüz 2021-03-31 22:55:59 Re: BUG #16948: Packages not signed