[Bug 1878517] Update Released
Łukasz Zemczak
1878517 at bugs.launchpad.net
Thu Jul 16 10:19:21 UTC 2020
The verification of the Stable Release Update for bash has completed
successfully and the package is now being released to -updates.
Subsequently, the Ubuntu Stable Release Updates Team is being
unsubscribed and will not receive messages about this bug report. In
the event that you encounter a regression using the package from
-updates please report a new bug using ubuntu-bug and tag the bug report
regression-update so we can easily find any regressions.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/1878517
Title:
please apply bash 5.0 patch 17
Status in bash package in Ubuntu:
Fix Released
Status in bash source package in Focal:
Fix Released
Bug description:
This section is for Focal SRU purpose
[Impact]
From https://ftp.gnu.org/gnu/bash
There were cases where bash 5.0 patch 16 reaped process substitution file descriptors (or FIFOs) and processes to early. This is a better fix for the problem that bash50-016 attempted to solve.
[Test Case]
This simple bash script pass when bash with patch 017 is installed
Recommend to run it before and after installing the update to notice the difference
```
#!/usr/bin/bash
ouch() {
cat < <(echo bar)
cat "$1"
}
ouch2() {
{ cat; } < <(echo bar)
cat "$1"
}
ouch <(echo "foo")
ouch2 <(echo "foo")
```
Expected output with the patch installed:
foo
bar
foo
bar
[Regression Potential]
This is an upstream patch level update with no additional modification. The regression potential should be fairly low. Also the patch is intended to only fix this problem.
Possible regression would be unforeseen additional process substitutions that upstream bash would share.
End SRU
------
Original Bug Description:
I am using Ubuntu 20.04 for development and has hit a bug in bash 5.0
patch 16.
I can't reproduce it in pure bash, but with bats from
https://github.com/bats-core/bats-core/ it is very easy to repro:
```
# cat << EOF > ya.bats
check() {
echo "check $@"
ls -l /proc/self/fd
}
@test "here file" {
check -p <(echo "hey")
false
}
EOF
$ bats ya.bats
```
Normally the output should contain the line
lr-x------ 1 kir kir 64 May 14 02:01 63 -> pipe:[4616918]
which is a result of a "here file" created by bash via <(echo "hey").
In my testing, about 50% of runs don't have /dev/fd/63 listed.
I found out this is a manifest of a bug introduced in bash 5.0 patch
16 (see http://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-016)
The bug is fixed in 5.0 patch 17 (see
http://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-017).
Please update bash to patchlevel 17.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1878517/+subscriptions
More information about the foundations-bugs
mailing list