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 736775 - wall-clock: disconnect GSettings signals when disposing
wall-clock: disconnect GSettings signals when disposing
Status: RESOLVED DUPLICATE of bug 780861
Product: gnome-desktop
Classification: Core
Component: general
3.13.x
Other Linux
: Normal normal
: ---
Assigned To: Desktop Maintainers
Desktop Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-09-17 00:50 UTC by Cosimo Cecchi
Modified: 2017-04-07 22:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.85 KB, patch)
2014-09-17 00:50 UTC, Cosimo Cecchi
reviewed Details | Review
backtrace (30.85 KB, text/plain)
2014-09-17 02:10 UTC, Cosimo Cecchi
  Details

Description Cosimo Cecchi 2014-09-17 00:50:30 UTC
See patch
Comment 1 Cosimo Cecchi 2014-09-17 00:50:58 UTC
Created attachment 286333 [details] [review]
patch

The GSettings object can outlive GnomeWallClock, so explicitly disconnect
the changed signal when disposing the object.
Comment 2 Bastien Nocera 2014-09-17 01:06:33 UTC
Review of attachment 286333 [details] [review]:

GSettings aren't singletons, how can we outlive the settings object?
Comment 3 Cosimo Cecchi 2014-09-17 02:10:07 UTC
Not really sure; the crash I'm observing here is in gnome-initial-setup.

I think the code flow is the following:
- a gnome-initial-setup page owns a GnomeWallClock object, which internally has a GSettings to org.gnome.deskop.interface
- language changes in gnome-initial-setup; an idle timeout fires that will destroy and recreate all pages
- page gets destroyed and immediately afterwards another one will be created; in the constructor, it will create another GSettings to org.gnome.desktop.interface, set a setting and immediately unref it
- dconf will call back into the old GSettings instance, which will emit a change signal, but the old GnomeWallClock object is gone/in destruction already

I am attaching a full backtrace.
Comment 4 Cosimo Cecchi 2014-09-17 02:10:56 UTC
Created attachment 286336 [details]
backtrace
Comment 5 Bastien Nocera 2014-09-17 09:30:22 UTC
Sounds rather like the wall clock isn't being destroyed, no?
Comment 6 Bastien Nocera 2014-09-17 09:41:59 UTC
There's no gis-location-page.c anymore. There's no wall clock in gnome-initial-setup, never was. I'm guessing you forked that...
Comment 7 Cosimo Cecchi 2017-04-07 22:32:43 UTC

*** This bug has been marked as a duplicate of bug 780861 ***