lightdm crashed with SIGSEGV in g_main_context_dispatch()

Bug #798716 reported by Jussi Pakkanen on 2011-06-17
This bug affects 14 people
Affects Status Importance Assigned to Milestone
lightdm (Ubuntu)

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
 PATH=(custom, no user)
 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
 ?? ()
 ?? ()
 ?? () from /lib/x86_64-linux-gnu/
 g_main_context_dispatch () from /lib/x86_64-linux-gnu/
 ?? () from /lib/x86_64-linux-gnu/
Title: lightdm crashed with SIGSEGV in g_main_context_dispatch()
UpgradeStatus: No upgrade log present (probably fresh install)

Jussi Pakkanen (jpakkane) wrote :

 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

Changed in lightdm (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
tags: added: iso-testing
Robert Ancell (robert-ancell) wrote :

Does this still occur with LightDM 0.4.1? Thanks.

Changed in lightdm (Ubuntu):
status: New → Incomplete
Jussi Pakkanen (jpakkane) wrote :

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

Jussi Pakkanen (jpakkane) wrote :

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

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
Francesco Muriana (f-muriana) wrote :

This bug affects me too

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
Sebastien Bacher (seb128) wrote :

is that still an issue with 0.9.2?

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.
> Title:
> lightdm crashed with SIGSEGV in g_main_context_dispatch()
> To manage notifications about this bug go to:

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.

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  Edit
Everyone can see this information.

Other bug subscribers