Your message dated Fri, 15 May 2026 13:19:20 +0000
with message-id <[email protected]>
and subject line Bug#1135783: fixed in texlive-bin 2026.20260303.78225+ds-4
has caused the Debian Bug report #1135783,
regarding libkpathsea6: kpathsea's custom getcwd stats() all siblings of all 
parents
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1135783: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1135783
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libkpathsea6
Version: 2026.20260303.78225+ds-3
Severity: important
Tags: patch upstream

Dear Maintainer,

As of libkpathsea6:amd64 2026.20260303.78225+ds-3, most tex binaries do
strange stat() lookups of all siblings of the parent directories of the
input file.

The previous version of libkpathsea6, 2025.20250727.75242+ds-5+b2, did
not have this problem.

For example, somewhere under my populated home directory, I have:

    origan .../tmp/silly-test $ pwd
    /users/thome/tmp/silly-test
    origan .../tmp/silly-test $ cat a.tex
    Hello world
    \bye
    origan .../tmp/silly-test $ strace -o log luatex a.tex
    [...]
    origan .../tmp/silly-test $ grep -c fstat log
    265

(with gobs of things all along the parent path, stat() to my .bashrc,
etc)

Worse, the sequence of system calls involves getdents (i.e. readdir) and
then newfstatat (i.e. lstat) on the entries that readdir sees, with a
fatal error if lstat ever fails. In addition to probably causing a race
condition, it also can happen that lstat returns EACCES. At least I do
encounter this on a probably misbehaving NFS server. However misbehaving
that server may be, it is used by many users.

In my lab, this renders all tex binaries unusable because all users have
an NFS mount point (/users) in the ancestry path of their $HOME, which
happens to have this odd behaviour (i.e. because there's a /users/abcde
which is found by readdir, yet lstat(/users/abcde) fails with EACCES).
Here's an example of what people get:

    origan .../tmp/silly-test $ luatex a.tex
    This is LuaTeX, Version 1.24.0 (TeX Live 2026/Debian)
     restricted system commands enabled.
    (./a.texluatex: abcd: Permission denied


The culprit source code upstream is

    
https://svn.tug.org:8369/texlive/trunk/Build/source/texk/kpathsea/xgetcwd.c?revision=78225&view=markup#l44

with the call to xlstat here

    
https://svn.tug.org:8369/texlive/trunk/Build/source/texk/kpathsea/xstat.c?revision=78225&view=markup#l46


Of course, it makes total sense to use the "normal" getcwd, because we
expect it to be dependable. The reason why kpathsea chooses to *NOT* use
it is because there's a configure test that goes amiss, probably because
of the new default C dialect with GCC 15, possibly in relation to changes
that went in the package with 2025.20250727.75242+ds-5+b2.


A suggested simple fix:

--- a/texk/kpathsea/configure.ac        2026-05-05 22:09:17.101211979 +0200
+++ b/texk/kpathsea/configure.ac        2026-05-05 22:08:41.332901375 +0200
@@ -48,7 +48,7 @@
                [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
                                                  int fork() { exit(1); }
                                                  int vfork() { exit(1); }
-                                                 extern char *getcwd();
+                                                 extern char *getcwd(char *, 
size_t);
                                                  char path[100];]],
                                                [[getcwd(path,100);]])],
                               [kb_cv_func_getcwd_forks=no],



I rebuilt my package with this patch, the problem goes away.

Cheers,


-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.19.13+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_USER
Locale: LANG=C, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libkpathsea6 depends on:
ii  libc6  2.42-15

libkpathsea6 recommends no packages.

libkpathsea6 suggests no packages.

-- no debconf information
--- a/texk/kpathsea/configure.ac        2026-05-05 22:09:17.101211979 +0200
+++ b/texk/kpathsea/configure.ac        2026-05-05 22:08:41.332901375 +0200
@@ -48,7 +48,7 @@
                [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
                                                  int fork() { exit(1); }
                                                  int vfork() { exit(1); }
-                                                 extern char *getcwd();
+                                                 extern char *getcwd(char *, 
size_t);
                                                  char path[100];]],
                                                [[getcwd(path,100);]])],
                               [kb_cv_func_getcwd_forks=no],
--- a/texk/kpathsea/configure.ac        2026-05-05 22:09:17.101211979 +0200
+++ b/texk/kpathsea/configure.ac        2026-05-05 22:08:41.332901375 +0200
@@ -48,7 +48,7 @@
                [AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
                                                  int fork() { exit(1); }
                                                  int vfork() { exit(1); }
-                                                 extern char *getcwd();
+                                                 extern char *getcwd(char *, 
size_t);
                                                  char path[100];]],
                                                [[getcwd(path,100);]])],
                               [kb_cv_func_getcwd_forks=no],

