[Pkg-utopia-maintainers] Bug#1133443: cockpit: ftbfs with GCC-16

Emanuele Rocca ema at debian.org
Mon Apr 13 14:02:02 BST 2026


Package: src:cockpit
Version: 358-1
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

cockpit fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.

The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/cockpit_arm64.build.xz

The last lines of the build log are at the end of this report.

To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html

Please only close this issue after double-checking that the package can be
built correctly with GCC 16.

Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.

[...]


test/pytest/test_samples.py::test_cpu_temperature PASSED                 [ 79%]
test/pytest/test_samples.py::test_cgroup_disk_io PASSED                  [ 80%]
test/pytest/test_transport.py::TestSpooler::test_bad_fd PASSED           [ 80%]
test/pytest/test_transport.py::TestSpooler::test_poll_eof PASSED         [ 81%]
test/pytest/test_transport.py::TestSpooler::test_nopoll_eof PASSED       [ 81%]
test/pytest/test_transport.py::TestSpooler::test_poll_small PASSED       [ 82%]
test/pytest/test_transport.py::TestSpooler::test_nopoll_small PASSED     [ 83%]
test/pytest/test_transport.py::TestSpooler::test_big PASSED              [ 83%]
test/pytest/test_transport.py::TestEpollLimitations::test_read_file XFAIL [ 84%]
test/pytest/test_transport.py::TestEpollLimitations::test_dev_null XFAIL [ 85%]
test/pytest/test_transport.py::TestStdio::test_terminal_write_eof PASSED [ 85%]
test/pytest/test_transport.py::TestStdio::test_terminal_disconnect PASSED [ 86%]
test/pytest/test_transport.py::TestSubprocessTransport::test_true PASSED [ 86%]
test/pytest/test_transport.py::TestSubprocessTransport::test_cat PASSED  [ 87%]
test/pytest/test_transport.py::TestSubprocessTransport::test_send_signal PASSED [ 88%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pid PASSED  [ 88%]
test/pytest/test_transport.py::TestSubprocessTransport::test_terminate PASSED [ 89%]
test/pytest/test_transport.py::TestSubprocessTransport::test_stderr PASSED [ 90%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS PASSED [ 90%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS_nonzero_exit PASSED [ 91%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS_exit_code PASSED [ 91%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS_signal PASSED [ 92%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS_kill PASSED [ 93%]
test/pytest/test_transport.py::TestSubprocessTransport::test_pidfd_ENOSYS_concurrent PASSED [ 93%]
test/pytest/test_transport.py::TestSubprocessTransport::test_true_pty PASSED [ 94%]
test/pytest/test_transport.py::TestSubprocessTransport::test_broken_pipe PASSED [ 95%]
test/pytest/test_transport.py::TestSubprocessTransport::test_broken_pipe_backlog PASSED [ 95%]
test/pytest/test_transport.py::TestSubprocessTransport::test_window_size PASSED [ 96%]
test/pytest/test_transport.py::TestSubprocessTransport::test_env PASSED  [ 96%]
test/pytest/test_transport.py::TestSubprocessTransport::test_simple_close PASSED [ 97%]
test/pytest/test_transport.py::TestSubprocessTransport::test_flow_control PASSED [ 98%]
test/pytest/test_transport.py::TestSubprocessTransport::test_write_backlog_eof PASSED [ 98%]
test/pytest/test_transport.py::TestSubprocessTransport::test_write_backlog_close PASSED [ 99%]
test/pytest/test_transport.py::TestSubprocessTransport::test_write_backlog_eof_and_close PASSED [100%]

=================================== FAILURES ===================================
_____________________________ test_fsread1_errors ______________________________

transport = <test.pytest.mocktransport.MockTransport object at 0xff010723cdd0>
tmp_path = PosixPath('/tmp/pytest-of-sbuild/pytest-0/test_fsread1_errors0')

    @pytest.mark.asyncio
    async def test_fsread1_errors(transport: MockTransport, tmp_path: Path) -> None:
>       await transport.check_open('fsread1', path='/etc/shadow', problem='access-denied')

test/pytest/test_bridge.py:422: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/pytest/mocktransport.py:66: in check_open
    await self.assert_msg('', command='close', channel=ch, problem=problem, absent_keys=absent_keys,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <test.pytest.mocktransport.MockTransport object at 0xff010723cdd0>
expected_channel = '', absent_keys = ()
kwargs = {'channel': 'channel.1', 'command': 'close', 'problem': 'access-denied'}
msg = {'channel': 'channel.1', 'command': 'done'}

    async def assert_msg(self, expected_channel: str, absent_keys: 'Iterable[str]' = (),
                         **kwargs: JsonValue) -> JsonObject:
        msg = await self.next_msg(expected_channel)
>       assert msg == dict(msg, **{k.replace('_', '-'): v for k, v in kwargs.items()}), msg
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError: {'channel': 'channel.1', 'command': 'done'}

test/pytest/mocktransport.py:127: AssertionError
=========================== short test summary info ============================
FAILED test/pytest/test_bridge.py::test_fsread1_errors - AssertionError: {'channel': 'channel.1', 'command': 'done'}
===== 1 failed, 138 passed, 19 skipped, 1 deselected, 3 xfailed in 14.92s ======
make[1]: *** [debian/rules:95: execute_after_dh_install-indep] Error 1
make[1]: Leaving directory '/build/reproducible-path/cockpit-358'
make: *** [debian/rules:38: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2



More information about the Pkg-utopia-maintainers mailing list