Re: [HACKERS] select * from ..;vacuum crashes

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: t-ishii(at)sra(dot)co(dot)jp
Cc: t-ishii(at)sra(dot)co(dot)jp, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] select * from ..;vacuum crashes
Date: 1998-10-11 01:51:26
Message-ID: 199810110151.VAA02397@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> >You must enable Assert to see the crash.
>
> I saw the crash without assertion enabled? This is FreeBSD 2.2.6.
>
> >The cause may be because you are doing a vacuum INSIDE a transaction. I
> >think that also explains the psql -e thing, because that does both
> >commands in the same transaction.
> >
> >Perhaps we need to disable vacuum inside transactions. Vadim?
>
> FYI, it is reported that 6.3.2 does not have the crash.

I am still working on it, but it appears that the vacuuming of pg_class
is causing the failure of the vacuum on 'getting'. Probably the
vacuuming of pg_class it not invalidating the pg_class cache values. I
added additional debugging statements to find out exactly when the cache
lookups start to fail.


UnUsed 0, MinLen 110, MaxLen 144; Re-using: Free/Avail. Space 1496/1496; EndEmpty/Avail. Pages 0/1. Elapsed 0/0 sec.
DEBUG: Index pg_class_relname_index: Pages 2; Tuples 58: Deleted 12. Elapsed 0/0 sec.
DEBUG: Index pg_class_oid_index: Pages 2; Tuples 58: Deleted 12. Elapsed 0/0 sec.
DEBUG: Rel pg_class: Pages: 2 --> 1; Tuple(s) moved: 2. Elapsed 0/0 sec.
DEBUG: Index pg_class_relname_index: Pages 2; Tuples 58: Deleted 2. Elapsed 0/0 sec.
DEBUG: Index pg_class_oid_index: Pages 2; Tuples 58: Deleted 2. Elapsed 0/0 sec.
TRAP: Failed Assertion("!(( (void)((bool) ((! assert_enabled) || (! !((bool)((void*)(lp) != 0))) || (ExceptionalCondition("!((bool)((void*)(lp) != 0))", &( FailedAssertion), (char*) 0, "heapam.c", 1057)))), (bool) (((lp)->lp_flags & 0x01) != 0) )):", File: "heapam.c", Line: 1057)

!(( (void)((bool) ((! assert_enabled) || (! !((bool)((void*)(lp) != 0))) || (ExceptionalCondition("!((bool)((void*)(lp) != 0))", &( FailedAssertion), (char*) 0, "heapam.c", 1057)))), (bool) (((lp)->lp_flags & 0x01) != 0) )) (0) [Permission denied]

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Billy G. Allie 1998-10-11 03:16:01 PostgreSQL 6.4 patches - portability related.
Previous Message Bruce Momjian 1998-10-11 01:45:50 Re: [HACKERS] backslash in psql output