Re: Hung SQL Update Linux Redhat 4U5 Postgres 8.3.1

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Craig Vosburgh <craig(dot)vosburgh(at)cassatt(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Hung SQL Update Linux Redhat 4U5 Postgres 8.3.1
Date: 2008-05-12 18:16:06
Message-ID: 23465.1210616166@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Craig Vosburgh <craig(dot)vosburgh(at)cassatt(dot)com> writes:
> Got GDB installed on the errant node and did a back trace call (I'm guessing
> that is what you were looking for when you said stack trace) on the process
> that shows in the process table as executing the hung SQL command.

> The backtrace is:
> (gdb) bt
> #0 0x0088b7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> #1 0x0096f3ab in semop () from /lib/tls/libc.so.6
> #2 0x081ba8f8 in PGSemaphoreLock ()
> #3 0x081e4d9e in ProcSleep ()
> #4 0x081e1db3 in GrantAwaitedLock ()
> #5 0x0832f984 in twophase_recover_callbacks ()
> #6 0x00000006 in ?? ()

Hmm. gdb is lying to you, because GrantAwaitedLock doesn't call
ProcSleep --- probably line 4 should refer to WaitOnLock instead.
You could try installing a non-symbol-stripped postgres executable
(or in RPM environments, install the matching debuginfo RPM) to
get a more trustworthy backtrace.

However, what I suspect you are looking at is just a run-of-the-mill
lock wait. You *sure* there's no ungranted locks showing in pg_locks?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andy Anderson 2008-05-12 18:18:57 Re: rounding problems
Previous Message Lincoln Yeoh 2008-05-12 18:07:09 Re: rounding problems