Re: Somebody has broken autovacuum's abort path - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Somebody has broken autovacuum's abort path
Date
Msg-id 1262729254.19367.54487.camel@ebony
Whole thread Raw
In response to Somebody has broken autovacuum's abort path  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Tue, 2010-01-05 at 03:09 -0500, Tom Lane wrote:
> http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=jaguar&dt=2010-01-05%2004:00:03
> (and the same a couple times before this...)
> 
> Core was generated by `postgres: autovacuum worker process   regression                              '.
> Program terminated with signal 6, Aborted.
> [New process 9209]
> #0  0x0091c402 in __kernel_vsyscall ()
> #0  0x0091c402 in __kernel_vsyscall ()
> #1  0x007a9d80 in raise () from /lib/libc.so.6
> #2  0x007ab691 in abort () from /lib/libc.so.6
> #3  0x083393be in ExceptionalCondition (
>     conditionName=0x8498e40 "!(rel->rd_refcnt > 0)", 
>     errorType=0x836d218 "FailedAssertion", fileName=0x8498d55 "relcache.c", 
>     lineNumber=1612) at assert.c:57
> #4  0x083324c2 in RelationDecrementReferenceCount (rel=0xb5c641e0)
>     at relcache.c:1612
> #5  0x0835b562 in ResourceOwnerReleaseInternal (owner=0x92d1058, 
>     phase=RESOURCE_RELEASE_BEFORE_LOCKS, isCommit=0 '\0', isTopLevel=1 '\001')
>     at resowner.c:251
> #6  0x0835b86f in ResourceOwnerRelease (owner=0x92d1058, 
>     phase=RESOURCE_RELEASE_BEFORE_LOCKS, isCommit=0 '\0', isTopLevel=1 '\001')
>     at resowner.c:185
> #7  0x080cc5d9 in AbortTransaction () at xact.c:2179
> #8  0x080cc7c7 in AbortOutOfAnyTransaction () at xact.c:3676
> #9  0x0824063e in do_autovacuum () at autovacuum.c:2259
> #10 0x08240b25 in AutoVacWorkerMain (argc=<value optimized out>, 
>     argv=<value optimized out>) at autovacuum.c:1602
> #11 0x08240c51 in StartAutoVacWorker () at autovacuum.c:1406
> #12 0x0824c0f5 in sigusr1_handler (postgres_signal_arg=10)

> I think this can likely be blamed on the HS changes in transaction
> abort, since I'm not aware of any other recent changes near here.

I haven't knowingly made changes to this code path, nor were there
changes to transaction abort in HS. xact_redo_abort() was changed, but
that's not what's failing.

http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.277&r2=1.278

-- Simon Riggs           www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Writeable CTEs
Next
From: Tim Bunce
Date:
Subject: Re: Status of plperl inter-sp calling