GNU bug report logs -
#76381
todo-test-add-and-delete-file fails on Ubuntu 24.10
Previous Next
To reply to this bug, email your comments to 76381 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
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):
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):
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):
[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):
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):
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):
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):
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):
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):
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.