[Bug 1991436] Re: "invalid argument" error from logger command when passing messages via STDIN
Dan Bungert
1991436 at bugs.launchpad.net
Wed Oct 5 19:20:55 UTC 2022
** Changed in: util-linux (Ubuntu)
Status: Incomplete => Triaged
** Changed in: util-linux (Ubuntu)
Importance: Undecided => Medium
** Description changed:
+ Steps to reproduce:
+
+ apt-get install lxd-installer
+ lxd init
+ lxc launch ubuntu:jammy ct0
+ lxc exec ct0 -- bash
+
+ Then within the container run
+
+ echo foo | logger --id="$$"
+
+ Note: the command may work the first time, but subsequent invocations
+ then produced the error described in my bug report.
+
+ (original report follows)
+ -----
+
When invoking the `logger` command on Ubuntu Jammy (bsdutils 2.37.2)
with explicit PID and passing messages via STDIN
```
echo "some message" | logger -p local0.info --id="$$"
```
the command produces the following error instead of sending the message
to syslog:
> logger: send message failed: Invalid argument
The error does not appear when the message is passed as an argument:
```
logger -p local0.info --id="$$" "some message" # this works!
```
When using process substitution the error only appears for the first log
message:
```
exec > >(logger -p local0.info --id="$$")
echo "first message" # throws error, message not logged
echo "second message" # no error, message logged correctly
```
The issue does not exist in older versions (e.g. Ubuntu Xenial, bsdutils
2.27.1).
Workaround: Omit `--id` and include the PID in a tag.
```
echo "some message" | logger -p local0.info -t "foo[$$]"
```
Expected Behavior
-----------------
All messages passed via STDIN should be sent to syslog without throwing
an error.
OS Release
----------
Description: Ubuntu 22.04 LTS
Release: 22.04
Package Version
---------------
bsdutils:
Installed: 2.37.2-4ubuntu3
Candidate: 2.37.2-4ubuntu3
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1991436
Title:
"invalid argument" error from logger command when passing messages via
STDIN
Status in util-linux package in Ubuntu:
Triaged
Bug description:
Steps to reproduce:
apt-get install lxd-installer
lxd init
lxc launch ubuntu:jammy ct0
lxc exec ct0 -- bash
Then within the container run
echo foo | logger --id="$$"
Note: the command may work the first time, but subsequent invocations
then produced the error described in my bug report.
(original report follows)
-----
When invoking the `logger` command on Ubuntu Jammy (bsdutils 2.37.2)
with explicit PID and passing messages via STDIN
```
echo "some message" | logger -p local0.info --id="$$"
```
the command produces the following error instead of sending the
message to syslog:
> logger: send message failed: Invalid argument
The error does not appear when the message is passed as an argument:
```
logger -p local0.info --id="$$" "some message" # this works!
```
When using process substitution the error only appears for the first
log message:
```
exec > >(logger -p local0.info --id="$$")
echo "first message" # throws error, message not logged
echo "second message" # no error, message logged correctly
```
The issue does not exist in older versions (e.g. Ubuntu Xenial,
bsdutils 2.27.1).
Workaround: Omit `--id` and include the PID in a tag.
```
echo "some message" | logger -p local0.info -t "foo[$$]"
```
Expected Behavior
-----------------
All messages passed via STDIN should be sent to syslog without
throwing an error.
OS Release
----------
Description: Ubuntu 22.04 LTS
Release: 22.04
Package Version
---------------
bsdutils:
Installed: 2.37.2-4ubuntu3
Candidate: 2.37.2-4ubuntu3
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1991436/+subscriptions
More information about the foundations-bugs
mailing list