Comment 2 for bug 935525

Allison Randal (allison) wrote :

This is a heisenbug because it's a simple race condition. It's not a failure in the package build, only in the automated tests. The lines just before 267 of the test file t/9.t are:

264 $timer_id = Glib::Timeout->add
265 (30_000, # 30 seconds should be more than enough for child exit
266 sub { die "Oops, child watch callback didn't run\n"; });

The test is assuming that 30 seconds are long enough for a child process to complete, but on certain slower/constrained processors (like a buildd, or a netbook) that estimate is too short, so the test fails. On my Precise netbook (Asus EeePC N550 @ 1.50GHz × 4) the test consistently fails, but if I bump that timeout up to 60 seconds it consistently passes. That timing is not exact, and an ideal fix would be event-based rather than wallclock seconds, but doubling the time allowed is generous. Alternatively, you can ignore the FTBFS, since it's only a sign of a slow buildd, not of any more serious problem.

I've attached the patch file I added in my bzr checkout of the package for a longer timeout.