problems recovering 6.1 db

From: Andrey V Khavryutchenko <akhavr(at)compchem(dot)kiev(dot)ua>
To: pgsql-hackers(at)postgresql(dot)org
Subject: problems recovering 6.1 db
Date: 1998-12-30 11:05:30
Message-ID: x7vhitkhz9.fsf@netmaster.compchem.kiev.ua
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

I have to recover old db, produced by pgsql 6.1. The binaries are lost and
fresh compiled postgres dumps core. Investigation narrowed the problem
down to postgresql-v6.1.1/src/backend/utils/cache/catcache.c:comphash

With debug turned on, I'm getting the following output:

[akhavr(at)kbi akhavr]$ date; sudo -u postgres /home/akhavr/postgres \
-D /home/postgres/data -e -d 2 mailingad
Wed Dec 30 12:40:32 EET 1998
FindBackend: found "/home/akhavr/postgres" using argv[0]
---debug info---
Quiet = f
Noversion = f
stable = f
timings = f
dates = European
bufsize = 64
query echo = f
multiplexed backend? = f
DatabaseName = [mailingad]
----------------

InitPostgres()..
binding ShmemCreate(key=0, size=758552)
DEBUG:InitSysCache: rid=0 id=0 nkeys=3 size=500
[...]
DEBUG:CatalogCacheInitializeCache: cache @081d3720
DEBUG:CatalogCacheInitializeCache: called w/relname pg_user
DEBUG:CatalogCacheInitializeCache: relid 1260, 1 keys
DEBUG:CatalogCacheInitializeCache: load 1/1 w/1, -1
DEBUG:CatalogCacheInit pg_user 0 -1 81d3720
DEBUG:CatalogCacheComputeHashIndex pg_user 1 -1 0 81d3720
DEBUG:comphash (-1,8187980)
Segmentation fault (core dumped)
[akhavr(at)kbi akhavr]$ sudo cp /home/postgres/data/base/mailingad/core .; \
sudo chown akhavr core
[akhavr(at)kbi akhavr]$ gdb postgres core
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i586-ksi-linux), Copyright 1996 Free Software Foundation, Inc...
Core was generated by `/home/akhavr/postgres -D /home/postgres/data -e -d 2 mailingad'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libcrypt.so.1...done.
Reading symbols from /lib/libdl.so.1...done.
Reading symbols from /lib/libm.so.5...done.
Reading symbols from /usr/lib/libreadline.so.2...done.
Reading symbols from /lib/libtermcap.so.2...done.
Reading symbols from /lib/libc.so.5...done.
Reading symbols from /lib/ld-linux.so.1...done.
#0 comphash (l=1953333615, v=0x8187200 "postgres") at catcache.c:299
299 i += *v++;
(gdb) bt
#0 comphash (l=1953333615, v=0x8187200 "postgres") at catcache.c:299
#1 0x8136cec in CatalogCacheComputeHashIndex (cacheInP=0x81d2fa0)
at catcache.c:334
#2 0x813751b in SearchSysCache (cache=0x81d2fa0, v1=135819776, v2=0, v3=0,
v4=0) at catcache.c:773
#3 0x813a65e in SearchSysCacheTuple (cacheId=21, key1=135819776, key2=0,
key3=0, key4=0) at syscache.c:416
#4 0x813ef2b in SetUserId () at miscinit.c:331
#5 0x813f40b in InitUserid () at postinit.c:341
#6 0x813f661 in InitPostgres (name=0xbffffce1 "mailingad") at postinit.c:636
#7 0x8107aaf in PostgresMain (argc=7, argv=0xbffffb94) at postgres.c:1237
#8 0x80b144d in main (argc=7, argv=0xbffffb94) at main.c:68
#9 0x806238e in _start ()
(gdb)

Looks like l is treated as unsigned.

Can anyone suggest the way to fix the bug, so I can dump out the db and
reload it to the last stable postgresql version?

--
SY, Andrey V Khavryutchenko http://www.kbi.kiev.ua/~akhavr

Shick's Law:
There is no problem a good miracle can't solve.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas G. Lockhart 1998-12-30 14:55:44 Re: [HACKERS] NUMERIC needs OID's
Previous Message Thomas G. Lockhart 1998-12-30 06:23:45 Re: [HACKERS] NUMERIC needs OID's