--- End Message ---
--- Begin Message ---
Source: texlive-bin
Source-Version: 2026.20260303.78225+ds-4
Done: Hilmar Preuße <[email protected]>

We believe that the bug you reported is fixed in the latest version of
texlive-bin, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Hilmar Preuße <[email protected]> (supplier of updated texlive-bin package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 15 May 2026 15:02:11 +0200
Source: texlive-bin
Architecture: source
Version: 2026.20260303.78225+ds-4
Distribution: unstable
Urgency: medium
Maintainer: Debian TeX Task Force <[email protected]>
Changed-By: Hilmar Preuße <[email protected]>
Closes: 1135783 1135929
Changes:
 texlive-bin (2026.20260303.78225+ds-4) unstable; urgency=medium
 .
   * Add patch to fix texk/kpathsea/configure.ac (Closes: #1135783)
     Thanks to Emmanuel Thome <[email protected]> to
     investigating + fix.
   * Patch from upstream to fix build failure with autoconf 2.73
     (Closes: #1135929)
Checksums-Sha1:
 4454c1f73d352d9082675af6c0723357173f1872 3470 
texlive-bin_2026.20260303.78225+ds-4.dsc
 e0eba7d674f49753b81f18f731c888937ef239b6 73120 
texlive-bin_2026.20260303.78225+ds-4.debian.tar.xz
 4a8de41814974c3eda6d4f9268dca9c9ce8f88ad 5600 
texlive-bin_2026.20260303.78225+ds-4_source.buildinfo
Checksums-Sha256:
 226e2056f46c36c72a47792f238d97fcbdbbda8e8f1d580df23f6668dc7eb836 3470 
texlive-bin_2026.20260303.78225+ds-4.dsc
 a70480b268aa7d57967027c5721240fc125f3577176c5eb38c80001acad23323 73120 
texlive-bin_2026.20260303.78225+ds-4.debian.tar.xz
 890b1748860246374b45d3d5f76ef5eb103df6496a96f0e37d5e9fbc1a6352d1 5600 
texlive-bin_2026.20260303.78225+ds-4_source.buildinfo
Files:
 9526fee7f5ad70d8fbdd7cb718265e1a 3470 tex optional 
texlive-bin_2026.20260303.78225+ds-4.dsc
 50c0616a7e1c0e29aab439b406d59fce 73120 tex optional 
texlive-bin_2026.20260303.78225+ds-4.debian.tar.xz
 6af94f7b20520b018d3710f51d4d74be 5600 tex optional 
texlive-bin_2026.20260303.78225+ds-4_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEaXGmC/nkbIhxf16kxiZYRqvgLIsFAmoHGZdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY5
NzFBNjBCRjlFNDZDODg3MTdGNUVBNEM2MjY1ODQ2QUJFMDJDOEIACgkQxiZYRqvg
LItYgBAAoI8d6flw68RRPNwGQmV+07TEzqnmP2oVnSv6L2zfAswN07L+YxiSV2dL
YObw7y9qcyKAUaZSTz3xxjFZpRab3A7FUGBKVtT9M9LpDVPfJqNfcDKvZ4y8AgHt
+EjRg6vbAqOXHVRqqWz0cO8GbVM+anf58jchQxkhNUOhkTTARmKayjy1BHrvt1o8
cUBI4ktdObywWO912x+g7/xVPvQ95QO7KH8MqJvDQYVha6GVqVM4Uyex1oXcJsQE
jjeCku4OozGvMvdlw35SMehljgr+DDSrBRZPOJRQSLE383nl24cdn7o5b8yavOo5
2VtgkivX3P2uT5hSTtaQRS3TYGafSDcQIZ53rTUOzE1beBRXeaox+qwUSIxYotTX
JG3/nvFJZcNBAUlzsmjAu63Dxg3OyifqttBODqEv6AHHqeKb7IcMR7r2iBk0MbR9
cxOzoZbko800eKJfG0ORATcb3w0RXeo8QJexVDkuvHqEkAGL5edpgxvoNjOzNAwr
ci1urqbzS84HGOkl/wX+ZcsplA5vxtZbzCQXx+LTpK0UysOkCZo7C9MJVrqWIPfR
Jkkroy/l9e9VoreydveSqWA8Z9cUXhO46s6Rxnhce/hB9zae963AWw0E6n/PjDkG
xwxlCiP09TykTs+grgETq+oxAY5TlUKWVxWGXOCAjB2w4uypTOM=
=2zkP
-----END PGP SIGNATURE-----

Attachment: pgpuK0x_XYFhf.pgp
Description: PGP signature


--- End Message ---

Reply via email to