unity-greeter crashed with SIGSEGV in background_loader_ready_cb()

Bug #967343 reported by Mike L
702
This bug affects 81 people
Affects Status Importance Assigned to Milestone
unity-greeter (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Just another error report that popped up. I am running Precise development with the latest updates, and all the latest packages. I would expect the Unity Greeter to not randomly crash. But this is a beta release. I do not know how to reproduce this bug.

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: unity-greeter 0.2.6-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-20.33-generic 3.2.12
Uname: Linux 3.2.0-20-generic x86_64
ApportVersion: 1.95-0ubuntu1
Architecture: amd64
Date: Tue Mar 27 21:36:59 2012
ExecutablePath: /usr/sbin/unity-greeter
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120321)
ProcCmdline: /usr/sbin/unity-greeter
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/false
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: unity-greeter
Title: unity-greeter crashed with SIGSEGV in g_main_context_dispatch()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Revision history for this message
Mike L (mikerl) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 background_loader_ready_cb (self=0x2703520) at background.c:721
 _background_loader_ready_cb_gsource_func (self=0x2703520) at background.c:743
 gdk_threads_dispatch (data=<optimized out>) at /build/buildd/gtk+3.0-3.4.0/./gdk/gdk.c:763
 g_main_dispatch (context=0x245ac20) at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:2515
 g_main_context_dispatch (context=0x245ac20) at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:3052

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 unity-greeter (Ubuntu):
importance: Undecided → Medium
summary: - unity-greeter crashed with SIGSEGV in g_main_context_dispatch()
+ unity-greeter crashed with SIGSEGV in background_loader_ready_cb()
tags: removed: need-amd64-retrace
Mike L (mikerl)
visibility: private → public
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-greeter (Ubuntu):
status: New → Confirmed
Revision history for this message
tomaszko (kossut) wrote :

unity-greeter crashed with SIGSEGV in g_main_context_dispatch()

Revision history for this message
Jason Conti (jconti) wrote :

The unref in BackgroundLoader.ready_cb seems to be the issue here, from commit http://bazaar.launchpad.net/~unity-greeter-team/unity-greeter/trunk/revision/367

At least on my system, after the updates to glib 2.32 and gtk 3.4, the first BackgroundLoader that is created always ends up in ready_cb with only one ref, so we destroy ourselves before trying to access the images pixbuf array. This seems to be because there is a size_allocate before the image finishes loading, so the BackgroundLoader hash table is cleared, which would destroy the BackgroundLoader if we didn't have the extra ref in BackgroundLoader.load.

It may be the case that the extra refs, unrefs added in that commit are no longer needed with the library upgrades (although if that were the case, I think we would see more duplicates...), but my thought is just to move the unref in ready_cb to the end, so we can finish up whatever we are doing in case the unref destroys us.

Either of the above seem to fix the crash here anyway.

tags: added: bugpattern-needed
Revision history for this message
Darian Ryder (lifusion) wrote :

Happened on "User Account" exit

Revision history for this message
Sleep Less (not-really) wrote :

Don't know why the subject was changed; I always get "unity-greeter crashed with SIGSEGV in g_main_context_dispatch()", meanwhile apparently each time I reboot the machine and login. (This happened the first time after a "regular" upgrade a couple of days ago.)

Revision history for this message
Jason Conti (jconti) wrote :

@Sleep Less: No, the crash is actually in background_loader_ready_cb, g_main_context_dispatch is further down the stack, it just doesn't show up like that until apport does a retrace with the unity-greeter debug symbols available.

Revision history for this message
Sleep Less (not-really) wrote :

@Jason Conti:

Maybe, but you'll probably keep getting duplicates of this bug with the original subject I think. ;-)

(Most of the current dups report a segfault in 'g_main_context_dispatch()'.)

Revision history for this message
Stephan Springer (geryon) wrote :

I got this crash today, too, after a fresh system upgrade.

This is a duplicate of bug #946674, isn't it?

Revision history for this message
Sebastien Bacher (seb128) wrote :

the issue was the same as bug #946674 and has been fixed since

Changed in unity-greeter (Ubuntu):
status: Confirmed → 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.