From owner-freebsd-stable Sun Mar 19 14:49:51 2000 Delivered-To: freebsd-stable@freebsd.org Received: from charon.ipass.net (charon.ipass.net [198.79.53.8]) by hub.freebsd.org (Postfix) with ESMTP id 7704F37B744 for ; Sun, 19 Mar 2000 14:49:47 -0800 (PST) (envelope-from rhh@ipass.net) Received: from stealth.ipass.net. (ppp-1-177.dialup.rdu.ipass.net [209.170.132.177]) by charon.ipass.net (8.9.3/8.9.3) with ESMTP id RAA10912; Sun, 19 Mar 2000 17:49:41 -0500 (EST) Received: (from rhh@localhost) by stealth.ipass.net. (8.9.3/8.8.8) id RAA53292; Sun, 19 Mar 2000 17:52:10 -0500 (EST) (envelope-from rhh) Date: Sun, 19 Mar 2000 17:52:10 -0500 From: Randall Hopper To: Tom , stable@FreeBSD.ORG Subject: Re: Dynamic linker bug in 3.4-RELEASE (I think) Message-ID: <20000319175210.A52827@ipass.net> References: <20000317195156.A24243@ipass.net> <20000318110118.A34149@ipass.net> <20000319105019.D78517@beastie.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <20000319105019.D78517@beastie.localdomain>; from boshea@ricochet.net on Sun, Mar 19, 2000 at 10:50:19AM -0800 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Brian O'Shea: |>| Randall Hopper: |>| > I have a small program I wrote that uses sigwait and takes about 1 |>| > second to complete. |>| > |>| > If I run it over-and-over many times repeatedly, occasionally the |>| > dynamic linker will fail to resolve the "sigwait" symbol. |> ... |>| > /usr/libexec/ld-elf.so.1: hw4-1: Undefined symbol "sigwait" | |However, I don't think that this is what's going on here since in each |iteration of the while-loop, the shell waits for its child to exit |before starting the next iteration (and it should be closing /dev/null |in the parent process after each fork() system call). It could be a |shell bug (if the shell isn't closing the open files from the |redirection after the fork). To test this, you could try running fstat |on the shell process while the script is running to see how many times |it has /dev/null open. The fstat program doesn't show file names, it |will only tell you that there are open files in / (/dev/null is in the |/ filesystem), so it might be useful to run this command before and |during the while-loop and compare the output from both times). I tried this. I never caught tcsh (6.09.00) with /dev/null open. I did see hw4-1 with it open one or twice (it forks one child process and terminates after the child exits, so the second /dev/null is the child). But nothing besides that with either process. Randall To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message