--- Begin Message ---
Package: src:python-psutil
Version: 7.2.2-1
Severity: serious
Tags: ftbfs forky sid patch
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
The failures do not happen always, but the failure rate is higher on single-cpu
systems, so I recommend GRUB_CMDLINE_LINUX="nr_cpus=1" to reproduce. If this
is not enough, I can offer a VM to reproduce, as always.
I've put several build logs here for reference:
https://people.debian.org/~sanvila/build-logs/202610/
Note that the failing tests are not always the same, but there are four or them
which happen often enough:
FAILED tests/test_process.py::TestProcess::test_long_cmdline
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_name
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_cmdline
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_exe
I see there is already a bunch of tests being skipped in debian/rules
for several reasons, so I propose that we do the same for those four tests,
as in the attached patch (where NNNNNNN is to be replaced by the actual bug
number).
Thanks.
--------------------------------------------------------------------------------
[...]
tests/test_windows.py::RemoteProcessTestCase::test_environ_64 SKIPPED
tests/test_windows.py::TestServices::test_win_service_get SKIPPED
tests/test_windows.py::TestServices::test_win_service_iter SKIPPED
=========================== short test summary info ============================
FAILED tests/test_process.py::TestProcess::test_long_cmdline - AssertionError:
assert ['-m', 'pytest', '--verbose', '--ignore=tests/test_memleaks.py', '-k', '
not test_disk_partition and not test_import_all and not test_against_findmnt
and not test_comparisons and not test_who and not test_invocation and not
test_users and not test_procsmem and not test_all and not
test_sensors_temperatures and not test_ips and not test_emulate_use_cpuinfo and
not test_emulate_use_second_file and not test_cpu_freq and not
test_against_nproc and not test_cpu_freq and not test_cpu_affinity '] == ['-v',
'-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v',
'-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v',
'-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v',
'-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-c', 'import time;
[time.sleep(0.1) for x in range(100)]']
At index 0 diff: '-m' != '-v'
Right contains 46 more items, first extra item: '-v'
Full diff:
[
- '-v',
? ^
+ '-m',
? ^
+ 'pytest',
+ '--verbose',
+ '--ignore=tests/test_memleaks.py',
- '-v',
? ^
+ '-k',
? ^
+ ' not test_disk_partition and not test_import_all and not '
+ 'test_against_findmnt and not test_comparisons and not test_who and not
'
+ 'test_invocation and not test_users and not test_procsmem and not
test_all '
+ 'and not test_sensors_temperatures and not test_ips and not '
+ 'test_emulate_use_cpuinfo and not test_emulate_use_second_file and not '
+ 'test_cpu_freq and not test_against_nproc and not test_cpu_freq and not
'
+ 'test_cpu_affinity ',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-v',
- '-c',
- 'import time; [time.sleep(0.1) for x in range(100)]',
]
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_cmdline -
AssertionError: assert ['python3.14', '-m', 'pytest', '--verbose',
'--ignore=tests/test_memleaks.py', '-k', ' not test_disk_partition and not
test_import_all and not test_against_findmnt and not test_comparisons and not
test_who and not test_invocation and not test_users and not test_procsmem and
not test_all and not test_sensors_temperatures and not test_ips and not
test_emulate_use_cpuinfo and not test_emulate_use_second_file and not
test_cpu_freq and not test_against_nproc and not test_cpu_freq and not
test_cpu_affinity '] == ['/tmp/@psutil-147-02nz6vuqf\udcc0\udc80', '-c',
'import time; [time.sleep(0.1) for x in range(100)]']
At index 0 diff: 'python3.14' != '/tmp/@psutil-147-02nz6vuqf\udcc0\udc80'
Left contains 4 more items, first extra item: '--verbose'
Full diff:
[
- '/tmp/@psutil-147-02nz6vuqf\udcc0\udc80',
+ 'python3.14',
- '-c',
? ^
+ '-m',
? ^
- 'import time; [time.sleep(0.1) for x in range(100)]',
+ 'pytest',
+ '--verbose',
+ '--ignore=tests/test_memleaks.py',
+ '-k',
+ ' not test_disk_partition and not test_import_all and not '
+ 'test_against_findmnt and not test_comparisons and not test_who and not
'
+ 'test_invocation and not test_users and not test_procsmem and not
test_all '
+ 'and not test_sensors_temperatures and not test_ips and not '
+ 'test_emulate_use_cpuinfo and not test_emulate_use_second_file and not '
+ 'test_cpu_freq and not test_against_nproc and not test_cpu_freq and not
'
+ 'test_cpu_affinity ',
]
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_exe -
AssertionError: assert '/usr/bin/python3.14' ==
'/tmp/@psutil-147-02nz6vuqf\udcc0\udc80'
- /tmp/@psutil-147-02nz6vuqf��
+ /usr/bin/python3.14
FAILED tests/test_unicode.py::TestFSAPIsWithInvalidPath::test_proc_name -
AssertionError: assert 'python3.14' == '@psutil-147-02nz6vuqf\udcc0\udc80'
- @psutil-147-02nz6vuqf��
+ python3.14
========== 4 failed, 395 passed, 161 skipped, 38 deselected in 5.02s ===========
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest --verbose
--ignore=tests/test_memleaks.py -k ' not test_disk_partition and not test_import_all and
not test_against_findmnt and not test_comparisons and not test_who and not test_invocation
and not test_users and not test_procsmem and not test_all and not test_sensors_temperatures
and not test_ips and not test_emulate_use_cpuinfo and not test_emulate_use_second_file and
not test_cpu_freq and not test_against_nproc and not test_cpu_freq and not
test_cpu_affinity '
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14
--parallel=1 returned exit code 13
make: *** [debian/rules:37: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------commit 967c32edb6330f83886f7526952722b7dae55bcd
Author: Santiago Vila <[email protected]>
Date: Thu Oct 8 14:30:00 2026 +0200
Skip four racy tests. Closes: #NNNNNNN.
diff --git a/debian/rules b/debian/rules
index ef775ab..15565db 100755
--- a/debian/rules
+++ b/debian/rules
@@ -31,6 +31,10 @@ export PYBUILD_TEST_ARGS = --verbose \
and not test_against_nproc \
and not test_cpu_freq \
and not test_cpu_affinity \
+ and not test_long_cmdline \
+ and not test_proc_cmdline \
+ and not test_proc_exe \
+ and not test_proc_name \
'
%:
--- End Message ---