After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771739 - GTK+ 3.21.6 causes rendering issues with gnome-boxes and many other applications
GTK+ 3.21.6 causes rendering issues with gnome-boxes and many other applications
Status: RESOLVED NOTGNOME
Product: gtk+
Classification: Platform
Component: .General
3.21.x
Other Linux
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2016-09-20 19:14 UTC by Josh Triplett
Modified: 2017-08-25 01:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Josh Triplett 2016-09-20 19:14:01 UTC
(Originally filed as a Debian bug at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=836426 .)

GTK+ 3.21.6 causes gnome-boxes to fail to redraw the guest graphical display, when the guest uses the QXL graphics driver and displays via Spice.  This occurs with gnome-boxes 3.20 and 3.22.

I can reliably reproduce this with a Windows VM running the QXL graphics driver.  The screen goes black a moment after the login screen shows up, and never updates.  Resizing the window immediately causes the contents to show, until the guest notices the change and changes its video mode to match, at which point the screen goes black again.

Looking at the console shows various warning messages from gnome-boxes about widgets "drawn without a current allocation".

Various other applications in Debian have signs of hitting this same bug in GTK+ 3.21, including redraw issues and warning messages.

Reverting GTK+ to 3.20 eliminates this bug, and redrawing in gnome-boxes works correctly.

Happy to build and test GTK+ patches that might address this; I can very quickly and reliably reproduce this with gnome-boxes.
Comment 1 rufo 2016-09-22 23:20:58 UTC
I'm having the exact same issue with GTK+ 3.21.5 and virt-manager.

I'm also on Debian, also running a Windows VM with QXL graphics via Spice. VNC is not affected and seems to be a temporary workaround for the problem.

Likewise I'm also getting many warnings about "GtkScrollbar ... is drawn without a current allocation", specifically from gnome-terminal - but it doesn't seem to have any redrawing issues as far as I can tell.
Comment 2 Daniel Espinosa 2016-09-26 20:31:12 UTC
I have similar issues.

But warnings messages are not clear enough to find the problem on application side.

May I doing something wrong but they should suggest where to start to search.

Exists any documentation about on how to correctly allocate using API and Glade.
Comment 3 mnl 2016-09-26 23:39:36 UTC
I have the same issues as Josh (running Debian Stretch and Windows VM with QXL and spice).
Comment 4 mnl 2016-09-27 00:00:38 UTC
I would say that the bug is caused by spice-gtk, as I can reproduce it in gnome-boxes, remote-viewer, spicy and virt-viewer (all of them share the same library). Of course there still might be a bug / regression present in GTK, which then causes trouble for spice-gtk.
Comment 5 Josh Triplett 2016-09-27 04:27:53 UTC
(In reply to mnl from comment #4)
> I would say that the bug is caused by spice-gtk, as I can reproduce it in
> gnome-boxes, remote-viewer, spicy and virt-viewer (all of them share the
> same library). Of course there still might be a bug / regression present in
> GTK, which then causes trouble for spice-gtk.

It's possible that some change in spice-gtk might work around this issue, but if GTK+ has changed in a way that causes rendering issues in applications that previously worked, that seems like a regression in GTK+.
Comment 6 mnl 2016-10-12 19:27:05 UTC
According to https://bugzilla.redhat.com/show_bug.cgi?id=1379547 , it appears to be fixed in spice-gtk v0.33. I've built Debian packages from v0.33 tarball and remote-viewer started to work again.
Comment 7 rufo 2016-10-13 01:17:14 UTC
Thanks mnl. I can confirm that rebuilding the Debian packages with the v0.33 changes from upstream fixes the issue for me.
Comment 8 Daniel Boles 2017-08-25 01:20:39 UTC
Sounds like this was resolved elsewhere. Please reopen if not.