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-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.