GNOME Bugzilla – Bug 680354
crashes if unable to create a root surface
Last modified: 2012-08-15 16:34:27 UTC
Maximum number of clients reached (nautilus:11353): GnomeDesktop-WARNING **: Unable to open display ':5' when setting background pixmap Program received signal SIGSEGV, Segmentation fault. cairo_surface_set_user_data (surface=surface@entry=0x0, key=key@entry=0x7ffff7554970, user_data=0xc0f340, destroy=0x7ffff69ecd80 <gdk_rgba_free>) at cairo-surface.c:794 794 if (CAIRO_REFERENCE_COUNT_IS_INVALID (&surface->ref_count))
+ Trace 230547
Created attachment 219370 [details] [review] Don't crash if unable to set background
Review of attachment 219370 [details] [review]: ::: libgnome-desktop/gnome-bg.c @@ +1557,2 @@ g_return_if_fail (screen != NULL); + g_return_if_fail (surface != NULL); So i assume you fixed the caller code too.
Can you elaborate a bit on how this happens? Is there a crasher bug somewhere in Red Hat bugzilla e.g.? Is "Maximum number of clients reached" from the X server? Hmm..looks like that must be it. It'd probably be nice to update the docstring to say "Returns: %NULL on error (e.g. out of X connections)" Other than that good to go.
Colin, thanks for the review. I think somewhere we are leaking resources when setting the wallpaper. I've been testing wallpapers a lot recently and have hit this a few times. There is definitely a bug to be tracked down there but we really shouldn't go into an undefined state when that occurs. See bug 681928