gnome-settings-daemon crashed with SIGSEGV in cairo_set_source_surface()

Bug #661283 reported by Matt Zimmerman
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
gnome-settings-daemon (Ubuntu)
Fix Released
Medium
Robert Ancell

Bug Description

Binary package hint: gnome-settings-daemon

This is a different system from my bug 660063, which is also a gnome-settings-daemon crash

ProblemType: Crash
DistroRelease: Ubuntu 10.10
Package: gnome-settings-daemon 2.32.0-0ubuntu2
ProcVersionSignature: Ubuntu 2.6.35-22.34-generic 2.6.35.4
Uname: Linux 2.6.35-22-generic i686
Architecture: i386
Date: Fri Oct 15 11:36:19 2010
EcryptfsInUse: Yes
ExecutablePath: /usr/lib/gnome-settings-daemon/gnome-settings-daemon
InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Alpha i386 (20100315)
ProcCmdline: /usr/lib/gnome-settings-daemon/gnome-settings-daemon
ProcEnviron:
 PATH=(custom, user)
 LANG=en_GB.utf8
 SHELL=/bin/zsh
SegvAnalysis:
 Segfault happened at: 0xb78b96 <cairo_set_source_surface+38>: mov 0x4(%esi),%ecx
 PC (0x00b78b96) ok
 source "0x4(%esi)" (0x00000004) not located in a known VMA region (needed readable region)!
 destination "%ecx" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: gnome-settings-daemon
StacktraceTop:
 cairo_set_source_surface () from /usr/lib/libcairo.so.2
 gdk_cairo_set_source_pixbuf () from /usr/lib/libgdk-x11-2.0.so.0
 gnome_bg_create_pixmap () from /usr/lib/libgnome-desktop-2.so.17
 ?? () from /usr/lib/gnome-settings-daemon-2.0/libbackground.so
 g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
Title: gnome-settings-daemon crashed with SIGSEGV in cairo_set_source_surface()
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

Revision history for this message
Matt Zimmerman (mdz) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 *INT_cairo_set_source_surface (cr=0x0, surface=0x83f6800, x=0, y=0)
 IA__gdk_cairo_set_source_pixbuf (cr=0x0, pixbuf=0x82d6848,
 gnome_bg_create_pixmap (bg=0x82a7818, window=0x822c050,
 draw_background (manager=<value optimized out>,
 g_cclosure_marshal_VOID__VOID ()

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
Matt Zimmerman (mdz)
visibility: private → public
Revision history for this message
Martin Pitt (pitti) wrote :

Robert, do you have some time to look into this? Looks like it's stumbling over the NULL pointer here, so I guess some allocation failed earlier on?

Changed in gnome-settings-daemon (Ubuntu):
assignee: nobody → Robert Ancell (robert-ancell)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Matt, how reproducible is this? What steps can I take to reproduce it?

Looking through the stack trace shows:
- The Cairo context is NULL
- This only seems possible if the background pixmap is NULL
- The background pixmap only seems to be able to be NULL if a connection to the X server was not possible (in gnome-desktop-2.32.1/libgnome-desktop/gnome-bg.c:make_root_pixmap()).

These event should have triggered some g_warnings, which I would have expected to show in ~/.xsession-errors and maybe /var/log/Xorg.0.log.

Matt, could you reproduce and attach the above two logs?

Revision history for this message
Matt Zimmerman (mdz) wrote :

I've had gnome-settings-daemon continue to crash on me regularly in 10.10 (bug 685785), but haven't seen this particular trace recur and I don't have any way to reproduce it. I filed this over two months ago, so to be honest I'm having trouble remembering the exact circumstances which surrounded the crash.

It looks as if another possible NULL return is if gdk_pixmap_foreign_new_for_screen fails. In any case, someone should be checking for an error return and not dereferencing the null pointer, right?

I'm surprised that ~/.xsession-errors wasn't automatically attached by apport; if it's routinely useful for diagnosing crashes like this one, that should probably be changed.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

There was an attached log but it didn't contain anything useful. It might have been from the session after the crash however.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Was fixed in gnome-desktop 2.32.1-0ubuntu2

Changed in gnome-settings-daemon (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.