Subject: Re: bug#58048: The boot process can't delete old /tmp when it contains non-UTF-8 file names

From: Ludovic Courtès <[email-masked]>
Date: Mon, 26 Sep 2022 17:48:36 +0200

Maxime Devos <[email-masked]> skribis:

> On 24-09-2022 23:12, Maxime Devos wrote:
>> Will try to catch the exact warning message and write a reproducer
>> at the next boot, for now I write it here before I forget about it.
>
> Two reproducers:
>
> (1) Compile ripgrep and somehow let it fail (but after it creates
> non-UTF-8 file names), reboot, "ls /tmp"
> (2) Run touch /tmp/OOPS-$(echo -e '\xff')-OOPS, reboot, "ls /tmp"

The culprit would be ‘cleanup-gexp’ in (gnu services).  It keeps going
upon ‘system-error’ (like ENOENT), but it could be that you’re getting
‘encoding-error’ in this case.

In that case, ‘fail-safe’ should also catch this.

We can extend ‘%test-cleanup’ in (gnu tests base) to exercise this.

Would you like to give it a spin?

Ludo’.