Subject: bug#41465: 28.0.50 (but also earlier versions); etags asserion error (with too many files?)

From: Gregor Zattler <[email-masked]>
Date: Fri, 22 May 2020 21:31:57 +0200

Dear emacs developers,

I get an assertion error when executing the following line
(from a cron job of mine):

grfz@no:~/src$ find ~/src -type f -print0 | egrep -zZ '(\.el|\.c|\.h)(\.gz)?$' | xargs -0r etags
etags: etags.c:1987: pfnote: Assertion `name == NULL || name[0] != '\0'' failed.
xargs: etags: terminated by signal 6
125 (master *) grfz@no:~/src$

This happens with etags from debian buster, as with etags
build from emacs-27 branch of emacs git repo, as with etags build
from feature/native-comp branch.

Under ~/src there is also the linux kernel git repo.  There
is no assertion error if I filter it out:

$ find . -type f -print0 | egrep -vzZ linux | egrep -zZ '(\.el|\.c|\.h)(\.gz)?$' | xargs -0r etags
0 (master *) grfz@no:~/src$

There is also no assertion error if I filter for .el files
only:

125 (master *) grfz@no:~/src$ find ~/src -type f -print0 | egrep -zZ '(\.el)(\.gz)?$' | xargs -0r etags
0 (master *) grfz@no:~/src$

Therefore I assume this somehow is related to the number of files.

Ciao; Gregor
--
 -... --- .-. . -.. ..--.. ...-.-