Bug 1104555

Summary: GS freeze when opening compose window in evolution
Product: Red Hat Enterprise Linux 7 Reporter: Vladimir Benes <vbenes>
Component: gnome-shellAssignee: Florian Müllner <fmuellner>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: mclasen, mcrha, mdomonko, vbenes
Target Milestone: beta   
Target Release: 7.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 07:13:06 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:
Attachments:
Description Flags
gs backtrace none

Description Vladimir Benes 2014-06-04 08:28:24 UTC
Description of problem:
I see a freeze of GS when opening compose window in evolution. BT attached. As we've discussed similar freezes in Evolution it may be caused by dconf/GSettings false change notifications.

Version-Release number of selected component (if applicable):
gnome-shell-3.8.4-31.el7.x86_64

How reproducible:
once a day

Steps to Reproduce:
1.open evolution with several unread emails
2.read some of them
3.press ctrl+shift+r to reply on any

Actual results:
sometimes GS freeze occurs

Expected results:
no freeze at all

Additional info:

Comment 1 Vladimir Benes 2014-06-04 08:28:58 UTC
Created attachment 902040 [details]
gs backtrace

Comment 2 Milan Crha 2014-06-05 15:48:25 UTC
Just a note from evolution's side:

GSettings' "change" signal and GObject's "notify" signal are invoked unconditionally, without checking whether the value of the property or the key changed at all. GObject does it despite the property setter properly checks for the change, GSettings does it when dconf sends a "path-changed" event with
path "/", which means "everything changed".

The solution is to check whether the values really changed in the user's callback. Upstream bug (rejected by upstream) can be found here, together with more details:
https://bugzilla.gnome.org/show_bug.cgi?id=730886

I believe that evolution's presence is just a coincidence, probably caused by its heavy use of GSettings bindings. The attached backtrace shows that the gome-shell was also notified about the path change in GSettings, while the exact path is optimized out, I believe it is "/".

Comment 5 Vladimir Benes 2015-05-14 15:53:04 UTC
cannot see this in the newest 3.14 versions.

Comment 8 errata-xmlrpc 2015-11-19 07:13:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2216.html