BUG #5176: database recovery produces infinite loop

From: "Helge Milde" <helge(at)monsternett(dot)no>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5176: database recovery produces infinite loop
Date: 2009-11-10 12:34:38
Message-ID: 200911101234.nAACYctw060911@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5176
Logged by: Helge Milde
Email address: helge(at)monsternett(dot)no
PostgreSQL version: 8.1.18
Operating system: Debian 2.6.18-6-686
Description: database recovery produces infinite loop
Details:

Our database recently crashed, and since then, we haven't been able to start
it again.

Here's the postmaster log with debug level 5:

--- log start ---
LOG: could not load root certificate file "root.crt": No SSL error
reported
DETAIL: Will not verify client certificates.
DEBUG: invoking IpcMemoryCreate(size=10469376)
DEBUG: max_safe_fds = 985, usable_fds = 1000, already_open = 5
LOG: database system was interrupted while in recovery at 2009-11-10
13:07:47 CET
HINT: This probably means that some data is corrupted and you will have to
use the last backup for recovery.
LOG: checkpoint record is at 8/931B8558
LOG: redo record is at 8/931B3544; undo record is at 0/0; shutdown FALSE
LOG: next transaction ID: 566148231; next OID: 25210
LOG: next MultiXactId: 18; next MultiXactOffset: 37
LOG: database system was not properly shut down; automatic recovery in
progress
LOG: redo starts at 8/931B3544
--- log end ---

Nothing else of interest follows.

It seems the recovery process is failing; doing a strace on the 'postgres:
startup process' pid, I see this:

-- strace log start ---
Process 29888 attached - interrupt to quit
close(14) = 0
open("pg_clog/021B", O_RDWR|O_CREAT|O_LARGEFILE, 0600) = 14
_llseek(14, 245760, [245760], SEEK_SET) = 0
write(14, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192)
= 8192
fsync(14) = 0
close(14) = 0
open("pg_clog/021B", O_RDWR|O_CREAT|O_LARGEFILE, 0600) = 14
_llseek(14, 245760, [245760], SEEK_SET) = 0
write(14, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192)
= 8192
fsync(14) = 0
close(14) = 0
-- strace log end ---

This repeats infinetly.

We do have some database dumps, but they are not very recent, so any help on
fixing this would be much appreciated.

Thanks,
Helge Milde

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2009-11-10 14:31:06 Re: BUG #5176: database recovery produces infinite loop
Previous Message tomas 2009-11-10 04:26:23 Re: postgresql installing problems