GNU bug report logs - #76381
todo-test-add-and-delete-file fails on Ubuntu 24.10

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Tue, 18 Feb 2025 01:15:01 UTC

Severity: minor

Tags: help

Merged with 58473

Found in version 29.0.50

To reply to this bug, email your comments to 76381 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Tue, 18 Feb 2025 01:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Eggert <eggert <at> cs.ucla.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 18 Feb 2025 01:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Emacs bug reports and feature requests <bug-gnu-emacs <at> gnu.org>
Cc: Stefan Kangas <stefankangas <at> gmail.com>
Subject: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Mon, 17 Feb 2025 17:14:19 -0800
Currently (commit 9cedb434ee390a30a690e9f979428c5735cb88e5) the 
todo-mode-tests fail for me. This failure has been happening for a while 
and I finally got up the energy to report it today.

I see the following failure symptoms on Ubuntu 24.10, running on a ZFS 
file system mounted with the options rw, noatime, xattr, posixacl, and 
casesensitive.

  $ 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.

Of course a test like this shouldn't read from standard input.

If I run this command instead:

  $ make lisp/calendar/todo-mode-tests </dev/null

I get a failure. Here is what I see in the terminal output (from here to 
the end of this email):

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:06:39-0800, selector ‘(not (or (tag 
:unstable) (tag :nativecomp)))’)
Enter a non-existing file name: Test todo-test-add-and-delete-file 
backtrace:
  read-from-minibuffer("Enter a non-existing file name: " nil (keymap
  completing-read-default("Enter a non-existing file name: " ("todo-te
  completing-read("Enter a non-existing file name: " ("todo-test-1" "t
  todo-validate-name("todo-test-2" file)
  todo-add-file()
  funcall-interactively(todo-add-file)
  call-interactively(todo-add-file)
  (progn (fset 'todo-read-category vnew) (fset 'todo-read-file-name vn
  (unwind-protect (progn (fset 'todo-read-category vnew) (fset 'todo-r
  (let* ((vnew #'(lambda (_prompt) file0)) (vnew #'(lambda (_prompt &o
  (let ((file0 (expand-file-name (concat file ".todo") (let* ((testfil
  todo-test--add-file("todo-test-2" "cat21")
  (let* ((file (concat todo-directory "todo-test-2.todo")) (file-nb (f
  (progn (todo-show) (let* ((fn-724 #'equal) (args-725 (condition-case
  (unwind-protect (progn (todo-show) (let* ((fn-724 #'equal) (args-725
  (let* ((abbreviated-home-dir nil) (process-environment (cons (format
  (progn (let* ((abbreviated-home-dir nil) (process-environment (cons
  (unwind-protect (progn (let* ((abbreviated-home-dir nil) (process-en
  (let* ((coding-system-for-write nil) (temp-file (file-name-as-direct
  #f(lambda () [t] (let* ((coding-system-for-write nil) (temp-file (fi
  #f(compiled-function () #<bytecode 0x232899316c83114>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x232899316c83114>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name todo-test-add-and-delete-file :docume
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test todo-test-add-and-delete-file condition:
    (end-of-file "Error reading from stdin")
   FAILED   1/42  todo-test-add-and-delete-file (0.023699 sec) at 
lisp/calendar/todo-mode-tests.el:823
Type C-x C-q to return to Todo mode.

Warning (todo):
Type C-x C-q to return to Todo mode.

This also runs a file format check and signals an error if
the format has become invalid.  However, this check cannot
tell if the number of items or categories changed, which
could result in the file containing inconsistent information.
You can repair this inconsistency by invoking the command
`todo-repair-categories-sexp', but this will revert any
renumbering of the categories you have made, so you will
have to renumber them again (see `(todo-mode) Reordering
Categories').

Warning (todo):
Type C-x C-q to return to Todo Archive mode.

This also runs a file format check and signals an error if
the format has become invalid.  However, this check cannot
tell if the number of items or categories changed, which
could result in the file containing inconsistent information.
You can repair this inconsistency by invoking the command
`todo-repair-categories-sexp', but this will revert any
renumbering of the categories you have made, so you will
have to renumber them again (see `(todo-mode) Reordering
Categories').

   passed   2/42  todo-test-current-file-in-edit-mode (0.021512 sec)
   passed   3/42  todo-test-done-items-separator01-bol (0.010045 sec)
   passed   4/42  todo-test-done-items-separator01-eol (0.010608 sec)
   passed   5/42  todo-test-done-items-separator02-bol (0.009315 sec)
   passed   6/42  todo-test-done-items-separator02-eol (0.012330 sec)
   passed   7/42  todo-test-done-items-separator03-bol (0.011992 sec)
   passed   8/42  todo-test-done-items-separator03-eol (0.011536 sec)
   passed   9/42  todo-test-done-items-separator04-bol (0.010800 sec)
   passed  10/42  todo-test-done-items-separator04-eol (0.010216 sec)
   passed  11/42  todo-test-done-items-separator05-bol (0.009597 sec)
   passed  12/42  todo-test-done-items-separator05-eol (0.018598 sec)
   passed  13/42  todo-test-done-items-separator06-bol (0.010261 sec)
   passed  14/42  todo-test-done-items-separator06-eol (0.009223 sec)
   passed  15/42  todo-test-done-items-separator07 (0.009008 sec)
   passed  16/42  todo-test-edit-item-date-month (0.009337 sec)
Warning (todo):
Type C-x C-q to return to Todo mode.

This also runs a file format check and signals an error if
the format has become invalid.  However, this check cannot
tell if the number of items or categories changed, which
could result in the file containing inconsistent information.
You can repair this inconsistency by invoking the command
`todo-repair-categories-sexp', but this will revert any
renumbering of the categories you have made, so you will
have to renumber them again (see `(todo-mode) Reordering
Categories').

Warning (todo):
Type C-x C-q to return to Todo Archive mode.

This also runs a file format check and signals an error if
the format has become invalid.  However, this check cannot
tell if the number of items or categories changed, which
could result in the file containing inconsistent information.
You can repair this inconsistency by invoking the command
`todo-repair-categories-sexp', but this will revert any
renumbering of the categories you have made, so you will
have to renumber them again (see `(todo-mode) Reordering
Categories').

   passed  17/42  todo-test-edit-quit (0.018608 sec)
   passed  18/42  todo-test-item-highlighting (0.001984 sec)
   passed  19/42  todo-test-item-insertion-with-priority-1 (0.009987 sec)
   passed  20/42  todo-test-item-insertion-with-priority-2 (0.009790 sec)
   passed  21/42  todo-test-item-insertion-with-priority-3 (0.009942 sec)
   passed  22/42  todo-test-move-item01 (0.012244 sec)
   passed  23/42  todo-test-move-item02 (0.013235 sec)
   passed  24/42  todo-test-move-item03 (0.011093 sec)
   passed  25/42  todo-test-move-item04 (0.010821 sec)
   passed  26/42  todo-test-move-item05 (0.010157 sec)
   passed  27/42  todo-test-multiline-item-indentation-1 (0.010821 sec)
Type C-x C-q to return to Todo mode.

   passed  28/42  todo-test-multiline-item-indentation-2 (0.009533 sec)
Warning (todo):
Type C-x C-q to return to Todo mode.

This also runs a file format check and signals an error if
the format has become invalid.  However, this check cannot
tell if the number of items or categories changed, which
could result in the file containing inconsistent information.
You can repair this inconsistency by invoking the command
`todo-repair-categories-sexp', but this will revert any
renumbering of the categories you have made, so you will
have to renumber them again (see `(todo-mode) Reordering
Categories').

   passed  29/42  todo-test-multiline-item-indentation-3 (0.009796 sec)
   passed  30/42  todo-test-raise-lower-priority (0.009248 sec)
   passed  31/42  todo-test-revert-buffer01 (0.009938 sec)
   passed  32/42  todo-test-revert-buffer02 (0.008427 sec)
   passed  33/42  todo-test-todo-mark-unmark-category (0.010725 sec)
   passed  34/42  todo-test-todo-quit01 (0.052408 sec)
   passed  35/42  todo-test-todo-quit02 (0.009662 sec)
   passed  36/42  todo-test-toggle-item-header01 (0.001943 sec)
   passed  37/42  todo-test-toggle-item-header02 (0.008954 sec)
   passed  38/42  todo-test-toggle-item-header03 (0.008931 sec)
   passed  39/42  todo-test-toggle-item-header04 (0.009328 sec)
   passed  40/42  todo-test-toggle-item-header05 (0.009975 sec)
Items unarchived.
   passed  41/42  todo-test-toggle-item-header06 (0.018761 sec)
   passed  42/42  todo-test-toggle-item-header07 (0.009436 sec)

Ran 42 tests, 41 results as expected, 1 unexpected (2025-02-17 
17:06:40-0800, 0.558779 sec)

1 unexpected results:
   FAILED  todo-test-add-and-delete-file

make[1]: *** [Makefile:185: lisp/calendar/todo-mode-tests.log] Error 1
make[1]: Leaving directory '/home/eggert/src/gnu/emacs/static-checking/test'
make: *** [Makefile:251: lisp/calendar/todo-mode-tests] Error 2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Thu, 20 Feb 2025 13:34:02 GMT) Full text and rfc822 format available.

Message #8 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Thu, 20 Feb 2025 14:33:24 +0100
On Mon, 17 Feb 2025 17:14:19 -0800 Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> Currently (commit 9cedb434ee390a30a690e9f979428c5735cb88e5) the
> todo-mode-tests fail for me. This failure has been happening for a while and I
> finally got up the energy to report it today.
>
> I see the following failure symptoms on Ubuntu 24.10, running on a ZFS file
> system mounted with the options rw, noatime, xattr, posixacl, and
> casesensitive.
>
>   $ 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.

But when I run `make
~/src/emacs/emacs-master/test/lisp/calendar/todo-mode-tests.log' all
tests are run and all pass (on all three emacs branches).

> Of course a test like this shouldn't read from standard input.

Indeed, and the test uses `todo-test--add-file', whose doc string says:
"This provides a noninteractive API for todo-add-file for use in
automatic testing."  So I'm mystified as to why you get the hang above
and the error below.  From backtrace of the latter it looks like
`todo-read-category' from todo-mode.el is being used instead of the
mocked version defined in `todo-test--add-file', but I don't see how
that could have happened.

Steve Berman

> If I run this command instead:
>
>   $ make lisp/calendar/todo-mode-tests </dev/null
>
> I get a failure. Here is what I see in the terminal output (from here to the
> end of this email):
>
> 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:06:39-0800, selector ‘(not (or (tag :unstable)
> (tag :nativecomp)))’)
> Enter a non-existing file name: Test todo-test-add-and-delete-file backtrace:
>   read-from-minibuffer("Enter a non-existing file name: " nil (keymap
>   completing-read-default("Enter a non-existing file name: " ("todo-te
>   completing-read("Enter a non-existing file name: " ("todo-test-1" "t
>   todo-validate-name("todo-test-2" file)
>   todo-add-file()
>   funcall-interactively(todo-add-file)
>   call-interactively(todo-add-file)
>   (progn (fset 'todo-read-category vnew) (fset 'todo-read-file-name vn
>   (unwind-protect (progn (fset 'todo-read-category vnew) (fset 'todo-r
>   (let* ((vnew #'(lambda (_prompt) file0)) (vnew #'(lambda (_prompt &o
>   (let ((file0 (expand-file-name (concat file ".todo") (let* ((testfil
>   todo-test--add-file("todo-test-2" "cat21")
>   (let* ((file (concat todo-directory "todo-test-2.todo")) (file-nb (f
>   (progn (todo-show) (let* ((fn-724 #'equal) (args-725 (condition-case
>   (unwind-protect (progn (todo-show) (let* ((fn-724 #'equal) (args-725
>   (let* ((abbreviated-home-dir nil) (process-environment (cons (format
>   (progn (let* ((abbreviated-home-dir nil) (process-environment (cons
>   (unwind-protect (progn (let* ((abbreviated-home-dir nil) (process-en
>   (let* ((coding-system-for-write nil) (temp-file (file-name-as-direct
>   #f(lambda () [t] (let* ((coding-system-for-write nil) (temp-file (fi
>   #f(compiled-function () #<bytecode 0x232899316c83114>)()
>   handler-bind-1(#f(compiled-function () #<bytecode 0x232899316c83114>
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name todo-test-add-and-delete-file :docume
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>   command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
>   command-line()
>   normal-top-level()
> Test todo-test-add-and-delete-file condition:
>     (end-of-file "Error reading from stdin")
>    FAILED   1/42  todo-test-add-and-delete-file (0.023699 sec) at
>    lisp/calendar/todo-mode-tests.el:823
[...]
> Ran 42 tests, 41 results as expected, 1 unexpected (2025-02-17 17:06:40-0800,
> 0.558779 sec)
>
> 1 unexpected results:
>    FAILED  todo-test-add-and-delete-file
>
> make[1]: *** [Makefile:185: lisp/calendar/todo-mode-tests.log] Error 1
> make[1]: Leaving directory '/home/eggert/src/gnu/emacs/static-checking/test'
> make: *** [Makefile:251: lisp/calendar/todo-mode-tests] Error 2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Thu, 20 Feb 2025 18:14:02 GMT) Full text and rfc822 format available.

Message #11 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Thu, 20 Feb 2025 10:13:24 -0800
[Message part 1 (text/plain, inline)]
On 2025-02-20 05:33, Stephen Berman wrote:
> On Mon, 17 Feb 2025 17:14:19 -0800 Paul Eggert <eggert <at> cs.ucla.edu> 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.
[tmpfs.tr.xz (application/x-xz, attachment)]
[zfs.tr.xz (application/x-xz, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Thu, 20 Feb 2025 23:02:03 GMT) Full text and rfc822 format available.

Message #14 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Fri, 21 Feb 2025 00:01:48 +0100
On Thu, 20 Feb 2025 10:13:24 -0800 Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> On 2025-02-20 05:33, Stephen Berman wrote:
>> On Mon, 17 Feb 2025 17:14:19 -0800 Paul Eggert <eggert <at> cs.ucla.edu> 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.

FWIW, I also tried running `make lisp/calendar/todo-mode-tests' from the
test directory of the Emacs source tree, but it also failed with "No
rule to make target".

> 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.

That seems plausible since it's reproducible for you.  Yet I wouldn't
have thought that this kind of error could be cause by some property of
a file system, though admittedly I have next to no technical knowledge
of file systems.

> 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.

Thanks for the traces.  I couldn't recognize anything in them that
indicated a reason for the test failure, but here too I lack the
necessary knowledge.  Hopefully someone who has it will be able to shed
some light.

Steve Berman




Severity set to 'minor' from 'normal' Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Sun, 23 Feb 2025 00:01:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Tue, 25 Feb 2025 09:38:02 GMT) Full text and rfc822 format available.

Message #19 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Tue, 25 Feb 2025 10:37:11 +0100
On Fri, 21 Feb 2025 00:01:48 +0100 Stephen Berman <stephen.berman <at> gmx.net> wrote:

> On Thu, 20 Feb 2025 10:13:24 -0800 Paul Eggert <eggert <at> cs.ucla.edu> wrote:
>
>> On 2025-02-20 05:33, Stephen Berman wrote:
>>> On Mon, 17 Feb 2025 17:14:19 -0800 Paul Eggert <eggert <at> cs.ucla.edu> 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.
>
> FWIW, I also tried running `make lisp/calendar/todo-mode-tests' from the
> test directory of the Emacs source tree, but it also failed with "No
> rule to make target".
>
>> 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.
>
> That seems plausible since it's reproducible for you.  Yet I wouldn't
> have thought that this kind of error could be cause by some property of
> a file system, though admittedly I have next to no technical knowledge
> of file systems.
>
>> 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.
>
> Thanks for the traces.  I couldn't recognize anything in them that
> indicated a reason for the test failure, but here too I lack the
> necessary knowledge.  Hopefully someone who has it will be able to shed
> some light.

This test has previously been reported to fail (bug#58473), though the
bug was closed because failure was not reliably reproducible (so it was
probably not on a zfs filesystem).

Steve Berman




Severity set to 'normal' from 'minor' Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Wed, 26 Feb 2025 01:35:02 GMT) Full text and rfc822 format available.

Merged 58473 76381. Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Wed, 26 Feb 2025 01:35:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Wed, 26 Feb 2025 01:37:01 GMT) Full text and rfc822 format available.

Message #26 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Tue, 25 Feb 2025 17:36:40 -0800
On 2/25/25 01:37, Stephen Berman wrote:
> This test has previously been reported to fail (bug#58473), though the
> bug was closed because failure was not reliably reproducible (so it was
> probably not on a zfs filesystem).

Thanks, I reopened bug#58473 and merged it with bug#76381.

If we can't figure out the apparent bug, should we mark the test as 
flaky or expensive or something like that, so that an ordinary "make 
check" doesn't run it?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Wed, 26 Feb 2025 09:44:02 GMT) Full text and rfc822 format available.

Message #29 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Wed, 26 Feb 2025 10:43:30 +0100
On Tue, 25 Feb 2025 17:36:40 -0800 Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> On 2/25/25 01:37, Stephen Berman wrote:
>> This test has previously been reported to fail (bug#58473), though the
>> bug was closed because failure was not reliably reproducible (so it was
>> probably not on a zfs filesystem).
>
> Thanks, I reopened bug#58473 and merged it with bug#76381.
>
> If we can't figure out the apparent bug, should we mark the test as flaky or
> expensive or something like that, so that an ordinary "make check" doesn't run
> it?

Is there a portable way to identify filesystems?  If so, we could mark
the test as expected to fail on zfs.  Otherwise, I guess we could tag
the test as unstable, if that's deemed appropriate on the basis of two
bug reports.  What do the Emacs maintainers say?

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Wed, 26 Feb 2025 21:00:02 GMT) Full text and rfc822 format available.

Message #32 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Wed, 26 Feb 2025 12:59:17 -0800
On 2/26/25 01:43, Stephen Berman wrote:
> Is there a portable way to identify filesystems?

The identification method doesn't have to be that portable. You can run 
the command "stat -fc %T ." on GNUish systems. On systems where 'stat' 
fails, assume the worst.

It might be better to test for filesystems where the test is known to 
work, and assume it's flaky everywhere else. In particular, NFS file 
systems may well fail if the server uses zfs.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76381; Package emacs. (Thu, 27 Feb 2025 11:16:03 GMT) Full text and rfc822 format available.

Message #35 received at 76381 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 76381 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#76381: todo-test-add-and-delete-file fails on Ubuntu 24.10
Date: Thu, 27 Feb 2025 12:15:38 +0100
On Wed, 26 Feb 2025 12:59:17 -0800 Paul Eggert <eggert <at> cs.ucla.edu> wrote:

> On 2/26/25 01:43, Stephen Berman wrote:
>> Is there a portable way to identify filesystems?
>
> The identification method doesn't have to be that portable. You can run the
> command "stat -fc %T ." on GNUish systems. On systems where 'stat' fails,
> assume the worst.
>
> It might be better to test for filesystems where the test is known to work,
> and assume it's flaky everywhere else. In particular, NFS file systems may
> well fail if the server uses zfs.

My daily system uses ext4 so that's the only filesystem I can readily
test for.  But I doubt it's the only one where this test does not fail.
So I decided to tag the test as unstable (in commit 4cc5e4ec0bc on
master) so it won't be run with `make check'.  I'd like to leave this
bug open in case someone finds out why the test fails under ZFS or
possibly for other reasons.

Steve Berman




Severity set to 'minor' from 'normal' Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 04 Mar 2025 02:39:02 GMT) Full text and rfc822 format available.

Added tag(s) help. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 04 Mar 2025 02:40:02 GMT) Full text and rfc822 format available.

This bug report was last modified 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.