Circular-freelist bug is still there

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jan Wieck <JanWieck(at)Yahoo(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Circular-freelist bug is still there
Date: 2004-02-11 22:20:12
Message-ID: 18104.1076538012@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I just saw the parallel regression tests hang up again. Inspection
revealed that StrategyInvalidateBuffer() was stuck in an infinite loop
because the freelist was circular.

(gdb) p StrategyControl->listFreeBuffers
$5 = 579
(gdb) p BufferDescriptors[579]
$6 = {bufNext = 106, data = 4991904, tag = {rnode = {tblNode = 17142,
relNode = 143947}, blockNum = 0}, buf_id = 579, flags = 14,
refcount = 0, io_in_progress_lock = 1179, cntx_lock = 1180,
cntxDirty = 0 '\000', wait_backend_id = 0}
(gdb) p BufferDescriptors[106]
$7 = {bufNext = 684, data = 1117088, tag = {rnode = {tblNode = 17142,
relNode = 143989}, blockNum = 0}, buf_id = 106, flags = 14,
refcount = 0, io_in_progress_lock = 233, cntx_lock = 234,
cntxDirty = 0 '\000', wait_backend_id = 0}
(gdb) p BufferDescriptors[684]
$8 = {bufNext = 579, data = 5852064, tag = {rnode = {tblNode = 17142,
relNode = 143929}, blockNum = 0}, buf_id = 684, flags = 14,
refcount = 0, io_in_progress_lock = 1389, cntx_lock = 1390,
cntxDirty = 0 '\000', wait_backend_id = 0}
(gdb)

Don't have time to chase it right now, but you should know that there's
still a low-probability bug in there.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Rod Taylor 2004-02-11 22:24:18 Re: How can I have 2 completely seperated databases in
Previous Message Bruce Momjian 2004-02-11 22:20:06 Re: [PATCHES] client_encoding in dump file