Source: epstool
Version: 3.09-1
Severity: normal
Tags: upstream

Dear Maintainer,

The build system of epstool is fragile to building in parallel. The
'epsobj' subdirectory is only created by the 'lib.rsp' rule. But this
rule can run in parallel with building the object files that are also
written to the 'epsobj' subdirectory. An example error:

    Assembler messages:
    Fatal error: can't create ./epsobj/calloc.o: No such file or directory
    make[1]: *** [src/common.mak:83: epsobj/calloc.o] Error 1

I am able to make this race condition more likely to occur with the
attached patch, and building with dpkg-buildpackage -j32. Just to be
very clear, the attached patch is not a fix, it is intended to
demonstrate the race condition by making it more likely.

This race condition can and has appeared in the wild, see for example

- https://trac.macports.org/ticket/40613
- https://github.com/Homebrew/linuxbrew-core/issues/959
- https://github.com/flathub/org.octave.Octave/issues/69

Thank you for your work on this package.

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

Kernel: Linux 4.19.0-5-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information

Reply via email to