Need urgent help on Semaphores Error

Krokodile

New Member
SYSTEM ERROR: unable to set semaphore set :\, errno 22. (551)
.
.
.
.
Invalid semaphore id (1132)
.
.
.
Semaphore id 8799 was removed (1075)

I'm seeing bunch of these messages with in 1 day of processing in log file of the database. When Semphore ID is removed a user gets disconnected.

I read all the KBs I could and it seems to me that its causing coz every connection to DB is exceeding the MAX limit of Semaphores allotted when Progress started the DB.
I have done the math and my SEMMSL comes out to be 66(no of users) + 4 (mn) + 4 + 0 + 0 + 0+ 0 = 74 and 74 is the number I get on Promon DB --> shared resources.

My Q is how can i check how many Semaphores are allotted when DB starts.
proutil -c dbipcs doesn't give me anything. & how can i stop this madness of users getting disconnected???

Its 8.2B workgroup Database on SCO UNIXware 7.1.1
Thanks.
 

cecsno

Member
Krokodile said:
SYSTEM ERROR: unable to set semaphore set :\, errno 22. (551)
.
.
.
.
Invalid semaphore id (1132)
.
.
.
Semaphore id 8799 was removed (1075)

I'm seeing bunch of these messages with in 1 day of processing in log file of the database. When Semphore ID is removed a user gets disconnected.

I read all the KBs I could and it seems to me that its causing coz every connection to DB is exceeding the MAX limit of Semaphores allotted when Progress started the DB.
I have done the math and my SEMMSL comes out to be 66(no of users) + 4 (mn) + 4 + 0 + 0 + 0+ 0 = 74 and 74 is the number I get on Promon DB --> shared resources.

My Q is how can i check how many Semaphores are allotted when DB starts.
proutil -c dbipcs doesn't give me anything. & how can i stop this madness of users getting disconnected???

Its 8.2B workgroup Database on SCO UNIXware 7.1.1
Thanks.
Show the log entries with the errors that occure before 551. What do you mean "proutil -c dbipcs doesn't give me anything" there should be something if you have a server running. Have you rebooted? Sounds like someone killed a server.
 

Krokodile

New Member
11:26:04 Usr 65: Login by uucp on batch. (452)
11:26:04 Usr 65: Logout by uucp on batch. (453)
11:27:43 Usr 65: Login by uucp on batch. (452)
11:27:43 Usr 65: Logout by uucp on batch. (453)
11:28:19 Usr 65: Login by uucp on batch. (452)
11:28:19 Usr 65: Logout by uucp on batch. (453)
11:29:41 Usr 63: HANGUP signal received. (562)
11:29:41 Usr 63: Invalid semaphore id (1132)
11:29:41 Usr 63: SYSTEM ERROR: unable to set semaphore set :\, errno 22. (551)
11:29:41 Usr 63: Logout by root on /dev/_tcp/1014. (453)
11:29:41 Invalid semaphore id (1132)
11:29:41 SYSTEM ERROR: unable to get value of semaphore set :\, errno 22. (551)
11:30:16 Usr 11: Semaphore id 8799 was removed (1075)
11:30:16 Usr 2: Semaphore id 8799 was removed (1075)
Prompt> proutil -C dbipcs
PROGRESS Version 8.2B as of Wed Aug 27 19:01:05 EDT 1997

PROGRESS SHARED MEMORY STATUS
ID ShMemVer Seg# InUse Database
0 - - - (not PROGRESS)
697 8204 2 - /usr/jackson/db/xxxx
698 8204 1 - /usr/jackson/db/xxxx
699 8204 0 Yes /usr/jackson/db/xxxx
This is what i see with dbipcs; what i meant was, this didn't tell me anything about how many semaphores are in use or set etc etc.
 

cecsno

Member
Run the watchdog process to clean up the users who are terminating their connections without logging out of the database.

When you start the server is there a 1093 error?
Is SEMMNS and SEMMSL set appropriately in your kernel?
Make sure there are no trap 0 or 1 in your client connection scripts.

Your dbipcs is showing 3, the default for the broker, but there should also be a line per user.
 

Krokodile

New Member
Yes as a matter of fact I have changed DB startup script to start watchdog after starting DB. & last night I rebooted the server and so far have not seen any semphore error. Yeah i don't have trap 0 or 1 in the scripts.

Interestingly there's no warning msg 0f 1093. But wih your help I have been able to find out where in kernel these are set. I've found for solaris & will try on test server. KB# 15190.

explain me if you will how to read&understand dbipcs output.

thanks for your help.
 

cecsno

Member
Krokodile said:
Yes as a matter of fact I have changed DB startup script to start watchdog after starting DB. & last night I rebooted the server and so far have not seen any semphore error. Yeah i don't have trap 0 or 1 in the scripts.

Interestingly there's no warning msg 0f 1093. But wih your help I have been able to find out where in kernel these are set. I've found for solaris & will try on test server. KB# 15190.

explain me if you will how to read&understand dbipcs output.

thanks for your help.
Semaphores are a mechanism to attach to shared memory segment, dbipcs gives information about shared memory segments, sience you need a semaphore to attach, each line indirectly represents a semaphore.

Use ipcs to match dbipcs info.

It looks like you already know how to use ipcrm.
 
Top