Bug#931921: clutter's autopkgtests hang when ran with a libglib2.0-0 built with gcc-9
Source: gcc-9
Version: 9.1.0-8
Severity: important
Control: affects -1 gcc libglib2.0-0
Hiya,
I saw this on Ubuntu (9.1.0-8ubuntu1) but I've also reproduced this with
9.1.0-8 on sid (w/gcc-defaults from experimental to use gcc-9 by
default).
clutter's tests hang like this:
0x00007ffff7b316f4 in __GI___poll (fds=0x5555558d0420, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
(gdb) bt
#0 0x00007ffff7b316f4 in __GI___poll (fds=0x5555558d0420, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff7c62c9e in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x5555558d0420, timeout=<optimized out>,
context=0x5555555b0cd0) at ../glib/gmain.c:4213
#2 g_main_context_iterate (context=0x5555555b0cd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:3909
#3 0x00007ffff7c63023 in g_main_loop_run (loop=0x555555f01d10) at ../glib/gmain.c:4108
#4 0x0000555555556634 in verify_redraw (expected_paint_count=1, data=<optimized out>, data=<optimized out>)
at actor-offscreen-redirect.c:172
Here's the bit of code.
https://sources.debian.org/src/clutter-1.0/1.26.2+dfsg-10/tests/conform/actor-offscreen-redirect.c/#L172
It's adding some stuff to a main loop and expecting it to finish when a
particular signal handler is called.
There's obviously a lot of code going on here (this isn't anything like
a minimal testcase, and glib2.0's own testsuite & autopkgtests pass so
it's not like GMainLoop is completely broken).
I found an upstream report which I suspect is the same thing:
https://gitlab.gnome.org/GNOME/clutter/issues/6
Things which make it work again
- Building glib2.0 w/gcc-9 -O1 (and -O0)
- Building w/gcc-8 (obviously)
Happy to help try to narrow this down to the optimisation that's
breaking glib and/or the code in glib that's breaking the optimisation.
Maybe in person at Debconf. For now I'm going to upload a glib2.0 that
builds with gcc-8 explicitly.
Cheers,
--
Iain Lane [ iain@orangesquash.org.uk ]
Debian Developer [ laney@debian.org ]
Ubuntu Developer [ laney@ubuntu.com ]
Reply to: