Re: Help diagnosing libtorrent build test failure on ppc64el
Simon Richter <[email protected]> Sat, 3 Jan 2026 19:44:23 +0900
| Newsgroups | gmane.linux.debian.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
Hi,
On 1/3/26 03:48, Jonathan McDowell wrote:
> Looking at the tests it's the torrent/
> utils::TestSignalInterrupt::test_thread_interrupt test that's failing,
> which appears to be trying to do signal delivery to a C++ thread and
> confirm it behaves as expected.
Looking into the SignalInterrupt class, that one seems to use a socket
pair, not even a signal, and optimizes to send fewer notifications by
noting down in an atomic boolean when it has already sent one.
After a quick glance at the code, I'm not convinced this is actually
safe, because that variable is reset to false with an unconditional
write at the end of processing when it should be reset at the beginning
of processing in order to not lose events, i.e. we would need to reach
this line
https://salsa.debian.org/debian/libtorrent/-/blob/master/src/utils/signal_interrupt.cc?ref_type=heads#L90
before we even take a look at whatever other channel we're sending data
through, such as shared memory with a mutex, otherwise a notification
can be eaten here.
That alone is fishy. I'm not sure this is the culprit, though, just the
first thing I found, without testing anything on actual hardware.
Simon
OpenPGP_0xEBF67A846AABE354.asc
(application/pgp-keys, 11 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 ICmH3XHvTMqSYdXuRXGqpA== =xVQ0 -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc
(application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEtjuqOJSXmNjSiX3Tfr04e7CZCBEFAmlY8wcACgkQfr04e7CZ CBEOnwf/eHq2n+PC8LzJE32x8wXlaoYDf1ZJ1thpn+GOEGprT4GwQ0xMmfP/q3JA 3gx8tsPoWL11XdDeAhfHtBqIpZxd0ZAVcELJ+eccSPUqNg+sHNTQq0EZwmz8dJMJ EyrSzJIh7vt434XoUn6ZD0uny8dMPtbrbeKyg0qQQyMLM1mEMiRw8HPrwhjT1dKF LJgfo+QSEZvu1SJ8O+uF25xE7+vM3wbXsXvoTMQo1kEyBOkm1++3dkM356BTlTOA zKw060xuZujLorER5NvggO6X41nJgqeBKhkWWaNQAZZbsLHrsILkjHBCo1lhDgCV oleqc50gjukCHIxi1J+sx9Itw3WCgQ== =5a0E -----END PGP SIGNATURE-----