Package: src:process-cpp
Version: 3.0.2-1
Severity: serious
Tags: ftbfs trixie forky sid patch
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Full build log is available here:
https://people.debian.org/~sanvila/build-logs/202610/
Note 1: The sample build log I'm providing happened on a system with 2 CPUs,
but, according to my tests, the probability of failure is a lot higher
on systems with 1 CPU, therefore I recommend GRUB_CMDLINE_LINUX="nr_cpus=1"
to reproduce. If this does not work I can offer a VM, as always.
Note 2: The failure seems to happen because of a race condition.
No claim of correctness, but the attached patch makes the package to build
ok again for me on the systems where it failed before.
Note 3: Trixie is also affected.
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:process-cpp, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
80% tests passed, 1 tests failed out of 5
Total Test time (real) = 0.54 sec
The following tests FAILED:
1 - posix_process_test (Failed)
Errors while running CTest
make[1]: *** [Makefile:74: test] Error 8
make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_test: error: cd obj-x86_64-linux-gnu && make -j2 test ARGS\+=--verbose
ARGS\+=-j2 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------From: Santiago Vila <[email protected]>
Subject: Fix race condition
Bug-Debian: https://bugs.debian.org/NNNNNNN
--- a/tests/posix_process_test.cpp
+++ b/tests/posix_process_test.cpp
@@ -333,8 +333,8 @@
TEST(ChildProcess, signalling_an_execd_child_makes_wait_for_return_correct_result)
{
- const std::string program{"/usr/bin/env"};
- const std::vector<std::string> argv = {};
+ const std::string program{"/usr/bin/sleep"};
+ const std::vector<std::string> argv = {"10"};
std::map<std::string, std::string> env;
core::posix::this_process::env::for_each([&env](const std::string& key, const std::string& value)
{