First a core dump which can be relieved by:

Index: catalog.c
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/catalog/catalog.c,v
retrieving revision 1.34
diff -c -u -r1.34 catalog.c
--- catalog.c   2000/10/16 14:52:02     1.34
+++ catalog.c   2000/10/21 17:07:09
@@ -173,7 +173,7 @@
 bool
 IsSystemRelationName(const char *relname)
 {
-       if (relname[0] && relname[1] && relname[2])
+       if (relname && relname[0] && relname[1] && relname[2])
                return (relname[0] == 'p' &&
                                relname[1] == 'g' &&
                                relname[2] == '_');

(symptoms at the end of message)

But now the bit I don't see how to solve: the regression postmaster doesn't
startup because it can't find tmp_check/data/base/1/1259. The only files I
see are 1/{1255,PG_VERSION}. Where does 1259 come from?

Cheers,

Patrick


#0  IsSystemRelationName (relname=0x0) at catalog.c:176
#1  0x807ed9a in IsSharedSystemRelationName (relname=0x0) at catalog.c:197
#2  0x80e9272 in RelationInitLockInfo (relation=0x82af018) at lmgr.c:119
#3  0x81202ef in formrdesc (relationName=0x816ad7e "pg_class", natts=22, 
    att=0x8173600) at relcache.c:1193
#4  0x8120c12 in RelationCacheInitialize () at relcache.c:1953
#5  0x81266b3 in InitPostgres (dbname=0xbfbfd666 "template1", username=0x0)
    at postinit.c:329
#6  0x807dde0 in BootstrapMain (argc=7, argv=0xbfbfd510) at bootstrap.c:358
#7  0x80bc67c in main (argc=8, argv=0xbfbfd50c) at main.c:119
#8  0x806367e in ___start ()
(gdb) print *relation
$3 = {rd_fd = -1, rd_nblocks = 0, rd_refcnt = 0, rd_myxactonly = 0 '\000', 
  rd_isnailed = 0 '\000', rd_unlinked = 0 '\000', rd_indexfound = 0 '\000', 
  rd_uniqueindex = 0 '\000', rd_am = 0x1000001, rd_rel = 0x0, rd_id = 0, 
  rd_indexlist = 0x82af0a0, rd_lockInfo = {lockRelId = {relId = 0, dbId = 0}}, 
  rd_att = 0x0, rd_rules = 0x0, rd_rulescxt = 0x82af128, rd_istrat = 0x0, 
  rd_support = 0x0, trigdesc = 0x0}

Reply via email to