Bug 1779362

Summary: virt-manager's systray icon freezes the whole Gnome-Shell desktop for 2/3 seconds
Product: [Community] Virtualization Tools Reporter: mathieu.tarral
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: berrange, crobinso, gscrivan, paelzer
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-01 23:30:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description mathieu.tarral 2019-12-03 20:06:46 UTC
Description of problem:

If I enable the virt-manager systray icon in Ubuntu 19.10 with Gnome-Shell,
each time I'm starting or shutting down a VM, the desktop will freeze for 2/3 seconds.

Version-Release number of selected component (if applicable):
2.2.1-0ubuntu2


How reproducible:
always

Steps to Reproduce:
1. install ubuntu 19.10
2. start virt-manager
3. enable systray icon
4. start/stop a VM

Actual results:
The Gnome-Shell desktop is freezing


Expected results:
The Gnome-Shell desktop should have not been impacted


Additional info:

I can see the following lines on my journalctl:

nov. 28 21:07:38 xxxx gnome-shell[3133]: [AppIndicatorSupport-WARN] Attempting to re-register :1.138/org/ayatana/NotificationItem/virt_manager; resetting instead

The bug has originally been reported on launchpad:
https://bugs.launchpad.net/ubuntu/+source/virt-manager/+bug/1854396

You can view the video showcasing the issue there.

Thanks.

Comment 1 Cole Robinson 2020-09-01 23:30:17 UTC
Thanks for the report. I think this may fix it:

commit 4348d4b1282bac3cd58d2271844b679ad46ed8ae
Author: Cole Robinson <crobinso>
Date:   Thu Aug 20 16:19:26 2020 -0400

    systray: Don't rebuild the menu on every change



Previously we were rebuilding the whole menu on any VM/connection state change which with kstatusnotifier sends a lot of events over dbus. After this it updates as little as possible