Re: regression failure

Lists: pgsql-hackers
From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: regression failure
Date: 2005-06-23 15:08:55
Message-ID: 42BAD087.9020409@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I just got this regression failure on Windows:

================== pgsql.2220/src/test/regress/regression.diffs
===================
*** ./expected/prepared_xacts.out Thu Jun 23 10:20:28 2005
--- ./results/prepared_xacts.out Thu Jun 23 10:45:06 2005
***************
*** 179,189 ****
-- Commit table creation
COMMIT PREPARED 'regress-one';
\d pxtest2
! Table "public.pxtest2"
! Column | Type | Modifiers
! --------+---------+-----------
! a | integer |
!
SELECT * FROM pxtest2;
a
---
--- 179,185 ----
-- Commit table creation
COMMIT PREPARED 'regress-one';
\d pxtest2
! ERROR: cache lookup failed for relation 27228
SELECT * FROM pxtest2;
a
---

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 15:37:03
Message-ID: 5623.1119541023@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> I just got this regression failure on Windows:

If it's repeatable, could you get a debugger stack trace from the
errfinish call? Or even just add "\set VERBOSITY verbose" to the
test script so we can tell which of the many instances of that
string this is ...

regards, tom lane


From: Alvaro Herrera <alvherre(at)surnet(dot)cl>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 15:45:48
Message-ID: 20050623154548.GC8355@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Jun 23, 2005 at 11:08:55AM -0400, Andrew Dunstan wrote:
> I just got this regression failure on Windows:

Maybe it has to do with being unable to drop the relcache file?

> ================== pgsql.2220/src/test/regress/regression.diffs
> ===================
> *** ./expected/prepared_xacts.out Thu Jun 23 10:20:28 2005
> --- ./results/prepared_xacts.out Thu Jun 23 10:45:06 2005
> ***************
> *** 179,189 ****
> -- Commit table creation
> COMMIT PREPARED 'regress-one';
> \d pxtest2
> ! Table "public.pxtest2"
> ! Column | Type | Modifiers
> ! --------+---------+-----------
> ! a | integer |
> !
> SELECT * FROM pxtest2;
> a
> ---
> --- 179,185 ----
> -- Commit table creation
> COMMIT PREPARED 'regress-one';
> \d pxtest2
> ! ERROR: cache lookup failed for relation 27228
> SELECT * FROM pxtest2;
> a
> ---

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"El Maquinismo fue proscrito so pena de cosquilleo hasta la muerte"
(Ijon Tichy en Viajes, Stanislaw Lem)


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 17:55:51
Message-ID: 42BAF7A7.7080507@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:

>Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>
>>I just got this regression failure on Windows:
>>
>>
>
>If it's repeatable, could you get a debugger stack trace from the
>errfinish call? Or even just add "\set VERBOSITY verbose" to the
>test script so we can tell which of the many instances of that
>string this is ...
>
>

namespace.c::RelationIsVisible - line 319

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 18:08:22
Message-ID: 7002.1119550102@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>>> I just got this regression failure on Windows:

> namespace.c::RelationIsVisible - line 319

Hmph. No obvious reason why that would be platform-dependent. Is it
completely repeatable for you? (You might try the advice I just gave
Dave Cramer: make distclean and rebuild to ensure you've got fully
consistent bits ...)

regards, tom lane


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 18:31:49
Message-ID: 42BB0015.4040004@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:

>Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>
>>>>I just got this regression failure on Windows:
>>>>
>>>>
>
>
>
>>namespace.c::RelationIsVisible - line 319
>>
>>
>
>Hmph. No obvious reason why that would be platform-dependent. Is it
>completely repeatable for you? (You might try the advice I just gave
>Dave Cramer: make distclean and rebuild to ensure you've got fully
>consistent bits ...)
>
>
>
>

Yes, I always do that with troubles. This was a completely fresh
checkout from CVS.

It's not 100% repeatable, but I have seen it about 60% of the time over
8 or 10 runs.

cheers

andrew


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: regression failure
Date: 2005-06-23 21:03:50
Message-ID: 42BB23B6.90100@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan wrote:

>
> It's not 100% repeatable, but I have seen it about 60% of the time
> over 8 or 10 runs.
>
>

But now I can't reproduce it at all. :-(

cheers

andrew


From: "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: regression failure
Date: 2005-06-24 02:14:22
Message-ID: d9fqdt$ap4$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes
>
> Hmph. No obvious reason why that would be platform-dependent. Is it
> completely repeatable for you? (You might try the advice I just gave
> Dave Cramer: make distclean and rebuild to ensure you've got fully
> consistent bits ...)
>

I once noticed that there was something weird of Lock in win32 pg8.0.1. If
you have many connections work concurrently intensively(say contrib/pgbench)
and do fast shutdown in the middle, you will see an assertation failure
here:

if (lock->nRequested == 0)
{
/*
* We've just released the last lock, so garbage-collect the lock
* object.
*/
Assert(SHMQueueEmpty(&(lock->procLocks))); >>> here

The target lock is always 376(XactLockTableId) but there is no obvious
reason why this could happen. Now we removed 376, so everything looks ok.

Regards,
Qingqing


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
Cc: pgsql-hackers(at)postgresql(dot)org, Rod Taylor <pg(at)rbt(dot)ca>
Subject: Re: regression failure
Date: 2005-06-24 03:07:46
Message-ID: 21889.1119582466@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> writes:
> I once noticed that there was something weird of Lock in win32 pg8.0.1. If
> you have many connections work concurrently intensively(say contrib/pgbench)
> and do fast shutdown in the middle, you will see an assertation failure
> here:

> if (lock->nRequested == 0)
> {
> /*
> * We've just released the last lock, so garbage-collect the lock
> * object.
> */
> Assert(SHMQueueEmpty(&(lock->procLocks))); >>> here

That might be explained by this 8.0.2/7.4.8 fix:

2005-03-01 16:14 tgl

* src/backend/storage/lmgr/: lock.c (REL7_4_STABLE), lock.c
(REL8_0_STABLE), lock.c: Release proclock immediately in
RemoveFromWaitQueue() if it represents no held locks. This
maintains the invariant that proclocks are present only for procs
that are holding or awaiting a lock; when this is not true,
LockRelease will fail. Per report from Stephen Clouse.

I just spent some time doing "pg_ctl stop -m fast" against CVS tip while
pg_bench was running, and couldn't reproduce a problem --- not that that
should give anyone great confidence.

This does bring up a question for Rod: have you installed a release
including the above fix, and if so have you noticed the
crash-after-SIGTERM problem since then?

> The target lock is always 376(XactLockTableId) but there is no obvious
> reason why this could happen. Now we removed 376, so everything looks ok.

Well, that observation comforts me not at all, because the transaction
locks are certainly still there; there's just been a trivial change in
how their locktags are represented. If there's a bug, this change did
not fix it.

regards, tom lane


From: Rod Taylor <pg(at)rbt(dot)ca>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: regression failure
Date: 2005-06-24 03:49:30
Message-ID: 1119584970.45024.22.camel@home
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> That might be explained by this 8.0.2/7.4.8 fix:

<snip>

> This does bring up a question for Rod: have you installed a release
> including the above fix, and if so have you noticed the
> crash-after-SIGTERM problem since then?

We skipped 8.0.2 and went to 8.0.3 near the beginning of the month.

We were getting a WARNING indicating the lock table was corrupted. It
has never crashed, and I've not seen any odd locking issues as a result,
but we get the warning nonetheless. I believe the warning was recently
changed to a panic for 8.1.

Anyway, no, I've not seen that problem since the beginning of the month
but I also don't recall aborting schema alterations recently either.