Bug 55100

Summary: command substitution may fail (same as bug 8266)
Product: [Retired] Red Hat Linux Reporter: Erling Jacobsen <linuxcub>
Component: bashAssignee: Bernhard Rosenkraenzer <bero>
Status: CLOSED CURRENTRELEASE QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-10-25 15:48:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Erling Jacobsen 2001-10-25 15:48:27 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.2.17-14 i686)

Description of problem:
command substitution (using eval or ``) may fail with "Can't reopen
pipe to command substitution", due to a race between a call to
fdopen() and the SIGCHLD signal handler

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
Do this in a bash shell

while :; do x=`echo abc`; if [ "$x" != abc ] ; then echo oops ; fi ;done

and then wait ...
	

Actual Results:  After a while you'll get an oops ...

Expected Results:  No oops'es

Additional info:

See bug 8266

This bug only mentions RedHat Linux 6.0, but the bug still
exists in the bash that comes with RedHat Linux 6.2, which
means that, since 6.2 is the last of the 6.x series, the bug
should be fixed. It cannot be ignored on the grounds that 6.0
is no longer a supported version of RedHat Linux. RHL 6.2 is.

Comment 1 Bernhard Rosenkraenzer 2001-10-30 12:14:23 UTC
Since this is not a security bug, there's no immediate need for an errata.
The solution is to use bash 2.x (which is included in 6.2, as well, and is the 
only bash in more current releases).