On 04/26/2011 04:45 PM, Tom Lane wrote:
I wrote:
Well, that's pretty interesting: refcount is only 1, and the
BM_PIN_COUNT_WAITER flag is not set. AFAICS this *must* mean that the
buffer had been pinned and whoever had it (presumably bgwriter) did
UnpinBuffer(). So it appears that the signal just plain got lost :-(,
which suggests a kernel bug. What platform is this on, again?
BTW, could you confirm that the startup process's PID is 9111 as the
bufhdr suggests?
postgres 9111 9105 0 Apr02 ? 00:37:38 postgres: startup
process recovering 000000040000036D00000033
Also, it'd be good to confirm that
procglobal->startupProcPid and procglobal->startupProc point to the
startup process. I notice that ProcSendSignal will silently do nothing
if it doesn't find the target process's PGPROC, which might have
something to do with this ...
Not sure if I'm looking in the right spot, but this looks suspicious:
(gdb) p 'postmaster.c'::ProcGlobal->startupProcPid
$1 = 0
(gdb) p 'postmaster.c'::ProcGlobal->startupProc
$2 = (PGPROC *) 0x0
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers