#1023652 glib2.0: gobject/tests/threadtests.c can take more than 5 minutes on armhf, armel

#1023652#5
Date:
2022-11-07 20:51:05 UTC
From:
To:
Dear maintainer(s),

I looked at the results of the autopkgtest of your package. I noticed
that it regularly fails since around March 2022 on armel [1] and the
first of October 2022 on armhf [2].

Because the unstable-to-testing migration software now blocks on
regressions in testing, flaky tests, i.e. tests that flip between
passing and failing without changes to the list of installed packages,
are causing people unrelated to your package to spend time on these
tests.

Don't hesitate to reach out if you need help and some more information
from our infrastructure.

Paul

[1] https://ci.debian.net/packages/g/glib2.0/testing/armel/
[2] https://ci.debian.net/packages/g/glib2.0/testing/armhf/

https://ci.debian.net/data/autopkgtest/testing/armhf/g/glib2.0/26345811/log.gz

# Executing: glib/threadtests.test
# Executing: glib/threadtests.test
# Executing: glib/threadtests.test
not ok - Test timed out after 300 seconds
# FAIL: glib/threadtests.test (Child process killed by signal 9)
not ok - glib/threadtests.test

[...]

# SUMMARY: total=275; passed=272; skipped=2; failed=1; user=1680.6s;
system=176.1s; maxrss=154072
# FAIL: glib/threadtests.test (Child process killed by signal 9)


https://ci.debian.net/data/autopkgtest/testing/armel/g/glib2.0/27696626/log.gz

not ok - Test timed out after 300 seconds
# FAIL: glib/threadtests.test (Child process killed by signal 9)
not ok - glib/threadtests.test
# Running test: glib/gutils-user-database.test
# random seed: R02Sa857e7d4f9a0241ca5d1865ccc7eafc1
1..1
# Start of gutils tests
ok 1 /gutils/get_user_database_entry
# End of gutils tests
ok - glib/gutils-user-database.test
# SUMMARY: total=284; passed=281; skipped=2; failed=1; user=1566.6s;
system=169.8s; maxrss=153428
# FAIL: glib/threadtests.test (Child process killed by signal 9)


https://ci.debian.net/data/autopkgtest/testing/armel/g/glib2.0/27421159/log.gz

# SUMMARY: total=276; passed=273; skipped=2; failed=1; user=1555.8s;
system=175.9s; maxrss=170864
# FAIL: glib/threadtests.test (Child process killed by signal 9)


https://ci.debian.net/data/autopkgtest/testing/armel/g/glib2.0/27116770/log.gz

# SUMMARY: total=276; passed=273; skipped=2; failed=1; user=1552.2s;
system=274.3s; maxrss=226436
# FAIL: glib/threadtests.test (Child process killed by signal 9)

#1023652#10
Date:
2022-11-08 09:47:15 UTC
From:
To:
Control: clone -1 -2
Control: severity -2 important
Control: retitle -2 glib2.0: gobject/tests/threadtests.c can take more than 5 minutes on armhf, armel

For now, I'm going to move this test to the "flaky" set that is only run
when a specific environment variable is set. As far as I can tell, it's
working correctly, and it usually takes about 10-15 seconds and passes;
but it intermittently takes more than 5 minutes, which is a timeout when
running under ginsttest-runner. I don't know whether it would have passed
if allowed more time, or whether it has deadlocked.

I'm cloning a bug for the underlying test failure, so we have something to
represent the failure mode even after the autopkgtest failure has been
avoided.

    smcv

