After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 532176 - gdm[<pid>]: WARNING: main daemon: Got SIGABRT. Something went very wrong. Going down! & Slow shutdown
gdm[<pid>]: WARNING: main daemon: Got SIGABRT. Something went very wrong. Goi...
Status: RESOLVED DUPLICATE of bug 517526
Product: gdm
Classification: Core
Component: general
2.20.x
Other All
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-08 14:36 UTC by idyllic
Modified: 2008-05-09 21:29 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description idyllic 2008-05-08 14:36:11 UTC
Please describe the problem:
Ubuntu Hardy 8.04 with all the updates.
Kernel: tested with 2.6.24-17.31-generic as well as 2.6.24-16.30-generic

Symptom: Whenever I want to stop gdm or just shutdown my machine, I have to wait for 30 seconds before it retried and proceed to shutdown procedure. [Normally, it takes less than 10-15 seconds for the machine to shutdown completely]

I caught an error in /var/log/syslog:

May 8 19:09:04 Ephemeral-Dream gdm[30604]: WARNING: main daemon: Got SIGABRT. Something went very wrong. Going down!

I have attached a system call strace.

Steps to reproduce:
1. Shutdown the machine
2. tty1, sudo /etc/init.d/gdm stop/restart
3. 


Actual results:
<Time> <Machine Name> gdm[<pid>] : WARNING: main daemon: Got SIGABRT. Something went very wrong. Going down!

30 seconds waiting till it is retry.

Expected results:
Normal termination/fully shutdown takes only around 15 seconds

Does this happen every time?
Yes

Other information:
System call Strace log:
----------------------

execve("/etc/init.d/gdm", ["/etc/init.d/gdm", "stop"], [/* 14 vars */]) = 0
brk(0)                                  = 0x805e000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd9000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=52573, ...}) = 0
mmap2(NULL, 52573, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fcc000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1364388, ...}) = 0
mmap2(NULL, 1369712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e7d000
mmap2(0xb7fc6000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149) = 0xb7fc6000
mmap2(0xb7fc9000, 9840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fc9000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e7c000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e7c6b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7fc6000, 4096, PROT_READ)   = 0
munmap(0xb7fcc000, 52573)               = 0
getpid()                                = 30524
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
geteuid32()                             = 0
brk(0)                                  = 0x805e000
brk(0x807f000)                          = 0x807f000
getppid()                               = 30523
getcwd("/home/hoa", 4096)               = 10
open("/etc/init.d/gdm", O_RDONLY)       = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {0x8055a30, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, NULL, 8) = 0
read(10, "#! /bin/sh\n#\n# Originally based "..., 8192) = 3134
stat64("/var/run/gdm.upgrade", 0xbfcf31f8) = -1 ENOENT (No such file or directory)
stat64("/etc/gdm/gdm-cdd.conf", 0xbfcf31f8) = -1 ENOENT (No such file or directory)
stat64("/usr/sbin/gdm", {st_mode=S_IFREG|0755, st_size=311244, ...}) = 0
geteuid32()                             = 0
stat64("/etc/default/locale", {st_mode=S_IFREG|0644, st_size=19, ...}) = 0
geteuid32()                             = 0
open("/etc/default/locale", O_RDONLY)   = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "LANG=\"en_SG.UTF-8\"\n", 8192) = 19
read(11, "", 8192)                      = 0
close(11)                               = 0
open("/lib/lsb/init-functions", O_RDONLY) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "# /lib/lsb/init-functions for De"..., 8192) = 8192
read(11, "       if log_use_fancy_output; "..., 8192) = 300
stat64("/etc/lsb-base-logging.sh", {st_mode=S_IFREG|0644, st_size=3820, ...}) = 0
open("/etc/lsb-base-logging.sh", O_RDONLY) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "# Default init script logging fu"..., 8192) = 3820
read(12, "", 8192)                      = 0
close(12)                               = 0
read(11, "", 8192)                      = 0
close(11)                               = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
stat64("/sbin/usplash_write", {st_mode=S_IFREG|0755, st_size=3700, ...}) = 0
write(1, "usplash_write is /sbin/usplash_w"..., 37) = 37
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30525
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30525
--- SIGCHLD (Child exited) @ 0 (0) ---
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30526
close(4)                                = 0
read(3, "/dev/tty1\n", 128)             = 10
read(3, "", 128)                        = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30526
stat64("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=9428, ...}) = 0
geteuid32()                             = 0
stat64("/usr/bin/expr", {st_mode=S_IFREG|0755, st_size=33012, ...}) = 0
geteuid32()                             = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30527
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30527
--- SIGCHLD (Child exited) @ 0 (0) ---
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30528
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30528
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30529
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30529
--- SIGCHLD (Child exited) @ 0 (0) ---
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30530
--- SIGCHLD (Child exited) @ 0 (0) ---
close(4)                                = 0
read(3, "80\n", 128)                    = 3
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30530
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30531
--- SIGCHLD (Child exited) @ 0 (0) ---
close(4)                                = 0
read(3, "73\n", 128)                    = 3
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30531
write(1, " * Stopping GNOME Display Manage"..., 43) = 43
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30532
close(4)                                = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
read(3, "79\n", 128)                    = 3
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30532
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30533
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30533
write(1, " ", 1)                        = 1
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
stat64("/sbin/start-stop-daemon", {st_mode=S_IFREG|0755, st_size=18948, ...}) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30534
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30534
--- SIGCHLD (Child exited) @ 0 (0) ---
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_DUPFD, 10)                 = 11
close(1)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
dup2(3, 1)                              = 1
close(3)                                = 0
fcntl64(2, F_DUPFD, 10)                 = 12
close(2)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
dup2(1, 2)                              = 2
write(1, "usplash_write is a tracked alias"..., 57) = 57
dup2(11, 1)                             = 1
close(11)                               = 0
dup2(12, 2)                             = 2
close(12)                               = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30557
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30557
--- SIGCHLD (Child exited) @ 0 (0) ---
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30558
--- SIGCHLD (Child exited) @ 0 (0) ---
close(4)                                = 0
read(3, "/dev/tty1\n", 128)             = 10
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30558
stat64("/usr/bin/tput", {st_mode=S_IFREG|0755, st_size=9428, ...}) = 0
geteuid32()                             = 0
write(1, "\r", 1)                       = 1
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e7c6f8) = 30559
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 30559
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, "[ OK ]\n", 7)                 = 7
exit_group(0)                           = ?
Process 30524 detached
Comment 1 Brian Cameron 2008-05-09 16:49:01 UTC
I suspect this is a duplicate of bug #517526.  Could you test to see if the patch provided in that bug report helps?  

*** This bug has been marked as a duplicate of 517526 ***
Comment 2 idyllic 2008-05-09 19:17:15 UTC
Hi, pardon me, but may you tell me how to patch the file. I am quite new to Linux especially patching stuff.

Thank you very much.
Comment 3 Brian Cameron 2008-05-09 21:29:50 UTC
I'd apply the patch in comment #26 and #37.

To apply each patch cd into the gdm/daemon directory and run this command

patch -p0 < (patch name)

Then run autogen.sh from the top-level directory, then "make" then "make install".

Brian