[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: