From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | We've broken something in error recovery |
Date: | 2010-01-23 20:43:40 |
Message-ID: | 13659.1264279420@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
In a somewhat misguided attempt to test something else, I did this in
CVS HEAD:
do $$begin
for i in 1 .. 10000 loop
execute 'create table t' || i::text || ' (f1 int primary key)';
end loop;
end$$;
This ran for awhile and then ran out of lock table space, which was
not surprising in hindsight:
ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
But what was surprising was what happened next: the autovac launcher
immediately crashed.
TRAP: FailedAssertion("!(nestLevel > 0 && nestLevel <= GUCNestLevel)", File: "guc.c", Line: 3907)
LOG: autovacuum launcher process (PID 25220) was terminated by signal 6
Stack trace looks like
#4 0x4e85b4 in ExceptionalCondition (
conditionName=0x1ac4ac "!(nestLevel > 0 && nestLevel <= GUCNestLevel)",
errorType=0x1abf44 "FailedAssertion", fileName=0x1abee4 "guc.c",
lineNumber=3907) at assert.c:57
#5 0x501f48 in AtEOXact_GUC (isCommit=-86 '', nestLevel=84) at guc.c:3907
#6 0x20618c in AbortTransaction () at xact.c:2194
#7 0x20688c in AbortCurrentTransaction () at xact.c:2568
#8 0x3b0f84 in AutoVacLauncherMain (argc=2063670312, argv=0x7b03b94c)
at autovacuum.c:491
#9 0x3b0bd8 in StartAutoVacLauncher () at autovacuum.c:371
Haven't dug any deeper yet --- who's touched this code lately?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2010-01-23 20:55:55 | Re: We've broken something in error recovery |
Previous Message | Simon Riggs | 2010-01-23 20:39:53 | Re: pgsql: In HS, Startup process sets SIGALRM when waiting for buffer pin. |