On 2026-02-23 14:47:20 +0100, Vincent Lefevre wrote:
> On a Debian 12 (bookworm) machine, with info 6.8-6+b1, the bug still
> occurs. The strace output shows that the "info" utility resumes the
> search on variants of the filename in the same directory, but if the
> libtool file is present, it does not try other directories in the
> info path, even though the libtool file in not in the info format.

Actually it does not try variants, but do *again* the full search
(see strace output below).

> Ditto with info 7.2.92-1 from experimental.

It is actually a bit different.

With 6.8-6+b1 (bookworm machine):

[...]
3276798 newfstatat(AT_FDCWD, "./libtool.info", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.gz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.lz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.xz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.gz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.lz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.xz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index", 0x7fff19917ea0, 0) = -1 ENOTDIR 
(Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.gz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.lz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.xz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.bz2", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.z", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.lzma", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.Z", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.Y", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.gz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.lz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.xz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, 
st_size=342555, ...}, 0) = 0
3276798 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, 
st_size=342555, ...}, 0) = 0
3276798 openat(AT_FDCWD, "./libtool", O_RDONLY) = 3
3276798 mmap(NULL, 344064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x7fac57f03000
3276798 read(3, "#! /bin/sh\n# Generated automatic"..., 342555) = 342555
3276798 close(3)                        = 0
3276798 munmap(0x7fac57f03000, 344064)  = 0
3276798 newfstatat(AT_FDCWD, "./libtool.info", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.gz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.lz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.xz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.info.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.gz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.lz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.xz", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool-info.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index", 0x7fff19917ea0, 0) = -1 ENOTDIR 
(Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.gz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.lz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.xz", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.bz2", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.z", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.lzma", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.Z", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool/index.Y", 0x7fff19917ea0, 0) = -1 
ENOTDIR (Not a directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.gz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.lz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.xz", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.bz2", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.lzma", 0x7fff19917ea0, 0) = -1 
ENOENT (No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.Z", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool.inf.Y", 0x7fff19917ea0, 0) = -1 ENOENT 
(No such file or directory)
3276798 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, 
st_size=342555, ...}, 0) = 0
3276798 newfstatat(AT_FDCWD, "././libtool", {st_mode=S_IFREG|0755, 
st_size=342555, ...}, 0) = 0
3276798 openat(AT_FDCWD, "././libtool", O_RDONLY) = 3
3276798 brk(0x55d495b43000)             = 0x55d495b43000
3276798 read(3, "#! /bin/sh\n# Generated automatic"..., 342555) = 342555
3276798 close(3)                        = 0
3276798 rt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0
3276798 write(1, "\7\33[60;1HCannot find node 'Top'", 30) = 30
[...]

With 7.2.92-1 (experimental):

[...]
29616 newfstatat(AT_FDCWD, "./libtool.info", 0x7ffc1d310260, 0) = -1 ENOENT (No 
such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.gz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.lz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.xz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.bz2", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.lzma", 0x7ffc1d310260, 0) = -1 
ENOENT (No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.Z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.zst", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.info.Y", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info", 0x7ffc1d310260, 0) = -1 ENOENT (No 
such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.gz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.lz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.xz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.bz2", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.lzma", 0x7ffc1d310260, 0) = -1 
ENOENT (No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.Z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.zst", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool-info.Y", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf", 0x7ffc1d310260, 0) = -1 ENOENT (No 
such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.gz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.lz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.xz", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.bz2", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.lzma", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.Z", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.zst", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool.inf.Y", 0x7ffc1d310260, 0) = -1 ENOENT 
(No such file or directory)
29616 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, st_size=352925, 
...}, 0) = 0
29616 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, st_size=352925, 
...}, 0) = 0
29616 openat(AT_FDCWD, "./libtool", O_RDONLY) = 3
29616 mmap(NULL, 356352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x7f98778bc000
29616 read(3, "#! /bin/sh\n# Generated automatic"..., 352925) = 352925
29616 close(3)                          = 0
29616 munmap(0x7f98778bc000, 356352)    = 0
29616 newfstatat(AT_FDCWD, 
"/home/vlefevre/.config/texinfo/info-hooks/manual-not-found", 0x7ffc1d310250, 
0) = -1 ENOENT (No such file or directory)
29616 newfstatat(AT_FDCWD, "/etc/xdg/texinfo/info-hooks/manual-not-found", 
0x7ffc1d310250, 0) = -1 ENOENT (No such file or directory)
29616 rt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0
29616 write(1, "\7\33[60;1HCannot find node 'Top'", 30) = 30
[...]

(with the above search appearing a single time).

-- 
Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

Reply via email to