From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | IpcSemaphoreLock/Unlock and proc_exit on 7.2.6 |
Date: | 2004-11-14 03:43:01 |
Message-ID: | Pine.BSO.4.56.0411132219160.29416@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I have an underpowered server running 7.2.6 that backs a website which
occasionally gets hit by a bunch of traffic and starts firing off "FATAL
1: Sorry, too many clients already" messages. This is all as expected,
but sometimes it just crashes. I had no clue what was going on until I
checked the stderr log (because I had set it up to use syslog). In there
I find a whole bunch of these:
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
IpcSemaphoreUnlock: semop(id=-1) failed: Invalid argument
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
IpcSemaphoreUnlock: semop(id=-1) failed: Invalid argument
IpcSemaphoreLock: semop(id=-1) failed: Invalid argument
Looking at the source I see proc_exit as the failure path for these two
functions (IpcSemaphoreLock, IpcSemaphoreUnlock). I've read the comments
around the code, but must admit that I can't really follow what's going
on.
Could anyone shed some light on what is going on? Certainly the semId of
-1 looks a little suspicious.
This is on freebsd 4.5
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2004-11-14 05:50:09 | pgxs regression |
Previous Message | Travis P | 2004-11-14 03:19:13 | Re: CVS should die |