unity-greeter crashed with SIGSEGV in background_loader_load_and_scale()

Bug #942227 reported by S. Jegen
108
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Unity Greeter
Fix Released
Undecided
Unassigned
unity-greeter (Ubuntu)
Fix Released
High
Michael Terry

Bug Description

I am running Precise (amd64) in a VM (Virtual Box ) on a Arch Linux system and testing the Japanese language support. After installing the Virtual Box Guest additions (first reboot after install) and logging out again, the greeter changed to a higher screen resolution automatically.

Instead of loggin in again I rebootet. As soon as the greeter was finished loading once the reboot was complete I wanted to log in but the input field of the greeter was not responding anymore (the greeter as well as the panel seemed to have frozen completely). After closing the VM (ACPI did not work) and restarting it again, I was able to log in (though the greeter itself was running at a lower resolution this time. The desktop ran smoothly using the maximum resolution of my monitor). Shortly after I logged in I was prompted to open a new bug report.

Just write me if you need further details or if you have other questions.

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: unity-greeter 0.2.4-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-17.27-generic 3.2.6
Uname: Linux 3.2.0-17-generic x86_64
ApportVersion: 1.93-0ubuntu2
Architecture: amd64
Date: Mon Feb 27 22:13:44 2012
ExecutablePath: /usr/sbin/unity-greeter
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120227)
ProcCmdline: /usr/sbin/unity-greeter
ProcEnviron:
 PATH=(custom, no user)
 LANG=ja_JP.UTF-8
 SHELL=/bin/false
SegvAnalysis:
 Segfault happened at: 0x40ac60: mov %eax,0x3c(%rdx)
 PC (0x0040ac60) ok
 source "%eax" ok
 destination "0x3c(%rdx)" (0xaaaaaaaaaaaaaae6) not located in a known VMA region (needed writable region)!
 Stack memory exhausted (SP below stack segment)
SegvReason: writing unknown VMA
Signal: 11
SourcePackage: unity-greeter
StacktraceTop:
 ?? ()
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
 clone () from /lib/x86_64-linux-gnu/libc.so.6
 ?? ()
Title: unity-greeter crashed with SIGSEGV in start_thread()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Revision history for this message
S. Jegen (s-jegen) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 background_loader_load_and_scale (self=0x246ed10) at background.c:846
 _background_loader_load_and_scale_gthread_func (self=0x246ed10) at background.c:379
 g_thread_proxy (data=0x7f5b4800b140) at /build/buildd/glib2.0-2.31.18/./glib/gthread.c:801
 start_thread (arg=0x7f5b42113700) at pthread_create.c:308
 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

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 start_thread()
+ unity-greeter crashed with SIGSEGV in background_loader_load_and_scale()
tags: removed: need-amd64-retrace
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
tags: added: bugpattern-needed
visibility: private → public
Changed in unity-greeter (Ubuntu):
importance: Medium → High
assignee: nobody → Michael Terry (mterry)
Revision history for this message
Michael Terry (mterry) wrote :

To reproduce this reliably, you can just induce frequent background changes with the following code change in background.vala:

@@ -296,6 +299,14 @@
         active_monitor = monitor;
     }

+ bool regen()
+ {
+ loaders.remove_all ();
+ load_background (null);
+ reload ();
+ return true;
+ }
+
     public override void size_allocate (Gtk.Allocation allocation)
     {
         var resized = allocation.height != get_allocated_height () || allocatio
@@ -309,6 +320,8 @@
             loaders.remove_all ();
             load_background (null);
             reload ();
+
+ Idle.add(regen);
         }
     }

I've got a fix for this, upstream branch coming.

Michael Terry (mterry)
Changed in unity-greeter:
milestone: none → 0.2.6
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-greeter - 0.2.6-0ubuntu1

---------------
unity-greeter (0.2.6-0ubuntu1) precise; urgency=low

  * New upstream bug-fix release
    - Fix the corruption between unity-greeter and Unity loading
      (LP: #931967)
    - Fix crash when reloading background images (LP: #942227)
    - Fix displayed name of keyboard layout with some variants
      (LP: #960538)
  * debian/patches/fix_login_corruption.patch:
    - Dropped, applied upstream
 -- Michael Terry <email address hidden> Thu, 22 Mar 2012 09:44:16 -0400

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.