Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com> List-Archive: <http://sourceware.org/ml/cygwin/> List-Post: <mailto:cygwin AT cygwin DOT com> List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20041001064108.14149.qmail@web60309.mail.yahoo.com> Date: Thu, 30 Sep 2004 23:41:08 -0700 (PDT) From: Patrick Samson <p_samson AT yahoo DOT com> Subject: Re: Cygserver 100% CPU (was: References to both cygwin1.dll and msvcrt.dl To: cygwin AT cygwin DOT com In-Reply-To: <20040930110137.76042.qmail@web60306.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes --- Patrick Samson wrote: > Special note for Postgresql users: > So far I can only reproduce this problem if these > 3 conditions are met: > - many connections (20, 25, 27) doing a simple > SELECT > - a script running SELECT, CREATE/DROP TABLE/INDEX > ... > - a pgAdmin III connected (but without activity) > (Postgresql version 7.3.6) > > Quite the same with 1.5.11-3, only the loop is > slower > so the CPU is not 100% and the log file doesn't > grow wildly. > Just an extract of the log here (full file 263K on > request): > > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/sysv_sem.cc, > line 1049: semop: semaptr=A056718, > sem_base=A056440, > semptr=A0564F4, sem[15]=0 : op=-1, flag=wait > > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/sysv_sem.cc, > line 1053: semop: can't do it now > > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/sysv_sem.cc, > line 1086: semop: rollback 0 through -1 > > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/sysv_sem.cc, > line 1109: semop: good night! > > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/bsd_mutex.cc, > line 189: Unlocked mutex semid > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/bsd_mutex.cc, > line 232: Try locking mutex semid > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/bsd_mutex.cc, > line 232: Locked mutex semid > cygserver: > /netrel/src/cygwin-1.5.11-1/winsup/cygserver/sysv_sem.cc, > line 1112: semop: good morning (error=4)! > With the third condition (pgAdmin) everything was fine the whole night. And there is only 4 "good night!" messages in the middle of the night. I guess this is because of one of the cron tasks scheduled around 3AM to do maintenance tasks such as VACUUM, pg_dumpall and a diff between replicated DBs. These are also 4 "good morning" with error=0. Now, when it's wrong, I can see: good morning (error=4)! Error 4 is EINTR on the return of msleep(). Subsequently semop() returns with this EINTR. Does it mean that the caller doesn't support correctly this interrupted call to semop()? Back to source... __________________________________ Do you Yahoo!? Yahoo! Mail - 50x more storage than other providers! http://promotions.yahoo.com/new_mail -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/