I'm pretty sure this bug is caused by this issue: https://github.com/util-linux/util-linux/issues/2336
TLDR: when using the --id=NNN parameter, logger sends random UID and GID along with the PID you specify on the command line. Those UID/GID probably don't exist on your machine/container and you are probably using some LSM module (like AppArmor, SELinux, etc) that checks the validity of the credentials sent through the sendmsg() syscall and thus denies the call with EINVAL. You might want to test the patch I posted on github. ** Bug watch added: github.com/util-linux/util-linux/issues #2336 https://github.com/util-linux/util-linux/issues/2336 -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, 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 -- 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