Bug#480056: gdm: Gets killed with signal 6 on first login after boot.

Kurt Roeckx kurt at roeckx.be
Wed May 7 22:23:04 UTC 2008


On Wed, May 07, 2008 at 11:56:39PM +0200, Kurt Roeckx wrote:
> On Wed, May 07, 2008 at 11:30:32PM +0200, Kurt Roeckx wrote:
> > Package: gdm
> > Version: 2.20.5-1
> > Severity: important
> > 
> > Hi,
> > 
> > A few days ago, gdm started to restart every time I log in for the
> > first time after booting.  It switched back to console and then
> > restarts gdm.
> > 
> > In the log file I see:
> > May  7 22:46:28 pc2 gdm[2726]: WARNING: gdm_cleanup_children: child 2731 crashed of signal 6
> > May  7 22:46:28 pc2 gdm[2726]: WARNING: gdm_cleanup_children: Slave crashed, killing its children
> > 
> > I seem to have this version installed since 2008-04-26, but probably
> > didn't reboot then.  It was an upgrade from 2.20.4-1.
> 
> I'm seeing the same problem with 2.20.4-1.  It seems that gdm starts 2
> processes, and it's the second of those that gets the sigabort.   I
> attached gdb to it, and it first received a bunch of SIGUSR2, then an
> SIGABRT.  The stack trace wasn't very useful without debug symbols.
> I'll build a version with debug info.


