[Debian-med-packaging] Bug#1123529: python-ruffus: FTBFS: AssertionError: daemonic processes are not allowed to have children

Santiago Vila sanvila at debian.org
Wed Dec 17 10:52:25 GMT 2025


Package: src:python-ruffus
Version: 2.8.4-7
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

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:python-ruffus, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 30 warnings.

The HTML pages are in _build/html.

Build finished. The HTML pages are in _build/html.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_test -- --test --system=custom \
	--test-args='set -e; \
		    cd {build_dir}/ruffus/test ; \
		    if [ "{version.major}" = 2 ] ; then \
		        if [ -e /<<PKGBUILDDIR>>/ruffus/test/Makefile ] ; then ln -s /<<PKGBUILDDIR>>/ruffus/test/Makefile ; else \
		            echo "Expected file /<<PKGBUILDDIR>>/ruffus/test/Makefile not found" ; \
		            echo "Use `find /<<PKGBUILDDIR>> -name Makefile | grep test` instead" ; \
		            ln -s `find /<<PKGBUILDDIR>> -name Makefile | grep test | head -n1` ; \
		        fi ; \
		        cp -a run_all_unit_tests.cmd /tmp/run_all_unit_tests.cmd ; \
		    else \
			sed "s/^python3/python{version}/" run_all_unit_tests3.cmd > /tmp/run_all_unit_tests.cmd ; \
		    fi ;\
                            PYTHONPATH={build_dir} HOME=`mktemp -d` bash /tmp/run_all_unit_tests.cmd'
I: pybuild base:317: set -e; \
		    cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/test ; \
		    if [ "3" = 2 ] ; then \
		        if [ -e /<<PKGBUILDDIR>>/ruffus/test/Makefile ] ; then ln -s /<<PKGBUILDDIR>>/ruffus/test/Makefile ; else \
		            echo "Expected file /<<PKGBUILDDIR>>/ruffus/test/Makefile not found" ; \
		            echo "Use `find /<<PKGBUILDDIR>> -name Makefile | grep test` instead" ; \
		            ln -s `find /<<PKGBUILDDIR>> -name Makefile | grep test | head -n1` ; \
		        fi ; \
		        cp -a run_all_unit_tests.cmd /tmp/run_all_unit_tests.cmd ; \
		    else \
			sed "s/^python3/python3.14/" run_all_unit_tests3.cmd > /tmp/run_all_unit_tests.cmd ; \
		    fi ;\
                            PYTHONPATH=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build HOME=`mktemp -d` bash /tmp/run_all_unit_tests.cmd
Running test_file_name_parameters.py
........................
----------------------------------------------------------------------
Ran 24 tests in 2.142s

OK
Running test_with_logger.py
Process ForkServerPoolWorker-4:
Traceback (most recent call last):
  File "/usr/lib/python3.14/multiprocessing/process.py", line 320, in _bootstrap
    self.run()
    ~~~~~~~~^^
Process ForkServerPoolWorker-3:
  File "/usr/lib/python3.14/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 114, in worker
    task = get()
  File "/usr/lib/python3.14/multiprocessing/queues.py", line 387, in get
    return _ForkingPickler.loads(res)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/test/test_with_logger.py", line 128, in <module>
    logging_mutex) = make_shared_logger_and_proxy(setup_std_shared_logger,
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
                                                  "my_logger", args)
                                                  ^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/proxy_logger.py", line 349, in make_shared_logger_and_proxy
    manager.start()
    ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/managers.py", line 566, in start
    self._process.start()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 118, in start
    assert not _current_process._config.get('daemon'), \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: daemonic processes are not allowed to have children
Traceback (most recent call last):
  File "/usr/lib/python3.14/multiprocessing/process.py", line 320, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 114, in worker
    task = get()
  File "/usr/lib/python3.14/multiprocessing/queues.py", line 387, in get
    return _ForkingPickler.loads(res)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/test/test_with_logger.py", line 128, in <module>
    logging_mutex) = make_shared_logger_and_proxy(setup_std_shared_logger,
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
                                                  "my_logger", args)
                                                  ^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/proxy_logger.py", line 349, in make_shared_logger_and_proxy
    manager.start()
    ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/managers.py", line 566, in start
    self._process.start()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 118, in start
    assert not _current_process._config.get('daemon'), \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: daemonic processes are not allowed to have children
Process ForkServerPoolWorker-5:
Traceback (most recent call last):
  File "/usr/lib/python3.14/multiprocessing/process.py", line 320, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 114, in worker
    task = get()
  File "/usr/lib/python3.14/multiprocessing/queues.py", line 387, in get
    return _ForkingPickler.loads(res)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/test/test_with_logger.py", line 128, in <module>
    logging_mutex) = make_shared_logger_and_proxy(setup_std_shared_logger,
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
                                                  "my_logger", args)
                                                  ^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/proxy_logger.py", line 349, in make_shared_logger_and_proxy
    manager.start()
    ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/managers.py", line 566, in start
    self._process.start()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 118, in start
    assert not _current_process._config.get('daemon'), \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: daemonic processes are not allowed to have children
Process ForkServerPoolWorker-6:
Traceback (most recent call last):
  File "/usr/lib/python3.14/multiprocessing/process.py", line 320, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 114, in worker
    task = get()
  File "/usr/lib/python3.14/multiprocessing/queues.py", line 387, in get
    return _ForkingPickler.loads(res)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/test/test_with_logger.py", line 128, in <module>
    logging_mutex) = make_shared_logger_and_proxy(setup_std_shared_logger,
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
                                                  "my_logger", args)
                                                  ^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_ruffus/build/ruffus/proxy_logger.py", line 349, in make_shared_logger_and_proxy
    manager.start()
    ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/managers.py", line 566, in start
    self._process.start()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/multiprocessing/process.py", line 118, in start
    assert not _current_process._config.get('daemon'), \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: daemonic processes are not allowed to have children
E: Build killed with signal TERM after 60 minutes of inactivity
--------------------------------------------------------------------------------



More information about the Debian-med-packaging mailing list