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
Touch seeded packages, 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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to