Re: Perl package failing to migrate to testing
Jeff <[email protected]>
| Newsgroups | gmane.linux.debian.devel.perl |
|---|---|
| Message-ID | <[email protected]> |
On 04/08/2024 19:10, Russ Allbery wrote: > The concrete answer to your question is that Debian has porterboxes > available for various architectures including this one. DDs should > already have access; Debian maintainers who are not DDs can request guest > access. See https://wiki.debian.org/PorterBoxHowToUse. Thanks for the link. That got me to a very nice script from Enrico Zini: https://salsa.debian.org/enrico/debug-on-porterbox > For the problem itself, this looks suspiciously like a race condition to > me, although I'm not sure why it would fail only on riscv64. The test > code that's failing is the following in 1111_save_pdf.t: You are absolutely correct that started_callback() is running twice. The threading mechanism should prevent that, which is the bug. The interesting question is why it only occurs on riscv64. > I have absolutely zero experience with the Perl Glib integration, but just > eyeballing this code, it looks like the finished_callback is supposed to > set $flag to false so that $loop->run doesn't run (a second time? there > seems to be some threading or other implicit parallelization going on > here). The threading isn't done with GLib - it uses the Perl internal threading mechanism. > So my hypothesis, which is a straight-up guess that may be wrong since I > don't know how these libraries work, is that for some reason on this > platform this code gets run twice, presumably because the > finished_callback hasn't run before it reaches the $loop->run line, and > that's also causing some sort of race that causes the total counter to be > 1 instead of 2. Having just fired up the porterbox I see that the bug does occur reproducibly there, either. i.e. as you suggest, there is a race condition somewhere. > If it is a race condition, this may be a general problem with the test > that could trigger elsewhere, but just happened to trigger on this > architecture for some reason. But it's also quite possible that glib > works subtly differently on this platform for some reason. Yup. Thanks for your time and pointing me in the right direction. Regards Jeff
OpenPGP_signature.asc
(application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEERjKT5K4zhxhG8wInsyHyAxEPyvMFAmawxAgFAwAAAAAACgkQsyHyAxEPyvNV ow//bO896Yw5qLDoCp4QJX/KL7iWghGvIb+PKzccA2q8SukucSC3V38znBFsenHLnC6cn7IIqSuc AJ9w20SKymJ/0MkPHkfUNSfhc4HoPDMDapP1N12rAwksDlXfC5kIYDjTA0jWlfYB+VCfZLxnfRVO p7guRF/f9kx1rEu3Ms9c3oo+052a58yIKxN83SUapmeR5uNm+4w2xMrTu1qKw4PwiVhM5i+PB2CG K/u4dlDoDZxfSs8dGP002ziFhLDC1oWqTt3rtiuUK45LPLD8gasuJZ8OC8L1kGktzQJbOwIm2SsS q925KETnt9QYdpfACKCAqtVuGRsNwS+kAc9xY35fbGisPj361/LihUXvRyIbFPJwYFJ57FeZAaUl bbLs7aQrChyu6EuyMBW9KR1bTGqoPIVmytfCE9TcL/OwPTko26YkvZNIGO0k5WDlLiBb+TULj8Cp ZNS+f4bpHqMHjgz0OUT3WiY0820JMxd5tMG/tkYz04PorUciTnuoBGHCyIjCH1J5RK62QQS4mSFR 4NCzoyDhFdTxvQFhdDobMxDZ7QOcja4JhBd2ae2iKdQWJSL9zr+KUCrm3F8eRRUjSpn7zSM0YYiX 7088Lp+Ps0IHotR096+sbKVHY81xTVsY7LcijIaSVgF78G8r0Opei6b5fjlYWQPe939oJbFIHZT9 mv4= =Pkzr -----END PGP SIGNATURE-----