Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Wed, 21 Sep 2005 11:44:12 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: fairly repeatable fork(?) errors in (contrived) test script Message-ID: <20050921154412.GA21260@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com References: <200509211413 DOT j8LEDAZV011552 AT tigris DOT pounder DOT sol DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200509211413.j8LEDAZV011552@tigris.pounder.sol.net> User-Agent: Mutt/1.5.8i On Wed, Sep 21, 2005 at 09:13:09AM -0500, Tom Rodman wrote: >All: > >I'm using the 9/19 snapshot. The sleep in the below test script seems to >be required, otherwise the script could be simplified and still >cause errors. > >The test script works (always?) without errors on 1.3.20. 1.3.20? That is at least three years old. There is nothing useful that can be derived from quoting a regression from a version which is that old. I can't reproduce this, even with 81 repetitions instead of 9. Please see the snapshot reporting guidelines that I requested at http://sources.redhat.com/ml/cygwin/2005-09/msg00419.html . cgf >Here are a couple of test runs: > > ~ $ /tmp/test > x: 1 > x: 2 > x: 3 > x: 4 > x: 5 > x: 6 > x: 7 > x: 8 > x: 9 > 896 [main] bash 6544 fork_parent: child 6680 died waiting for longjmp before initialization > /tmp/test: fork: No such file or directory > > all done > ~ $ /tmp/test > x: 1 > x: 2 > x: 3 > x: 4 > x: 5 > x: 6 > x: 7 > x: 8 > x: 9 > /tmp/test: fork: No such file or directory > 812 [main] bash 7028 fork_parent: child 3576 died waiting for longjmp before initialization > /tmp/test: fork: Bad file descriptor > > all done > >-- >With a real (ie useful) script (that also involved a sleep) I was able to >get similar(?) errors after running only 5 instances of that >script in parallel. > > >"do nothing" test script: >--v-v------------------C-U-T---H-E-R-E-------------------------v-v-- >#!/bin/bash > >bar() >{ > > foo=$( > echo $( > perl -pe '1;' /etc/passwd| > tee /dev/null| > (sleep 7;tr '[A-Z]' '[a-z]') | > tail -1 > ) > ) > > echo foo: $foo >/dev/null > >} > > >for x in 1 2 3 4 5 6 7 8 9 >do > echo x: $x > bar & >done > >wait >echo >echo all done > > > > > >-- >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/