BUG #1426: pg_restore SIGSEGV on 7.2.2 dump

Started by Alan Pevecabout 21 years ago2 messagesbugs
Jump to latest
#1Alan Pevec
apevec@redhat.com

The following bug has been logged online:

Bug reference: 1426
Logged by: Alan Pevec
Email address: apevec@redhat.com
PostgreSQL version: 8.0.0
Operating system: i686-redhat-linux-gnu
Description: pg_restore SIGSEGV on 7.2.2 dump
Details:

Running pg_restore dump-produced-on-pg722.dump
fails with Segmentation fault:

Program received signal SIGSEGV, Segmentation fault.
0x00438443 in strlen () from /lib/tls/libc.so.6
(gdb) bt
#0 0x00438443 in strlen () from /lib/tls/libc.so.6
#1 0x080558d4 in ScanKeywordLookup (text=0x0) at keywords.c:369
#2 0x080547ac in fmtId (rawid=0x0) at dumputils.c:56
#3 0x0804e5ee in _getObjectDescription (buf=0x82870f8, te=0x81b19b8)
at pg_backup_archiver.c:2396
#4 0x0804e9d2 in _printTocEntry (AH=0x81a6a48, te=0x81b19b8,
ropt=0x81a69b0,
isData=0 '\0', acl_pass=0 '\0') at pg_backup_archiver.c:2556
#5 0x0804b0d5 in RestoreArchive (AHX=0x81a6a48, ropt=0x81a69b0)
at pg_backup_archiver.c:275
#6 0x0804a49b in main (argc=2, argv=0xbfffbb14) at pg_restore.c:340
(gdb)

The same dump was restored w/o problems with both pg_restore 7.3.8 and
7.4.6.

Dump header, produced with pg_restore 7.3.8 is:
;
; Archive created at Wed Jul 7 04:03:02 2004
; dbname: XXXX
; TOC Entries: 1982
; Compression: -1
; Dump Version: 1.5-7
; Format: CUSTOM
; Integer: 4 bytes
; Offset: 4 bytes

Seems to be caused by a recent patch:
http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_backup_a
rchiver.c#rev1.101

Workaround is to use pg_restore -O

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alan Pevec (#1)
Re: BUG #1426: pg_restore SIGSEGV on 7.2.2 dump

"Alan Pevec" <apevec@redhat.com> writes:

Running pg_restore dump-produced-on-pg722.dump
fails with Segmentation fault:

Fixed. Thanks for the report.

regards, tom lane