Subject: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10

From: Paul Eggert <[email-masked]>
Date: Thu, 20 Feb 2025 10:13:24 -0800

On 2025-02-20 05:33, Stephen Berman wrote:
> On Mon, 17 Feb 2025 17:14:19 -0800 Paul Eggert <[email-masked]> wrote:
>>    $ cd test
>>    $ make lisp/calendar/todo-mode-tests
>>    make[1]: Entering directory
>>    '/home/eggert/src/gnu/emacs/static-checking/test'
>>      GEN      lisp/calendar/todo-mode-tests.log
>>    Running 42 tests (2025-02-17 17:04:52-0800, selector ‘(not (or (tag
>>    :unstable) (tag :nativecomp)))’)
>>    Enter a non-existing file name:
>>
>> ... and the test hangs, waiting for me to type a file name I guess.
> 
> I cannot reproduce this, either on the master, emacs-30 or emacs-29
> branch (on a GNU/Linux system with ext4 file system).  For one thing,
> when I run the equivalent of `make lisp/calendar/todo-mode-tests' (I
> build out-of-tree) I get:
> 
> steve [ ~/build/emacs-master/test ]$ make ~/src/emacs/emacs-master/test/lisp/calendar/todo-mode-tests
> make: *** No rule to make target '/home/steve/src/emacs/emacs-master/test/lisp/calendar/todo-mode-tests'.  Stop.

Thanks for looking into it. I wouldn't expect that command to reproduce 
the bug, though. I can reproduce the problem at the top level with a 
simple "make check" though this takes a while as it runs all the tests. 
I can also reproduce the problem by running

    cd test
    make lisp/calendar/todo-mode-tests

as shown above.

I build in-tree; I don't know if that makes a difference.

The test reliably fails on Ubuntu 24.10 on a zfs filesystem. It reliably 
succeeds on on the same host when running on a tmpfs filesystem. So 
possibly this is related to zfs.

To help debug this I am attaching the trace output of the following 
command when run in the test directory in both environments:

LC_ALL=C USERNAME=test HOME=/tmp/home ENV=/tmp/home/mt LOGNAME=test 
j=/tmp/home b=/tmp/home USER=test BASH_ENV=/tmp/home/mt 
PATH=/usr/bin:/usr/sbin strace -f -o /tmp/tr make 
lisp/calendar/todo-mode-tests

where /tmp/home contains a single file, /tmp/home/mt, which is empty.

The file zfs.tr.xz is the xz-compressed trace output on zfs, and 
tmpfs.tr.sz is the trace output on tmpfs. Perhaps that can help diagnose 
the bug.