Bug 915986

Summary: [abrt] lightdm-gtk-1.5.1-1.fc19: gdk_cairo_set_source_pixbuf: Process /usr/sbin/lightdm-gtk-greeter was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Neil <neilsbb>
Component: lightdm-gtkAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: awilliam, christoph.wickert, dan.mashal, gczarcinski, gregor, rdieter, rmarko
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:efdebc5c8c2c350f690f2f6e341236256d408b3b
Fixed In Version: lightdm-gtk-1.5.1-3.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-15 17:31:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages none

Description Neil 2013-02-26 22:44:38 UTC
Version-Release number of selected component:
lightdm-gtk-1.5.1-1.fc19

Additional info:
backtrace_rating: 4
cmdline:        /usr/sbin/lightdm-gtk-greeter
crash_function: gdk_cairo_set_source_pixbuf
executable:     /usr/sbin/lightdm-gtk-greeter
kernel:         3.9.0-0.rc0.git3.1.fc19.x86_64
uid:            994

Truncated backtrace:
Thread no. 1 (2 frames)
 #0 gdk_cairo_set_source_pixbuf at gdkcairo.c:258
 #1 set_background at lightdm-gtk-greeter.c:1024

Comment 1 Neil 2013-02-26 22:44:41 UTC
Created attachment 703165 [details]
File: backtrace

Comment 2 Neil 2013-02-26 22:44:42 UTC
Created attachment 703166 [details]
File: cgroup

Comment 3 Neil 2013-02-26 22:44:44 UTC
Created attachment 703167 [details]
File: core_backtrace

Comment 4 Neil 2013-02-26 22:44:46 UTC
Created attachment 703168 [details]
File: dso_list

Comment 5 Neil 2013-02-26 22:44:47 UTC
Created attachment 703169 [details]
File: environ

Comment 6 Neil 2013-02-26 22:44:49 UTC
Created attachment 703170 [details]
File: limits

Comment 7 Neil 2013-02-26 22:44:50 UTC
Created attachment 703171 [details]
File: maps

Comment 8 Neil 2013-02-26 22:44:52 UTC
Created attachment 703172 [details]
File: open_fds

Comment 9 Neil 2013-02-26 22:44:53 UTC
Created attachment 703173 [details]
File: proc_pid_status

Comment 10 Neil 2013-02-26 22:44:55 UTC
Created attachment 703174 [details]
File: var_log_messages

Comment 11 Fedora End Of Life 2013-04-03 17:14:25 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 12 Richard Marko 2013-05-06 11:04:31 UTC
Crashing in VM on cleanly installed F19:
lightdm-1.6.0-4.fc19.x86_64
lightdm-gtk-1.5.1-2.fc19.x86_64

Comment 13 Rex Dieter 2013-05-06 12:17:16 UTC
The backtrace:


#1  0x0000000000405f17 in set_background (new_bg=new_bg@entry=0x0) at lightdm-gtk-greeter.c:1024
        p = 0x0
        screen = 0xbd2000
        c = 0xbeb880
        monitor = 1
        monitor_geometry = {x = 0, y = 0, width = 0, height = 0}
        bg = 0xbe3450
        i = 0

and the code:

static void
set_background (GdkPixbuf *new_bg)
{
  GdkRectangle monitor_geometry;
...
   for (monitor = 0; monitor < gdk_screen_get_n_monitors (screen); monitor++)
   {
     gdk_screen_get_monitor_geometry (screen, monitor, &monitor_geometry);

     if (bg)
     {  
        GdkPixbuf *p = gdk_pixbuf_scale_simple (bg, monitor_geometry.width,monitor_geometry.height, GDK_INTERP_BILINEAR);
        if (!gdk_pixbuf_get_has_alpha (p))
          p = gdk_pixbuf_add_alpha (p, FALSE, 255, 255, 255);
        gdk_cairo_set_source_pixbuf (c, p, monitor_geometry.x, monitor_geometry.y);
        g_object_unref (p);
     }



Seems gdk_screen_get_monitor_geometry call is returning a bogus 0x0 for some reason.  Cairo then hits error condition: CAIRO_STATUS_INVALID_STRIDE in ..._set_source

Comment 14 Rex Dieter 2013-05-06 12:48:08 UTC
Going to try adding a check to

-if (bg)
+if (bg && (monitor_geometry.width>0) && (monitor_geometry.height>0))

which is, of course, only a workaround, but should fix the immediate problem

Comment 15 Fedora Update System 2013-05-06 12:56:42 UTC
lightdm-gtk-1.5.1-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/lightdm-gtk-1.5.1-3.fc19

Comment 16 Richard Marko 2013-05-06 13:09:15 UTC
(In reply to comment #14)
> Going to try adding a check to
> 
> -if (bg)
> +if (bg && (monitor_geometry.width>0) && (monitor_geometry.height>0))
> 
> which is, of course, only a workaround, but should fix the immediate problem

Thanks, it does. I'm now able to login with lightdm-gtk-1.5.1-3.fc19.

Comment 17 Fedora Update System 2013-05-06 18:30:32 UTC
Package lightdm-gtk-1.5.1-3.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing lightdm-gtk-1.5.1-3.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-7478/lightdm-gtk-1.5.1-3.fc19
then log in and leave karma (feedback).

Comment 18 Adam Williamson 2013-05-07 23:47:24 UTC
I hit the bug, and confirmed the fix.

Comment 19 Dan Mashal 2013-05-08 06:55:55 UTC
*** Bug 887507 has been marked as a duplicate of this bug. ***

Comment 20 Fedora Update System 2013-05-15 17:31:47 UTC
lightdm-gtk-1.5.1-3.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.