So, I've build with debug now.  I first just started the new version
which worked, and got:
Program received signal SIGUSR2, User defined signal 2.
[Switching to Thread 0xb744daa0 (LWP 22635)]
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76cebec in sched_yield () from /lib/i686/cmov/libc.so.6
#2  0x0806673e in gdm_slave_send (str=0x98fe9b0 "QUERYLOGIN 22635 kurt", wait_for_ack=1) at slave.c:2982
#3  0x08066c2b in gdm_slave_send_string (opcode=0x80994b4 "QUERYLOGIN", str=0x98fe5c0 "kurt") at slave.c:3096
#4  0x08061e57 in gdm_slave_check_user_wants_to_log_in (user=0x98fe5c0 "kurt") at slave.c:1293
#5  0x0807c120 in gdm_verify_user (d=0x98f0a28, username=0x0, allow_retry=1) at verify-pam.c:1094
#6  0x080639f1 in gdm_slave_wait_for_login () at slave.c:2127
#7  0x08062918 in gdm_slave_run (display=0x98f0a28) at slave.c:1650
#8  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#9  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#10 0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#11 0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76db1d3 in write () from /lib/i686/cmov/libc.so.6
#2  0x080723ce in gdm_fdprintf (fd=5, format=0x809a4a5 "\n%s\n") at misc.c:198
#3  0x080666fe in gdm_slave_send (str=0x98fed68 "LOGGED_IN 22635 1", wait_for_ack=1) at slave.c:2973
#4  0x08066ae6 in gdm_slave_send_num (opcode=0x8099747 "LOGGED_IN", num=1) at slave.c:3069
#5  0x08062938 in gdm_slave_run (display=0x98f0a28) at slave.c:1653
#6  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#7  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#8  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#9  0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76e372d in select () from /lib/i686/cmov/libc.so.6
#2  0x0806698e in gdm_slave_send (str=0x98fcf60 "LOGIN 22635 kurt", wait_for_ack=1) at slave.c:3032
#3  0x08066c2b in gdm_slave_send_string (opcode=0x8099751 "LOGIN", str=0x98fe5c0 "kurt") at slave.c:3096
#4  0x08062997 in gdm_slave_run (display=0x98f0a28) at slave.c:1664
#5  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#6  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#7  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#8  0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776
i(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76cebec in sched_yield () from /lib/i686/cmov/libc.so.6
#2  0x0806673e in gdm_slave_send (str=0x98fed68 "GREETPID 22635 0", wait_for_ack=1) at slave.c:2982
#3  0x08066ae6 in gdm_slave_send_num (opcode=0x80992a4 "GREETPID", num=0) at slave.c:3069
#4  0x08061af8 in gdm_slave_whack_greeter () at slave.c:1170
#5  0x0806abbf in gdm_slave_session_start () at slave.c:4680
#6  0x0806299c in gdm_slave_run (display=0x98f0a28) at slave.c:1665
#7  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#8  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#9  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#10 0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776
(gdb)
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76db1d3 in write () from /lib/i686/cmov/libc.so.6
#2  0x080723ce in gdm_fdprintf (fd=5, format=0x809a4a5 "\n%s\n") at misc.c:198
#3  0x080666fe in gdm_slave_send (str=0x99018f0 "WRITE_X_SERVERS 22635 0", wait_for_ack=1) at slave.c:2973
#4  0x08066ae6 in gdm_slave_send_num (opcode=0x809bb53 "WRITE_X_SERVERS", num=0) at slave.c:3069
#5  0x0806afce in gdm_slave_session_start () at slave.c:4769
#6  0x0806299c in gdm_slave_run (display=0x98f0a28) at slave.c:1665
#7  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#8  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#9  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#10 0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776

(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7ef6424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7ef6424 in __kernel_vsyscall ()
#1  0xb76db1d3 in write () from /lib/i686/cmov/libc.so.6
#2  0x080723ce in gdm_fdprintf (fd=5, format=0x809a4a5 "\n%s\n") at misc.c:198
#3  0x080666fe in gdm_slave_send (str=0x98fcf50 "SESSPID 22635 22661", wait_for_ack=1) at slave.c:2973
#4  0x08066ae6 in gdm_slave_send_num (opcode=0x809bb97 "SESSPID", num=22661) at slave.c:3069
#5  0x0806b579 in gdm_slave_session_start () at slave.c:4904
#6  0x0806299c in gdm_slave_run (display=0x98f0a28) at slave.c:1665
#7  0x08061592 in gdm_slave_start (display=0x98f0a28) at slave.c:932
#8  0x0805ecd3 in gdm_display_manage (d=0x98f0a28) at display.c:414
#9  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#10 0x08053049 in main (argc=1, argv=0xbff12554) at gdm.c:1776


Then I restarted the PC and got:
Program received signal SIGUSR2, User defined signal 2.
[Switching to Thread 0xb74caaa0 (LWP 2756)]
0xb7f73424 in __kernel_vsyscall ()
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7f73424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7f73424 in __kernel_vsyscall ()
#1  0xb774bbec in sched_yield () from /lib/i686/cmov/libc.so.6
#2  0x0806673e in gdm_slave_send (str=0x84ffb98 "LOGGED_IN 2756 1", wait_for_ack=1) at slave.c:2982
#3  0x08066ae6 in gdm_slave_send_num (opcode=0x8099747 "LOGGED_IN", num=1) at slave.c:3069
#4  0x08062938 in gdm_slave_run (display=0x84f1fd8) at slave.c:1653
#5  0x08061592 in gdm_slave_start (display=0x84f1fd8) at slave.c:932
#6  0x0805ecd3 in gdm_display_manage (d=0x84f1fd8) at display.c:414
#7  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#8  0x08053049 in main (argc=1, argv=0xbf88d6b4) at gdm.c:1776
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7f73424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7f73424 in __kernel_vsyscall ()
#1  0xb774bbec in sched_yield () from /lib/i686/cmov/libc.so.6
#2  0x0806673e in gdm_slave_send (str=0x84ffb98 "LOGIN 2756 kurt", wait_for_ack=1) at slave.c:2982
#3  0x08066c2b in gdm_slave_send_string (opcode=0x8099751 "LOGIN", str=0x84fca20 "kurt") at slave.c:3096
#4  0x08062997 in gdm_slave_run (display=0x84f1fd8) at slave.c:1664
#5  0x08061592 in gdm_slave_start (display=0x84f1fd8) at slave.c:932
#6  0x0805ecd3 in gdm_display_manage (d=0x84f1fd8) at display.c:414
#7  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#8  0x08053049 in main (argc=1, argv=0xbf88d6b4) at gdm.c:1776
(gdb) c
Continuing.

Program received signal SIGUSR2, User defined signal 2.
0xb7f73424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7f73424 in __kernel_vsyscall ()
#1  0xb774bbec in sched_yield () from /lib/i686/cmov/libc.so.6
#2  0x0806673e in gdm_slave_send (str=0x84fef60 "GREETPID 2756 0", wait_for_ack=1) at slave.c:2982
#3  0x08066ae6 in gdm_slave_send_num (opcode=0x80992a4 "GREETPID", num=0) at slave.c:3069
#4  0x08061af8 in gdm_slave_whack_greeter () at slave.c:1170
#5  0x0806abbf in gdm_slave_session_start () at slave.c:4680
#6  0x0806299c in gdm_slave_run (display=0x84f1fd8) at slave.c:1665
#7  0x08061592 in gdm_slave_start (display=0x84f1fd8) at slave.c:932
#8  0x0805ecd3 in gdm_display_manage (d=0x84f1fd8) at display.c:414
#9  0x08050146 in gdm_start_first_unborn_local (delay=0) at gdm.c:266
#10 0x08053049 in main (argc=1, argv=0xbf88d6b4) at gdm.c:1776
(gdb) c
Continuing.

Program received signal SIGABRT, Aborted.
0xb7f73424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7f73424 in __kernel_vsyscall ()
#1  0xb76bbef5 in raise () from /lib/i686/cmov/libc.so.6
#2  0xb76bd871 in abort () from /lib/i686/cmov/libc.so.6
#3  0xb78372c2 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x0000000a in ?? ()
#5  0xb77db580 in ?? () from /lib/i686/cmov/libc.so.6
#6  0xbf88cc24 in ?? ()
#7  0x00000ac4 in ?? ()
#8  0xb76f37fa in vasprintf () from /lib/i686/cmov/libc.so.6
#9  0xb7837419 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb785d9ca in ?? () from /usr/lib/libglib-2.0.so.0
#11 0xb785d9b3 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x08502f08 in ?? ()
#13 0x08502f6c in ?? ()
#14 0x084f14c0 in ?? ()
#15 0x00000001 in ?? ()
#16 0x084f1400 in ?? ()
#17 0xb7893248 in ?? () from /usr/lib/libglib-2.0.so.0
#18 0x085020d0 in ?? ()
#19 0x084f14c0 in ?? ()
#20 0xbf88cca8 in ?? ()
#21 0xb7837637 in ?? () from /usr/lib/libglib-2.0.so.0
#22 0xbf88cc94 in ?? ()
#23 0x08500c00 in ?? ()
#24 0x08501e40 in ?? ()
#25 0x08500b60 in ?? ()
#26 0x084f1860 in ?? ()
#27 0x08500ab0 in ?? ()
#28 0x08500ab0 in ?? ()
#29 0x00000033 in ?? ()
#30 0x00000001 in ?? ()
#31 0xc576d1e5 in ?? ()
#32 0x08502a10 in ?? ()
#33 0x00000010 in ?? ()
#34 0x084ccee4 in ?? ()
#35 0x08500c00 in ?? ()
#36 0x08502a10 in ?? ()
#37 0xb7837436 in ?? () from /usr/lib/libglib-2.0.so.0
#38 0x6b206576 in ?? ()
#39 0x48222ab4 in ?? ()
#40 0x000ad18b in ?? ()
#41 0xb7893248 in ?? () from /usr/lib/libglib-2.0.so.0
#42 0x084cd8e8 in ?? ()
#43 0x00000001 in ?? ()
#44 0xbf88ccb8 in ?? ()
#45 0xb7837785 in ?? () from /usr/lib/libglib-2.0.so.0
#46 0x000000a0 in ?? ()
#47 0x084cd0e4 in ?? ()
#48 0xbf88cd08 in ?? ()
#49 0xb78385cc in g_slice_free1 () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Someone can suggest how I can get something more useful out of this?
Where should I add a breakpoint?


Kurt






More information about the pkg-gnome-maintainers mailing list