delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/07/18/20:47:23

X-Spam-Check-By: sourceware.org
X-BigFish: V
MIME-Version: 1.0
Subject: RE: Perl failure
Date: Tue, 18 Jul 2006 17:45:31 -0700
Message-ID: <B7392353E4C4DE4ABC4EC255DB4CA040034716A2@EXCHVS1.spimageworks.com>
In-Reply-To: <20060713180601.GA3872@efn.org>
From: "Bruce Dobrin" <dobrin AT imageworks DOT com>
To: "Yitzchak Scott-Thoennes" <sthoenna AT efn DOT org>, <cygwin AT cygwin DOT com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
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
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id k6J0lKSe028502

Hi,  
I stripped down the code to a small testable bit.  The problem seems to
occur when I reach 256 forks on a cygwin1.5.18 or 19 but not on my
cygwin1.5.5. win2k system.  The original code give the forked process
time to finish,  but it still looks like it eats it after about 256
iterations  ( it actually failed between 259 and 252 iterations,  but
it's pretty complicated so I'm not sure what else was happening).

Here is my test code:
dobrin AT tiburon:/tmp> cat test8.pl 
################
#!/usr/bin/perl -w

use strict;
my $pid;

foreach my $incr (`seq 1 1 800`) {
         
                    unless (defined ($pid = fork)) {
                         die " cannot fork $!";
                     }
                    unless ($pid) {
                      print " the sequence is $incr \n";
                      exit;
                    }
             print "pid is $pid\n";
           }

###############

The error here is :
cannot fork Resource temporarily unavailable at ./test8.pl line 11.
panic: MUTEX_LOCK (45) [op.c:354].

On cygwin1.5.5 it finishes successfully.  I'm not sure if there is
anything else I can try,  I'm looking around for some other machines
with older cygwins on them to establish what version it stopped working
in.

Thanks for your time

Bruce D.

-----Original Message-----
From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com] On Behalf
Of Yitzchak Scott-Thoennes
Sent: Thursday, July 13, 2006 11:06 AM
To: cygwin AT cygwin DOT com
Subject: Re: Perl failure

On Thu, Jul 13, 2006 at 08:53:09AM -0700, Yitzchak Scott-Thoennes wrote:
> On Wed, Jul 12, 2006 at 05:08:43PM -0700, Bruce Dobrin wrote:
> > Hi,
> > 
> > I have a server that has been doing back end maintenance using perl 
> > on cygwin for 6 years now.  I recently upgraded from win2k and 
> > cyg1.5.9 to XP sp3 and cyg1.5.19 (to be fare,  I also cleaned up the

> > perl code a bit).  The script checks versioning and build info on 
> > about 600+ windows systems.  Since the upgrade,  it gets thru about 
> > 500 of them ( almost exactly 2 hours)  and then:
> > 
> > panic: MUTEX_LOCK (45) [util.c:2266] at 
> > /c/dist_and_install_files/source/dist2/spUpdate2d.pl line 24, 
> > <HOSTFILE> line 277.
> > panic: MUTEX_LOCK (45) [op.c:354], <HOSTFILE> line 277.
> 
> This indicates EDEADLK being returned from posix_mutex_lock.

Err, I mean pthread_mutex_lock.

--
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/




--
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/


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019