Skip site navigation (1) Skip section navigation (2)

pgsql: Fix assorted core dumps and Assert failures that could occur

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix assorted core dumps and Assert failures that could occur
Date: 2010-01-24 21:49:58
Message-ID: 20100124214958.E2E677541B9@cvs.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committers
Log Message:
-----------
Fix assorted core dumps and Assert failures that could occur during
AbortTransaction or AbortSubTransaction, when trying to clean up after an
error that prevented (sub)transaction start from completing:
* access to TopTransactionResourceOwner that might not exist
* assert failure in AtEOXact_GUC, if AtStart_GUC not called yet
* assert failure or core dump in AfterTriggerEndSubXact, if
  AfterTriggerBeginSubXact not called yet

Per testing by injecting elog(ERROR) at successive steps in StartTransaction
and StartSubTransaction.  It's not clear whether all of these cases could
really occur in the field, but at least one of them is easily exposed by
simple stress testing, as per my accidental discovery yesterday.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xact.c (r1.215.2.6 -> r1.215.2.7)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.215.2.6&r2=1.215.2.7)
    pgsql/src/backend/commands:
        trigger.c (r1.195.2.7 -> r1.195.2.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.195.2.7&r2=1.195.2.8)
    pgsql/src/backend/utils/misc:
        guc.c (r1.299.2.6 -> r1.299.2.7)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c?r1=1.299.2.6&r2=1.299.2.7)

pgsql-committers by date

Next:From: Tom LaneDate: 2010-01-24 21:50:09
Subject: pgsql: Fix assorted core dumps and Assert failures that could occur
Previous:From: Tom LaneDate: 2010-01-24 21:49:50
Subject: pgsql: Fix assorted core dumps and Assert failures that could occur

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group