Activity log for bug #1822776

Date Who What changed Old value New value Message
2019-04-02 12:47:56 halfgaar bug added bug
2019-05-20 14:25:42 Robie Basak bug added subscriber Robie Basak
2019-05-20 18:39:41 halfgaar description Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical, also for older Ubuntus. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. Edit as per the SRU procedure: [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version. [Test Case] Run this loop for a few days/weeks: #!/bin/bash while true; do sleep 0.5 & wait done It will cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. [Regression Potential] Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Other Info] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected.
2019-05-21 08:29:21 Sebastien Bacher bash (Ubuntu): importance Undecided High
2019-05-21 08:29:37 Sebastien Bacher tags rls-bb-incoming
2019-05-21 12:49:21 Andreas Hasenack bug added subscriber Andreas Hasenack
2019-05-22 02:32:02 abdulelah a al-jeffery bug added subscriber abdulelah a al-jeffery
2019-05-22 02:32:05 abdulelah a al-jeffery removed subscriber abdulelah a al-jeffery
2019-05-29 15:08:40 Robie Basak tags rls-bb-incoming bitesize rls-bb-incoming server-next
2019-05-29 15:08:53 Robie Basak bash (Ubuntu): assignee Bryce Harrington (bryce)
2019-05-29 16:38:49 Bryce Harrington nominated for series Ubuntu Bionic
2019-05-29 16:38:49 Bryce Harrington bug task added bash (Ubuntu Bionic)
2019-05-29 16:38:56 Bryce Harrington bash (Ubuntu Bionic): importance Undecided High
2019-05-29 16:39:00 Bryce Harrington bash (Ubuntu Bionic): assignee Bryce Harrington (bryce)
2019-05-29 16:41:20 Bryce Harrington nominated for series Ubuntu Cosmic
2019-05-29 16:41:20 Bryce Harrington bug task added bash (Ubuntu Cosmic)
2019-05-29 17:01:17 Bryce Harrington description Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. Edit as per the SRU procedure: [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version. [Test Case] Run this loop for a few days/weeks: #!/bin/bash while true; do sleep 0.5 & wait done It will cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. [Regression Potential] Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Other Info] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. [Test Case] Run this loop for a few days/weeks:   #!/bin/bash   while true; do     sleep 0.5 &     wait   done It will eventually cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. [Regression Potential] The fix has been reviewed and accepted upstream. The patch adds a test at time of pid determination for if the pid is already in use and if so, skip it and pick a different one. This does change behavior slightly in that different pid numbers will be generated in rare cases, but nothing should depend on how pids are generated, as the behavior is not specified to be anything but random. The patch adds a new warning message, "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", but this only shows when the original bug would have been triggered. Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Fix] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Original Report] Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version.
2019-05-30 14:55:40 Bryce Harrington bash (Ubuntu Cosmic): importance Undecided High
2019-05-30 14:55:42 Bryce Harrington bash (Ubuntu Cosmic): assignee Bryce Harrington (bryce)
2019-05-30 14:56:24 Bryce Harrington bash (Ubuntu): status New Fix Released
2019-05-30 15:32:24 Brian Murray tags bitesize rls-bb-incoming server-next bitesize server-next
2019-06-07 01:47:19 Bryce Harrington bash (Ubuntu Bionic): status New In Progress
2019-06-07 01:47:22 Bryce Harrington bash (Ubuntu Cosmic): status New In Progress
2019-06-07 20:31:00 Bryce Harrington description [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. [Test Case] Run this loop for a few days/weeks:   #!/bin/bash   while true; do     sleep 0.5 &     wait   done It will eventually cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. [Regression Potential] The fix has been reviewed and accepted upstream. The patch adds a test at time of pid determination for if the pid is already in use and if so, skip it and pick a different one. This does change behavior slightly in that different pid numbers will be generated in rare cases, but nothing should depend on how pids are generated, as the behavior is not specified to be anything but random. The patch adds a new warning message, "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", but this only shows when the original bug would have been triggered. Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Fix] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Original Report] Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version. [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. [Test Case] A PPA with the proposed fix included is at: https://launchpad.net/~bryce/+archive/ubuntu/bash-sru-19-010-1 Install the PPA with the fix via: sudo add-apt-repository ppa:bryce/bash-sru-19-010-1 sudo apt-get update sudo apt-get install bash Run this loop for a few days/weeks:   #!/bin/bash   while true; do     sleep 0.5 &     wait   done It will eventually cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. [Regression Potential] The fix has been reviewed and accepted upstream. The patch adds a test at time of pid determination for if the pid is already in use and if so, skip it and pick a different one. This does change behavior slightly in that different pid numbers will be generated in rare cases, but nothing should depend on how pids are generated, as the behavior is not specified to be anything but random. The patch adds a new warning message, "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", but this only shows when the original bug would have been triggered. Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Fix] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Original Report] Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version.
2019-06-07 21:07:23 Launchpad Janitor merge proposal linked https://code.launchpad.net/~bryce/ubuntu/+source/bash/+git/bash/+merge/368573
2019-06-07 21:10:26 Launchpad Janitor merge proposal linked https://code.launchpad.net/~bryce/ubuntu/+source/bash/+git/bash/+merge/368574
2019-06-11 18:49:46 Bryce Harrington bug added subscriber Ubuntu Stable Release Updates Team
2019-06-11 18:49:57 Bryce Harrington summary Apply Bash 4.4.20 to fix cpu spinning on built-in wait [SRU] Apply Bash 4.4.20 to fix cpu spinning on built-in wait
2019-06-11 18:50:14 Bryce Harrington removed subscriber Ubuntu Stable Release Updates Team
2019-06-13 23:27:14 Bryce Harrington bug added subscriber Ubuntu Stable Release Updates Team
2019-06-19 15:59:10 Brian Murray bash (Ubuntu Cosmic): status In Progress Fix Committed
2019-06-19 15:59:13 Brian Murray bug added subscriber SRU Verification
2019-06-19 15:59:17 Brian Murray tags bitesize server-next bitesize server-next verification-needed verification-needed-cosmic
2019-06-19 16:00:38 Brian Murray bash (Ubuntu Bionic): status In Progress Fix Committed
2019-06-19 16:00:45 Brian Murray tags bitesize server-next verification-needed verification-needed-cosmic bitesize server-next verification-needed verification-needed-bionic verification-needed-cosmic
2019-07-04 19:58:02 halfgaar attachment added Script to reproduce the bash crash https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1822776/+attachment/5275112/+files/bash-crash-test.sh
2019-07-06 01:35:38 Bryce Harrington description [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. [Test Case] A PPA with the proposed fix included is at: https://launchpad.net/~bryce/+archive/ubuntu/bash-sru-19-010-1 Install the PPA with the fix via: sudo add-apt-repository ppa:bryce/bash-sru-19-010-1 sudo apt-get update sudo apt-get install bash Run this loop for a few days/weeks:   #!/bin/bash   while true; do     sleep 0.5 &     wait   done It will eventually cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. [Regression Potential] The fix has been reviewed and accepted upstream. The patch adds a test at time of pid determination for if the pid is already in use and if so, skip it and pick a different one. This does change behavior slightly in that different pid numbers will be generated in rare cases, but nothing should depend on how pids are generated, as the behavior is not specified to be anything but random. The patch adds a new warning message, "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", but this only shows when the original bug would have been triggered. Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Fix] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Original Report] Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version. [Impact] Long running bash loops that create and reap processes will crash, hanging at 100% CPU. [Test Case] A PPA with the proposed fix included is at:   https://launchpad.net/~bryce/+archive/ubuntu/bash-sru-19-010-1 Install the PPA with the fix via:   sudo add-apt-repository ppa:bryce/bash-sru-19-010-1   sudo apt-get update   sudo apt-get install bash Run this loop for a few days/weeks:   #!/bin/bash   while true; do     sleep 0.5 &     wait   done Reproducer script: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1822776/+attachment/5275112/+files/bash-crash-test.sh It will eventually cause the 'wait' statement to hang, consuming 100% after some indeterminate amount of time, dependent on how fast PIDs are cycled in the machine. The Bash bug report mentions longer running loops, but it seems hash collisions are the cause, meaning it's just a matter of chance, influenced by how fast PIDs are cycled on the machine. [Regression Potential] The fix has been reviewed and accepted upstream. The patch adds a test at time of pid determination for if the pid is already in use and if so, skip it and pick a different one. This does change behavior slightly in that different pid numbers will be generated in rare cases, but nothing should depend on how pids are generated, as the behavior is not specified to be anything but random. The patch adds a new warning message, "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", but this only shows when the original bug would have been triggered. Using 'apt-get source bash' to get the original source version, I created a deb that includes the 4.4.20 patch and have been running it since April 2nd. The 100% CPU spinning is solved, and no other regressions have been observed. Ubuntu 18.04 is already at 4.4.19, which is one patch level behind, so this involves linearly progressing to the next version (so not skipping patches). [Fix] Official patch to fix, and to bump to 4.4.20: http://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 The newest Ubuntu tar.xz with patches I could find at: http://archive.ubuntu.com/ubuntu/pool/main/b/bash/ also didn't have the 4.4.20 patch, so it seems no Ubuntu release has the fix yet. Although not completely sure, this problem seems to have been introduced in the 4.4 version of Bash, so in term of LTS versions, 18.04 and up are affected. [Original Report] Bash pre-4.4.20 has a bug in its PID hash table that causes spin-loops when spawning sub processes and waiting for them. There is a fix: https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 Our application started being affected (locking up) by this since migrating from Ubuntu 14.04 to 18.04. Ubuntu 14.04 has bash 4.3.11(1), Ubuntu 18.04 has bash 4.4.19 (that is, when running 'bash --version', because of their unusual versions as patches, apt shows it as 4.4.18-2ubuntu1). The 4.4-020 version needs to be included. I think it's actually quite critical. A justification for including the fix would be that a standard language feature in a script language is broken, and that it's indeterminate when it breaks. Considering the wide spread use of bash, I'm surprised not more people have reported issues. My and a client started having issues with independently of each other very soon after upgrading to an affected version.
2019-07-06 01:38:10 Bryce Harrington tags bitesize server-next verification-needed verification-needed-bionic verification-needed-cosmic bitesize server-next verification-done verification-done-bionic verification-done-cosmic
2019-07-08 07:20:22 Łukasz Zemczak tags bitesize server-next verification-done verification-done-bionic verification-done-cosmic bitesize server-next verification-done-bionic verification-needed verification-needed-cosmic
2019-07-08 07:25:46 Launchpad Janitor bash (Ubuntu Bionic): status Fix Committed Fix Released
2019-07-08 07:25:51 Łukasz Zemczak removed subscriber Ubuntu Stable Release Updates Team
2024-07-26 16:46:53 Brian Murray bash (Ubuntu Cosmic): status Fix Committed Won't Fix