gdm-simple-greeter always crashes on start

Bug #573099 reported by Milan Bouchet-Valat
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
gdm (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Binary package hint: gdm

This computer has been upgraded from Hardy to Lucid. gdm-simple-greeter always crashes when GDM is run (on start, or when changing user), though the bottom GDM bar (power, accessibility remains active). Workaround is to make an user autologin, but this required changing config files from commandline, and switching users is now impossible.

Apport doesn't detect this crash (even when enabled and with no core dump size limits), most likely because GDM has its own way of handling crashes. gdm-dbg packages for 2.30 on i386 aren't available apparently, which is a pain.

I'm attaching the trace I can get when attaching to the gdm-simple-greeter process after the crash (it doesn't die), it has much information about GTK and GLib functions, but obviously nothing about GDM itself since symbols are missing. See also the warnings from /var/log/gdm/:1-greeter.log, which are interesting.

This bug is very annoying because it leaved system completely unusable after upgrade for non-techies. Really not a nice user experience!

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: gdm 2.30.0-0ubuntu5
ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-generic i686
NonfreeKernelModules: nvidia
Architecture: i386
Date: Sat May 1 17:34:25 2010
ProcEnviron:
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: gdm

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :
Changed in gdm (Ubuntu):
importance: Undecided → High
Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :
Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :
Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :
Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :
Download full text (3.2 KiB)

Excerpt from :1-greeter.log, with approximate translation:

Window Manager Warning : Reading saved session file /var/lib/gdm/.config/metacity/sessions/1060c6d4bc3fbbceca127272763347355200000043090007.ms failed: Opening filr/ "var/lib/gdm/.config/metacity/sessions/1060c6d4bc3fbbceca127272763347355200000043090007.ms" failed: No siuch file or directory.
gdm-simple-greeter[4321]: Gtk-WARNING: /build/buildd/gtk+2.0-2.20.0/gtk/gtkwidget.c:5636: widget not within a GtkWindow
Window Manager Warning : Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x1000046 (Window d)
Window Manager Warnin : meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.
Window Manager Warnin : Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x1000046 (Window d)
Window Manager Warnin: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.
*** glibc detected *** /usr/lib/gdm/gdm-simple-greeter: double free or corruption (out): 0x0948eca0 ***
[trace message]

And from gdb trace:
[glibc error handling]
#12 0x0104049d in __libc_message (do_abort=2,
    fmt=0x1114f58 "*** glibc detected *** %s: %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#13 0x0104a591 in malloc_printerr (action=<value optimized out>,
    str=0x6 <Address 0x6 out of bounds>, ptr=0x948eca0) at malloc.c:6264
#14 0x0104bde8 in _int_free (av=<value optimized out>, p=<value optimized out>)
    at malloc.c:4792
#15 0x0104eecd in *__GI___libc_free (mem=0x948eca0) at malloc.c:3738
#16 0x00dddfc6 in IA__g_free (mem=0x948eca0)
    at /build/buildd/glib2.0-2.24.0/glib/gmem.c:191
#17 0x0805c714 in ?? ()
#18 0x0052bf6c in gtk_tree_model_sort_level_find_insert (
    tree_model_sort=0xbfa9fcd0, level=<value optimized out>, iter=0xbfa9fcd0,
    skip_index=3) at /build/buildd/gtk+2.0-2.20.0/gtk/gtktreemodelsort.c:1818
#19 0x0052e298 in gtk_tree_model_sort_insert_value (s_model=0x93a61b0,
    s_path=0x948ec80, s_iter=0x9485cd0, data=0x93ead00)
    at /build/buildd/gtk+2.0-2.20.0/gtk/gtktreemodelsort.c:1863
#20 gtk_tree_model_sort_row_inserted (s_model=0x93a61b0, s_path=0x948ec80,
    s_iter=0x9485cd0, data=0x93ead00)
    at /build/buildd/gtk+2.0-2.20.0/gtk/gtktreemodelsort.c:674
#21 0x0043872f in _gtk_marshal_VOID__BOXED_BOXED (closure=0x9504f40,
    return_value=0x0, n_param_values=3, param_values=0x95279c8,
    invocation_hint=0xbfa9fe60, marshal_data=0x52dfb0)
    at /build/buildd/gtk+2.0-2.20.0/gtk/gtkmarshalers.c:1309
#22 0x00e9f252 in IA__g_closure_invoke (closure=0x9504f40, return_value=0x0,
    n_param_values=3, param_values=0x95279c8, invocation_hint=0xbfa9fe60)
    at /build/buildd/glib2.0-2.24.0/gobject/gclosure.c:767
#23 0x00eb399d in signal_emit_unlocked_R (node=<value optimized out>,
    detail=<value optimized out>, instance=0x93a61b0, emission_return=0x0,
    instance_and_params=0x95279c8)
    at /build/buildd/glib2.0-2.24.0/gobject/gsignal.c:3248
[signals, main loop...]
#51 0x00ff5bd6 in __libc_start_main (main=0x8054f20, argc=1,
    ubp_av=0xbfaa0c14, init=0x807e300, fini=0x807e2f0,
    rtld_fini=0x9e40c0 <_dl_fini>, stack_end=0xbfaa0c0c) at libc-start.c:226
#52 ...

Read more...

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

Removing /var/lib/gdm fixed the crash. So it looks like to problem comes form invalid/obsolete configuration coming from Hardy.

I'm attaching the directory that triggered the crash, it could help finding the precise source of the issue.

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

Also, here's the new /var/log/gdm/\:0-greeter.log file, to compare with the one from the crash. (Note that the series of GTK+ warnings about strings (in Franch...) come from a user name containing '&'.)

Revision history for this message
Chelmite (steve-kelem) wrote :

Is there a quick workaround for this problem? The computer that I upgraded to 10.04 is pretty useless right now.

After booting, I get a pink hazy screen, but no login prompt, no mouse buttons working, no panels.

To log in, I:
1. hit ctrl-alt-f3
2. log in as root
3. setenv DISPLAY :0.0
4. xhost +

5. hit ctrl-alt-f4
6. log in as me
7. setenv DISPLAY :0.0
8. xfce4-panel

9. hit ctrl-alt-f7
Then I get some functionality. The nvidia driver won't install, so I have only one screen at low resolution.
synaptic gets a Segmentation Fault, so it's difficult to upgrade packages (if any where available...).

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

Have you read the comments? I can't be sure you're experiencing the same bug. GDM problems can be very different. Have a look at /var/log/gdm/ as I explain above. My workaround is to remove /var/lib/gdm, as I said.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please try to obtain a valgrind log following the instructions at https://wiki.ubuntu.com/Valgrind and attach the file to the bug report. This will greatly help us in tracking down your problem.

Changed in gdm (Ubuntu):
status: New → Incomplete
Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

But how do you run gdm-simple-greeter from a debugger? I've not been able to start it manually.

Revision history for this message
Kap (kap467) wrote :

I've solved adding this lines in the [Greeter] section of /etc/gdm/custom.conf

[Greeter]
#stuff

Include=myusername
Exclude=long_list_of_standard_excluded_users
IncludeAll=true

#stuff

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

That would be interesting, indeed. But are you sure that's the same bug?

Changed in gdm (Ubuntu):
status: Incomplete → Triaged
Changed in gdm (Ubuntu):
importance: High → Low
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.