Encountered the following FailedAssertion while testing database
recovery (actually this would be HS) with partial WAL file:

LOG:  restored log file "000000010000000000000003" from archive
LOG:  consistent recovery state reached at 0/3001EEC
LOG:  record with zero length at 0/3001EEC
LOG:  redo done at 0/3001D68
LOG:  last completed transaction was at log time 2010-02-05 11:02:49.695544+02
LOG:  database system is ready to accept read only connections
LOG:  selected new timeline ID: 3
TRAP: FailedAssertion("!(readFile >= 0)", File: "xlog.c", Line: 5117)

and the assorted backtrace:
#0  0xb7f2e410 in __kernel_vsyscall ()
#1  0xb7dc9085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7dcaa01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0x0834926e in ExceptionalCondition (conditionName=0x8389a82 "!(readFile >= 
0)",
errorType=0x837d5b4 "FailedAssertion",
    fileName=0x8390338 "xlog.c", lineNumber=5117) at assert.c:57
#4  0x080dde34 in exitArchiveRecovery (endTLI=1, endLogId=0, endLogSeg=18) at 
xlog.c:5117
#5  0x080e3eab in StartupXLOG () at xlog.c:6029
#6  0x080e6055 in StartupProcessMain () at xlog.c:8666
#7  0x08106a30 in AuxiliaryProcessMain (argc=2, argv=0xbfebdd64) at 
bootstrap.c:412
#8  0x08253f0c in StartChildProcess (type=StartupProcess) at postmaster.c:4340
#9  0x0825669e in PostmasterMain (argc=3, argv=0x8516e08) at postmaster.c:1078
#10 0x081f7919 in main (argc=3, argv=0x8516e08) at main.c:188

The crash happened on a HS slave which was fed a partial WAL file. The
partial was constructed by extracting data up to pg_current_xlog_location()
and zero padding it up to 16MB.

This only seems to be happening on HEAD - quick tests indicate that both
8.3 and 8.4 are not affected (or maybe I didn't try hard enough).

regards,
Martin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to