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 751211 - Crash on ESource::read-only property change notification
Crash on ESource::read-only property change notification
Status: RESOLVED FIXED
Product: gnome-calendar
Classification: Applications
Component: General
3.16.x
Other Linux
: Normal critical
: 3.26
Assigned To: GNOME Calendar maintainers
GNOME Calendar maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-19 10:32 UTC by Milan Crha
Modified: 2017-04-17 18:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (1.21 KB, patch)
2015-06-19 10:35 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2015-06-19 10:32:57 UTC
I've got this crash when one of my ESource-s reported a read-only property change in a time when the gnome-calendar didn't know about the source.

Thread 1 (Thread 0x7fc454b229c0 (LWP 6209))

  • #0 waitpid
  • #1 g_spawn_sync
  • #2 g_spawn_command_line_sync
  • #3 run_bug_buddy
    at gnome-segvhanlder.c line 245
  • #4 bugbuddy_segv_handle
    at gnome-segvhanlder.c line 196
  • #5 <signal handler called>
  • #6 on_client_readonly_changed
    at gcal-manager.c line 405
  • #7 g_closure_invoke
  • #8 signal_emit_unlocked_R
  • #9 g_signal_emit_valist
  • #10 g_signal_emit
  • #11 g_object_dispatch_properties_changed
  • #12 g_object_notify
  • #13 e_client_set_readonly
    at e-client.c line 1147
  • #14 cal_client_dbus_proxy_property_changed
    at e-cal-client.c line 640
  • #15 cal_client_proxy_notify_idle_cb
    at e-cal-client.c line 700
  • #16 g_main_context_dispatch
  • #17 g_main_context_iterate.isra
  • #18 g_main_context_iteration
  • #19 g_application_run
  • #20 main
    at main.c line 43

Comment 1 Milan Crha 2015-06-19 10:35:46 UTC
Created attachment 305676 [details] [review]
proposed patch

Two things changes:
a) the actual crash cause in on_client_readonly_changed(), to test whether
   the 'unit' is valid at all before dereferencing it
b) the callback doesn't seem to be disconnected at all, thus added a disconnect
   of it on the source removal as well

The b) might be enough, but just to be sure I included also a).