Re: [gdm-list] greeter restart after using wrong username



Francis:

Sorry for the slow response, I've been swamped lately.

When using pam_ldap or pam_winbind by XDMCP, and entering a wrong
credential, GDM doesn't display the standard message "wrong username or
passord". In place of that, the greeter reset completely and reloads, as
if CTRL-ALT-Backspace was pressed.

How can I do the debug of that?
Normally when the greeter restarts, it is because there was a crash.
Is there a core file in your root (/) directory, or in /var/lib/gdm
or /var/lib/log/gdm?  Sometimes gdm will leave core files here that
we can check for a stacktrace.
>
I did have core dump, but I don't know if they are related to the error.
I tried to get core dump by lauchning gdm-binary on the current shell,
wich I did ulimits -c 10240, but process doesn't create the core dump.

I think you said that the core dump is generated by gdmgreeter, which
is a process launched by the slave daemon, which is launched by the
main daemon.  So you wouldn't see the core by watching gdm-binary
directly.

Unfortunately since gdmgreeter is launched in this way, it isn't
really easy to launch it with a debugger, unless you can do the
following.

Is there any way you can start a GUI session without using gdmgreeter.
You could try using gdmlogin instead of gdmgreeter by changing the
daemon/Greeter key in the configuration file to /usr/lib/gdmlogin.
Does this work any better?  I'm guessing not, since you say you get
a core dump trying to use it as well.

If not, can you use something like a startx script to run a gnome-session without using a display manager by running:

startx gnome-session

or

startx dbus-launch gnome-session

Or perhaps try to use a different display manager (KDM, XDM) to get
into your session while you look into this GDM bug?

Once you get a a GUI session started you can try to do the following
from a terminal:

Set the environment variable: DOING_GDM_DEVELOPMENT=1
Then try running gdmgreeter.  Does it still core dump?  If so, try
running with a debugger and see if we can track this down.

I got the problem with gdm 2.8 and 2.16. I confirm that the
configuration is not the issue, I tested a configuration that is known
to work. I also used standard theme, and the problem is still there.

Does trying GDM 2.18.1 work better?

# strings /usr/sbin/gdm-binary | grep 2.1
GDM 2.16.0

Anyway, here is the backtrace I got from the core dump of gdmgreeter.
Realy strange.

Yes, this is an odd core dump.  The fact that it is core dumping in
cairo for gdmgreeter and glib for gdmlogin indicates that the problem
may be with your GNOME base libs having some issue - perhaps you somehow
have incompatible versions of the libraries installed on your system?

You might try upgrading your glib, cairo and GTK libraries and
see if this helps.  Typically when you find a coredump in these
libraries it isn't a GDM specific issue, but a problem with the core
libraries.

It is also odd that I don't see any GDM functions in the stack.  Did
you rebuild GDM with debug turned on?

#0  0xbfffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xbfffe410 in __kernel_vsyscall ()
#1  0xb7057fc0 in raise () from /lib/i686/libc.so.6
#2  0xb7059851 in abort () from /lib/i686/libc.so.6
#3  0xb705153b in __assert_fail () from /lib/i686/libc.so.6
#4  0xb75e00a2 in _cairo_image_surface_clone () from /usr/lib/libcairo.so.2
#5  0xb7607579 in cairo_xlib_surface_get_display () from
/usr/lib/libcairo.so.2
#6  0xb760797b in cairo_xlib_surface_get_display () from
/usr/lib/libcairo.so.2
#7  0xb75e8142 in cairo_surface_set_fallback_resolution () from
/usr/lib/libcairo.so.2
#8  0xb75ea048 in cairo_surface_create_similar () from
/usr/lib/libcairo.so.2
#9  0xb75ea3ae in cairo_surface_create_similar () from
/usr/lib/libcairo.so.2
#10 0xb75e85f4 in cairo_surface_reference () from /usr/lib/libcairo.so.2
#11 0xb75e87c3 in cairo_surface_reference () from /usr/lib/libcairo.so.2
#12 0xb75eb6d6 in cairo_surface_create_similar () from
/usr/lib/libcairo.so.2
#13 0xb75eb867 in cairo_surface_create_similar () from
/usr/lib/libcairo.so.2
#14 0xb75e901d in cairo_surface_reference () from /usr/lib/libcairo.so.2
#15 0xb75dcb14 in cairo_font_options_create () from /usr/lib/libcairo.so.2
#16 0xb75d7f46 in cairo_fill_preserve () from /usr/lib/libcairo.so.2
#17 0xb75d7f70 in cairo_fill () from /usr/lib/libcairo.so.2
#18 0xb7b0b144 in gdk_window_set_user_data () from
/usr/lib/libgdk-x11-2.0.so.0
#19 0xb7b0c4ad in gdk_window_begin_paint_region () from
/usr/lib/libgdk-x11-2.0.so.0
#20 0xb7c9d74c in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#21 0xb7b0c885 in gdk_window_is_viewable () from
/usr/lib/libgdk-x11-2.0.so.0
#22 0xb7b0cabc in gdk_window_process_all_updates () from
/usr/lib/libgdk-x11-2.0.so.0
#23 0xb7c0ba74 in gtk_container_check_resize () from
/usr/lib/libgtk-x11-2.0.so.0
#24 0xb74373e0 in g_source_is_destroyed () from /usr/lib/libglib-2.0.so.0
#25 0xb74391b5 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb743c1d2 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#27 0xb743c544 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#28 0xb7c9d9af in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#29 0x08051365 in ?? ()
#30 0xb704575c in __libc_start_main () from /lib/i686/libc.so.6
#31 0x080503b1 in ?? ()

I got also a coredump from gdmlogin.

(gdb) bt
#0  0xb75260e3 in strlen () from /lib/i686/libc.so.6
#1  0xb7748141 in g_markup_escape_text () from /usr/lib/libglib-2.0.so.0
#2  0x080550bf in ?? ()
#3  0xb74d075c in __libc_start_main () from /lib/i686/libc.so.6
#4  0x0804f341 in ?? ()

Wired, isn't?

Francis





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]