Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG - Mailing list pgsql-bugs

From Sergey KOPOSOV
Subject Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG
Date
Msg-id 5d848bddbb3b6421af5a742e36ede542e719c492.camel@ed.ac.uk
Whole thread Raw
In response to Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Wed, 2021-03-31 at 17:27 -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.
>
> PG Bug reporting form <noreply@postgresql.org> writes:
> > I have a reproducible case of segfaulting pg_restore when trying to restore
> > from pg_dump of a different version. Specifically at least pg_restore from
> > 10 crashes from pg_dump 12.
>
> When I try that I get
>
> pg_restore: [archiver] unsupported version (1.14) in file header
>
> and that test is done first thing in ReadHead(), before the place
> you identify.  I suspect you are dealing with a corrupt archive
> file, not a version mismatch.


I am pretty sure that is not the case.

I've just done that now
skoposov_remote@wsdb:~/postgresql-10.16$ ssh -o Compression=no koposov@HOSTNAME '/opt/pgsql/bin/pg_dump -n SCHEMA -Fc
-Udbadmin wsdb'  | head -c 32768 >
 
xx.short
(obviously the crash doesn't happen even if I don't put 'head -n ...')

skoposov_remote@wsdb:~/postgresql-10.16$ cat xx.short | pg_restore -U dbadmin -h localhost -d wsdb
Segmentation fault (core dumped)

I attach the file (1 kb of it)

I also noticed when I tried to run pg_restore in the debugger the crash doesn't happen.

gdb --args pg_restore -U dbadmin -h localhost -d wsdb
(gdb) run < /tmp/xx.short
Starting program: /usr0/home/skoposov_remote/postgresql-10.16/src/bin/pg_dump/pg_restore < /tmp/xx.short
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pg_restore: [archiver] unsupported version (1.14) in file header
[Inferior 1 (process 14109) exited with code 01]

but it does if I pipe it...

      Sergey

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

Attachment

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG
Next
From: Tom Lane
Date:
Subject: Re: BUG #16951: pg_restore segfaults on custom format piped from a different version of PG