#1023652#21
Date:
2022-11-08 15:49:18 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
glib2.0, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1023652@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon McVittie <smcv@debian.org> (supplier of updated glib2.0 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 08 Nov 2022 10:32:47 +0000
Source: glib2.0
Architecture: source
Version: 2.74.1-2
Distribution: unstable
Urgency: medium
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Changed-By: Simon McVittie <smcv@debian.org>
Closes: 1023629 1023652
Changes:
 glib2.0 (2.74.1-2) unstable; urgency=medium
 .
   * d/patches: Update to upstream 2.74.x branch commit 2.74.1-11-g5ee590045
     - Revert a change to file descriptor management that caused an infinite
       loop in some gnome-keyring-daemon use-cases
     - Fix error behaviour with an invalid proxy address
     - Fix a memory leak
     - Fix a header multiple-inclusion guard
     - Translation updates
   * d/p/tests-Don-t-rely-on-output-locale-of-sort-in-spawn-test.patch:
     Add patch from upstream git to fix a test failure in non-English locales.
     In particular, this should resolve intermittent FTBFS on the
     reproducible-builds infrastructure.
   * d/p/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch:
     Mark part of gobject/tests/threadtests.c as flaky on armel, armhf.
     This test normally passes in 10-15 seconds, but sometimes takes more
     than 5 minutes, resulting in a timeout. It's not clear whether this
     is a deadlock, or whether it's just an unlucky access pattern that is
     much slower than usual but would have passed the test given enough time.
     (Closes: #1023629, #1023652)
   * d/tests: Run each flaky test individually.
     This will hopefully make it easier to keep track of which ones are still
     flaky and which ones can be re-enabled.
Checksums-Sha1:
 3719727489fb74fd4a75251478bdfab4364509bc 3736 glib2.0_2.74.1-2.dsc
 c8d0a6a8bfa282ae84b206e1e1cf6aadfcbc77e2 160608 glib2.0_2.74.1-2.debian.tar.xz
 00ab3c624cbe060054f3cc8e8ffbc1109e8c0458 7250 glib2.0_2.74.1-2_source.buildinfo
Checksums-Sha256:
 6b484f0a49aecac01676f67c6bcd82abfca57d967a1bb7b4bc200d8c06bfd5d3 3736 glib2.0_2.74.1-2.dsc
 f3dc051cf0fe883fb590383f90a7c5a8c0eff331f58bbe3e98cac1eda84a54b6 160608 glib2.0_2.74.1-2.debian.tar.xz
 639338e60b41524b35b00c51134dd247837a949e1e64bde6025415468926eca7 7250 glib2.0_2.74.1-2_source.buildinfo
Files:
 c54c0fe8de98fdf195196c10648115f2 3736 libs optional glib2.0_2.74.1-2.dsc
 8924b8209fd6a85c8d6f211aa7987c29 160608 libs optional glib2.0_2.74.1-2.debian.tar.xz
 c492148cacb1a3e3fe3277b48b75aee5 7250 libs optional glib2.0_2.74.1-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmNqebEACgkQ4FrhR4+B
TE99bg//U69YXayX8S4pZjIwB/VFA1xF6pFANEzrJ8hLreuiz52E49WCf3PXtMlo
2bw/h3q9uAY/bIKTNkT9oI+MUhJv0oajBGeVO916BodjLGPbj7ju92epfiCQjdgf
WtmAkRTMkIRHOdu1VXtcEC4NX5/Scg6vxm0OJkBS9CasM51bmKueUFD0pot5qzvr
JttGKenCe+GAvDL1pKPmGRHYYvUGNXW//vBUQOi6C1YlfJOkEm6a3rat40EgfS6X
9U8MIQsuiSG/rogkwsVIWpFJnFArMyi+RwJPSG9gmDMm/yynB6QTKnylcO2IQ1Z4
QWQ2hS1dlmx+/1T8QVA721BIs/jy06vsocKIVNQtfYZY2jW5B1msXnscTLcH2fvD
KhhKSaBBz1gKcPc2heR+2JGGwbOGrcD0b0gYjaUMWpdGvJ6PzRKS7JY/F8oGr6Rz
uJhb/KO1dT/neW/dE6D9Z6M7RLXnMMsugHy+vK/tcbhD/zA1pqC+QsS7rkQPmC/E
qQhiotNjFr1TkW2pRUF7T1qatcPTuPyWeRzDPB6TCNYZo0R8O4RVS+wvkRcPmYXP
gWlvD+0YaG6Kj3Khdilo25AEvYnnK4e+HqIH20EFM/TXWyzjFL17ZAi38oqwsWYb
4Sl+09TpyPgMBmyiZS5xWzp0493nCg78NJSr2hqFUjL0QjdG7qI=
=682E
-----END PGP SIGNATURE-----

#1023652#30
Date:
2023-12-08 16:03:28 UTC
From:
To:
Control: tags -1 + help

I took this out of the "flaky" set in the hope that it had been fixed
upstream, but it seems that wasn't true. For the next upload I'm going to
reinstate that.

The failing test-case appears to be specifically
test_threaded_toggle_notify().

This particular test has never been fully reliable, especially on
32-bit ARM. This might indicate a real problem, or it might be a quirk
of ARM specifically. If you are interested in making this more reliable,
please talk to GLib upstream.

Thanks,
    smcv