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 629984 - Segmentation fault upon startup after a fresh build
Segmentation fault upon startup after a fresh build
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal blocker
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 549063 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-18 11:43 UTC by Fabian
Modified: 2010-11-30 18:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Return the refernced objects in _ref (3.38 KB, patch)
2010-09-21 20:03 UTC, drago01
committed Details | Review

Description Fabian 2010-09-18 11:43:18 UTC
The error upon startup is:
13:30 fabian ~ >>> jhbuild run gnome-shell --replace
Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
      JS LOG: default_value = 80.49332158112415, first_value = 96
      JS LOG: GNOME Shell started at Sat Sep 18 2010 13:42:11 GMT+0200 (CET)
      JS LOG: Failed to acquire org.freedesktop.Notifications; trying again
Shell killed with signal 11
13:42 fabian ~ >>> 
(gnome-panel:3164): GConf-WARNING **: Directory `/apps/panel/toplevels/bottom_panel_screen1/screen' was not being monitored by GConfClient 0x2689e40

(gnome-panel:3164): GConf-WARNING **: Directory `/apps/panel/toplevels/top_panel_screen1/screen' was not being monitored by GConfClient 0x2689e40

The backtrace is as follows:
(gdb) bt
  • #0 gconf_entry_unref
    at gconf-value.c line 1522
  • #1 g_boxed_free
    at gboxed.c line 387
  • #2 boxed_finalize
    at gi/boxed.c line 576
  • #3 ??
    from /usr/lib/xulrunner-1.9.2.10/libmozjs.so
  • #4 run_leisure_functions
    at shell-global.c line 1666
  • #5 g_main_dispatch
    at gmain.c line 2149
  • #6 g_main_context_dispatch
    at gmain.c line 2702
  • #7 g_main_context_iterate
    at gmain.c line 2780
  • #8 g_main_loop_run
    at gmain.c line 2988
  • #9 main
    at core/main.c line 725

Comment 1 drago01 2010-09-21 20:03:34 UTC
Created attachment 170784 [details] [review]
Return the refernced objects in _ref

Both gconf_entry_ref() and gconf_change_set_ref() don't return
the referenced objects but nothing (void), which causes issues for
g_boxed_copy which uses the return value.
Comment 2 drago01 2010-09-21 20:04:17 UTC
Attachment 170784 [details] pushed as a612aad - Return the refernced objects in _ref
Comment 3 Christian Persch 2010-09-26 18:51:55 UTC
Was this patch reviewed? It's buggy!

-void
+GConfChangeSet*
 gconf_change_set_ref      (GConfChangeSet* cs)
 {
   g_return_if_fail(cs != NULL);

^^^ Needs to be changed to g_return_VAL_if_fail
Comment 4 Owen Taylor 2010-09-26 20:51:40 UTC
I did review the patch. Obviously I missed that. Doesn't affect runtime operation, but obviously would be best fixed.
Comment 5 Christian Persch 2010-09-27 18:25:41 UTC
Fixed on master.

BTW, the original patch was committed in the hard code freeze period and I can find no trace of r-t approval (nothing on r-t mailing list, at least).

I got r-t approval for the fixup on IRC, and retroactive approval for the original patch.
Comment 6 Christian Persch 2010-11-30 18:42:44 UTC
*** Bug 549063 has been marked as a duplicate of this bug. ***