lightdm crashed with SIGSEGV in g_main_context_dispatch()

Bug #798716 reported by Jussi Pakkanen
86
This bug affects 14 people
Affects Status Importance Assigned to Milestone
lightdm (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: lightdm

I downloaded Oneiric alpha daily, booted it and got this immediately on logon.

ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: lightdm 0.4.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.0-0.1-generic 3.0.0-rc2
Uname: Linux 3.0-0-generic x86_64
Architecture: amd64
Date: Fri Jun 17 13:50:24 2011
ExecutablePath: /usr/bin/lightdm
LiveMediaBuild: Ubuntu 11.10 "Oneiric Ocelot" - Alpha amd64+mac (20110617)
ProcCmdline: lightdm
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
SegvAnalysis:
 Segfault happened at: 0x406750: mov 0x28(%rax),%r8d
 PC (0x00406750) ok
 source "0x28(%rax)" (0xaaaaaaaaaaaaaad2) not located in a known VMA region (needed readable region)!
 destination "%r8d" ok
SegvReason: reading unknown VMA
Signal: 11
SourcePackage: lightdm
StacktraceTop:
 ?? ()
 ?? ()
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
Title: lightdm crashed with SIGSEGV in g_main_context_dispatch()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 child_process_signal (process=0x1d409f0, signum=15) at child-process.c:343
 quit_greeter_cb (data=0x1d409f0) at greeter.c:374
 g_timeout_dispatch (source=0x1d7d180, callback=<value optimized out>, user_data=<value optimized out>) at /build/buildd/glib2.0-2.29.8/./glib/gmain.c:3955
 g_main_dispatch (context=0x1d35fb0) at /build/buildd/glib2.0-2.29.8/./glib/gmain.c:2477
 g_main_context_dispatch (context=0x1d35fb0) at /build/buildd/glib2.0-2.29.8/./glib/gmain.c:3050

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 lightdm (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
tags: added: iso-testing
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Does this still occur with LightDM 0.4.1? Thanks.

Changed in lightdm (Ubuntu):
status: New → Incomplete
Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

I'll try with a new daily ISO next week.

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

This did not happen any more with yesterday's daily ISO.

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Thanks for following up. I'm closing this report due to your last comment.
Don't hesitate to submit any new bug.

Changed in lightdm (Ubuntu):
status: Incomplete → Invalid
visibility: private → public
Revision history for this message
Francesco Muriana (f-muriana) wrote :

This bug affects me too

Revision history for this message
Albert Damen (albrt) wrote :

I re-open this bug as apport marks newer crashes duplicate against this bug and there was no actual fix for this bug yet.
The crash happened for me with version 0.4.3-0ubuntu1 (see bug 809781). I attached lightdm.log to my bug which shows:
[+27.77s] WARNING: Greeter did not quit, sending kill signal
[+27.77s] DEBUG: Sending signal 15 to process 1557
[+28.04s] DEBUG: Process 1557 closed communication channel
[+28.04s] DEBUG: Process 1557 exited with return value 0
[+28.04s] DEBUG: Greeter quit

[+28.77s] WARNING: Greeter did not quit, sending kill signal
[+28.77s] WARNING: invalid unclassed pointer in cast to `Session'
[+28.77s] WARNING: invalid unclassed pointer in cast to `ChildProcess'

So the greeter is getting killed twice, even though the first kill was successful.
In src/greeter.c I see:
greeter->priv->quit_timeout = g_timeout_add (GREETER_QUIT_TIMEOUT, quit_greeter_cb, greeter);

which means quit_greeter_cb will be called periodically, until quit_greeter_cb returns FALSE. However, quit_greeter_cb has a hard coded return TRUE, so the killing never stops. When the greeter was killed successfully, the next kill will result in a crash.
In my opinion, quit_greeter_cb should return FALSE, at least when killing the greeter was successful.

Changed in lightdm (Ubuntu):
status: Invalid → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

is that still an issue with 0.9.2?

Revision history for this message
Bryan Agee (bryanagee) wrote : Re: [Bug 798716] Re: lightdm crashed with SIGSEGV in g_main_context_dispatch()

Nope-seems stable now. Thanks!

On Wed, Aug 3, 2011 at 3:44 AM, Sebastien Bacher <email address hidden> wrote:

> is that still an issue with 0.9.2?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/798716
>
> Title:
> lightdm crashed with SIGSEGV in g_main_context_dispatch()
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/798716/+subscriptions
>

Revision history for this message
Albert Damen (albrt) wrote :

I am frequently hit by a different crash (bug 819314), so I cannot say lightdm is stable yet. However, the specific code leading to the double kill in this bug seems to have been removed, so I don't think this specific crash can happen anymore.

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

I'm closing this report. It seems stable now, 1 commenter reported it is fixed for him and there is no recent duplicate.

Changed in lightdm (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.