From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Chris Anderson <chris(at)journyx(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org, John Maddalozzo <john(at)journyx(dot)com> |
Subject: | Re: possible database corruption |
Date: | 2001-01-13 02:28:25 |
Message-ID: | 418.979352905@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Chris Anderson <chris(at)journyx(dot)com> writes:
> [ occasional crash in GetRawDatabaseInfo() ]
Try applying the following patch, which corresponds to a bug that I
noticed in GetRawDatabaseInfo a couple months ago: it looks at one
tuple-pointer slot too many in each page of pg_database. Normally the
bogus slot will be ignored because it doesn't have the LP_USED bit set,
but if you create and drop databases a lot, it's possible there would
be garbage there.
If this doesn't help, please recompile the backend with -g, so that we
can see a more detailed stack backtrace.
regards, tom lane
*** src/backend/utils/misc/database.c~ Wed Apr 12 13:16:07 2000
--- src/backend/utils/misc/database.c Fri Jan 12 21:25:24 2001
***************
*** 180,186 ****
max = PageGetMaxOffsetNumber(pg);
/* look at each tuple on the page */
! for (i = 0; i <= max; i++)
{
int offset;
--- 180,186 ----
max = PageGetMaxOffsetNumber(pg);
/* look at each tuple on the page */
! for (i = 0; i < max; i++)
{
int offset;
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2001-01-13 03:02:50 | Re: Query Problem!! |
Previous Message | Tom Lane | 2001-01-12 15:12:01 | Re: Backend crash on query with UNION subselect |