touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #128333
[Bug 1504127] Re: grep -q gets broken pipe message with multiple expressions
This is not a bug in bash; it is acceptable for the receiving end of the
stdout pipe to be closed by grep once grep has found a match and exited.
It is a bug in the lsb-release command, which should not throw an
exception when stdout is closed.
Confirming this as a genuine bug, but declining it for Canonical to work
on as there is a straightforward workaround (redirecting stderr to
/dev/null to suppress the exception message).
** Package changed: bash (Ubuntu) => lsb (Ubuntu)
** Changed in: lsb (Ubuntu)
Importance: Undecided => Low
** Changed in: lsb (Ubuntu)
Status: Confirmed => Triaged
** Changed in: lsb (Ubuntu)
Assignee: Taco Screen team (taco-screen-team) => (unassigned)
** Summary changed:
- grep -q gets broken pipe message with multiple expressions
+ lsb_release throws exception if stdout is closed
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lsb in Ubuntu.
https://bugs.launchpad.net/bugs/1504127
Title:
lsb_release throws exception if stdout is closed
Status in lsb package in Ubuntu:
Triaged
Bug description:
== Comment: #0 - Liang Chang Guo <lcguo@xxxxxxxxxx> - 2015-10-06 20:43:30 ==
For testing if a system is Ubuntu, the following combined command with bash always gets extra BrokenPipeError on Ubuntu (14.04 to 15.10):
# ( cat /etc/os-release /proc/version; lsb_release -is ) | grep -iq Ubuntu
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
While the return code is correct:
# ( cat /etc/os-release /proc/version; lsb_release -is ) | grep -iq Ubuntu && echo It-is-Ubuntu
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
It-is-Ubuntu
It may work well if with slight changes for the command:
# ( cat /etc/os-release /proc/version; lsb_release -is ) | grep -i Ubuntu
NAME="Ubuntu"
... ...
# ( cat /etc/os-release /proc/version; lsb_release -is ) | grep -iq UbuntuW
# ( cat /etc/os-release /proc/version; sleep 1; echo =; lsb_release -is ) | grep -iq Ubuntu
# cat /etc/os-release /proc/version | grep -iq Ubuntu
# (lsb_release -is) | grep -iq Ubuntu
*** Ubuntu Platform Info ***
# uname -a
Linux ubt1510J2 4.2.0-12-generic #14-Ubuntu SMP Mon Sep 28 16:50:34 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
# dpkg -l bash grep
||/ Name Version Architecture Description
+++-=================================-=====================-=====================-=========================
ii bash 4.3-14ubuntu1 ppc64el GNU Bourne Again SHell
ii grep 2.21-2 ppc64el GNU grep, egrep and fgrep
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lsb/+bug/1504127/+subscriptions