Tomas Volf wrote 4 weeks ago
(address . bug-guix@gnu.org)
Hi :)
Shepherd does not seem to support UTF-8 output (Japanese in my case) in
the log output. I noticed the issue with timers, but can be reproduced
with transient as well:
Toggle snippet (20 lines)
$ herd spawn transient -- $(which sh) -c 'echo "猫"'
Spawning transient service for ("/run/current-system/profile/bin/sh" "-c" "echo \"???\"").
Service user-homes has been started.
Starting service transient-252...
Service transient-252 started.
Service transient-252 running with value #<<process> id: 1314 command: ("/run/current-system/profile/bin/sh" "-c" "echo \"???\"")>.
Service transient-252 has been started.
$ tail -f /var/log/messages
Feb 12 23:43:31 localhost shepherd[1]: Service user-homes has been started.
Feb 12 23:43:31 localhost shepherd[1]: Service user-homes started.
Feb 12 23:43:31 localhost shepherd[1]: Service user-homes running with value #t.
Feb 12 23:43:31 localhost shepherd[1]: Starting service transient-252...
Feb 12 23:43:31 localhost shepherd[1]: Service transient-252 started.
Feb 12 23:43:31 localhost shepherd[1]: Service transient-252 running with value #<<process> id: 1314 command: ("/run/current-system/profile/bin/sh" "-c" "echo \"???\"")>.
Feb 12 23:43:31 localhost shepherd[1]: Service transient-252 has been started.
Feb 12 23:43:31 localhost shepherd[1]: sh[1314] ???
Feb 12 23:43:31 localhost shepherd[1]: Service transient-252 has been disabled.
Feb 12 23:43:31 localhost shepherd[1]: Transient service transient-252 terminated, now unregistered.
Notice the `???' in output from both commands. Neither the `herd spawn'
output nor the /var/log/message contain correct Japanese character.
Have a nice day,
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.