[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

exe invocation problem with 2.05

From: Chad Smith
Subject: exe invocation problem with 2.05
Date: Wed, 29 May 2002 09:06:02 -0500 (CDT)

I found this address on www.gnu.org/directory/bash.html under
"Support contacts" and am hoping this is the correct forum in
which to ask my question.  If not, then please point me to the
proper location.

I've been running bash-1.14.6 on a LinuxPPC machine using
kernel 2.0.30 for about 6 years.  Throughout this timeframe
there has always been a problem with the box's crashing
intermittently (kernel panic, Program Check), complaining
about 'sh'.  I just recently was tasked with once and for
all trying to figure out why (customers finally complained
enough and escalated the issue).

I discovered right off that 'sh' is actually a link to bash,
and after a bit of investigation discovered there is a known
memory leak in 1.14.6.  So I decided the best course of
action may be to upgrade my shell since I don't have the
means to upgrade the kernel.

I was able to build bash-2.05 easily enough and ftp the
resulting bash executable onto the PPC box.  I had to modify
/etc/sysconfig/network-scripts/ifup-post because I discovered
that allow_null_glob_expansion was replaced in version 2.x
as part of the shopt command.  I am concerned with other system
files that I haven't run across yet that may exhibit similar
problems, but that's not the main concern right now.

Current Problem:
Once the PPC box is rebooted, it eventually goes into run level 3
and invokes /etc/rc.d/rc.local as the last stage of bootup.  This
script is supposed to source another script which in turn invokes
an executable binary.  The problem is that the binary almost
immediately croaks.

I placed `echo` statements before and after the invocation of the
binary, and it's not that the binary crashes, because the debug
output is printed.  I replaced invocation of the binary with another
little test shell script I wrote and verified that it does run,
so /etc/rc.d/rc.local is being sourced completely.

I put a `sleep 20` following invocation of the binary to "give it
enough time to come up".  This appeared to work because the binary
started fine and came up like it was supposed to, but as soon as
the 20 seconds were up, it was killed.

I can invoke the binary from the command line without a hitch, and
I ended up doing that so that I could perform a long term test to
try reproducibility of the initial problem I mentioned earlier.
(And incidentally, the box hasn't crashed in a week of uptime
since upgrading from 1.14.6 to 2.05.)

So is there anything that changed in bash-2.05 that would cause a
binary invoked from within a shell script to not get placed in the
background properly?  Here's how the last few lines of rc.local
look on my system:

        if [ -f /cellworx/etc/init ]; then
            . /cellworx/etc/init

And here is the last line of /cellworx/etc/init:

        /cellworx/bin/psm -e -SEITNHC >& /tmp/psmOut &

This binary will not start properly from within this shell script.
I can only start it from the command line, or I can type
". /cellworx/etc/init" from the command line with success as well.

If anyone has ANY suggestions, I would _greatly_ appreciate them.
Many thanks in advance!
-chad smith

reply via email to

[Prev in Thread] Current Thread [Next in Thread]