[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109719: tup: fails when running pdftex, probably related to libfuse3



Package: tup
Version: 0.8-1+b1
Severity: normal

I'm not sure whether this problem is in tup itself or in libfuse3.

When I run tup on the minimal example whose files are attached below,
tup runs pdftex (correctly).  However, pdftex fails:

  $ tup init
  .tup repository initialized: .tup/db
  $ tup
  [ tup ] [0.028s] Scanning filesystem...
  [ tup ] [0.058s] Reading in new environment variables...
  [ tup ] [0.085s] Parsing Tupfiles...
   1) [0.002s] .
   0) [0.001s] auto
   [  ] 100%
  [ tup ] [0.098s] No files to delete.
  [ tup ] [0.098s] Generating .gitignore files...
  [ tup ] [0.141s] Executing Commands...
  * 0) pdftex test.tex
  This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2025/dev/Debian) (preloaded format=pdftex)
   restricted \write18 enabled.
  entering extended mode
  (./test.tex)
  *
  ! Emergency stop.
  <*> 

  !  ==> Fatal error occurred, no output PDF file produced!
  Transcript written on test.log.
   *** tup messages ***
   *** Command ID=30 failed with return value 1
   [ ] 100%
   *** tup: 1 job failed.

I modified the tupfile to run pdftex under strace.  It showed that
pdftex read in the test.tex source file twice, the first time correctly.
However, on the second read-in, the file had zero size (which produced
the error in pdftex).  See the attached strace-extract.log

Attachment: strace-extract.log
Description: strace log (extract) showing strange size of test.tex on second read-in

So, I think that the problem is related to fuse mounting.  This problem
happens with the tup 0.8-1+b1 package but not with the tup 0.8-1
package.  The only difference between them (my arch is amd64) is, from
the changelog:

  * Rebuild against libfuse3-4

Thus, it may be related to linking (and using?) the newer libfuse3
library (3.17.2 instead of 3.14.0):

  $ dpkg -l libfuse3\*
  ii  libfuse3-3:amd64   3.14.0-4     amd64        Filesystem in Userspace (library) (3.x version)
  ii  libfuse3-4:amd64   3.17.2-3     amd64        Filesystem in Userspace (library) (3.x version)

The minimal example for running tup as above has two files: Tupfile and
test.tex (and needs pdftex to be installed).  Here they are:

Attachment: Tupfile
Description: Tupfile

\message{HELLO THERE}
$2\times2$
$2\times2$
$2\times2$
$2\times2$
$2\times2$
$2\times2$
$2\times2$
$2\times2$
\end

-- System Information:
Debian Release: sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'unstable-debug'), (500, 'testing-security'), (500, 'testing-debug'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.32-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages tup depends on:
ii  fuse3         3.17.2-3
ii  libc6         2.41-10
ii  libfuse3-4    3.17.2-3
ii  libpcre2-8-0  10.45-1
ii  libsqlite3-0  3.46.1-6
ii  procps        2:4.0.4-8

tup recommends no packages.

tup suggests no packages.

-- no debconf information


Reply to: