Здравствуйте. Надеюсь на совет.
Есть kubuntu 10.04, пользователи авторизуются через LDAP. Thunderbird сегфолтится при запуске от польозвателя, авторизовавшего через LDAP, но нормально запускается от имени локально-созданного пользователя. Список LDAP-групп особо не отличается от локальных:
uid=1068(ornix) gid=100(users) группы=6(disk),24(cdrom),25(floppy),29(audio),44(video),100(users),107(messagebus),10000(kwadmin). Откуда thunderbird знает, что это лдап-юзер и чем он ему не нравится - не пойму (firefox, например, работает нормально). Прикладываю вывод команды "strace thunderbird". Заранее спасибо.

Выделить код

Код:

$ strace thunderbird
execve("/usr/bin/thunderbird", ["thunderbird"], [/* 18 vars */]) = 0
brk(0)                                  = 0x8511000
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) = 0xb781c000
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=59640, ...}) = 0
mmap2(NULL, 59640, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb780d000
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\0000m\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1405508, ...}) = 0
mmap2(NULL, 1415592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x47e000
mprotect(0x5d1000, 4096, PROT_NONE)     = 0
mmap2(0x5d2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x153) = 0x5d2000
mmap2(0x5d5000, 10664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x5d5000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb780c000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb780c8d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0x5d2000, 8192, PROT_READ)     = 0
mprotect(0x805c000, 4096, PROT_READ)    = 0
mprotect(0x784000, 4096, PROT_READ)     = 0
munmap(0xb780d000, 59640)               = 0
getpid()                                = 4279
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
geteuid32()                             = 1068
brk(0)                                  = 0x8511000
brk(0x8532000)                          = 0x8532000
getppid()                               = 4278
stat64("/home/ornix", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/bin/thunderbird", 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, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x804f636, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
read(10, "#!/bin/sh\n\n# Firefox launcher co"..., 8192) = 3651
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb780c938) = 4280
close(4)                                = 0
read(3, "/usr/bin/thunderbird\n", 128)  = 21
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4280
--- SIGCHLD (Child exited) @ 0 (0) ---
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb780c938) = 4281
close(4)                                = 0
read(3, "thunderbird\n", 128)           = 12
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4281
--- SIGCHLD (Child exited) @ 0 (0) ---
stat64("/usr/lib/thunderbird-3.1.7/thunderbird", {st_mode=S_IFREG|0755, st_size=3941, ...}) = 0
stat64("/home/ornix/.mozilla-thunderbird", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat64("/home/ornix/.mozilla-thunderbird", {st_mode=S_IFLNK|0777, st_size=24, ...}) = 0
stat64("/home/ornix/.thunderbird", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat64("/home/ornix/.mozilla-thunderbird", {st_mode=S_IFLNK|0777, st_size=24, ...}) = 0
stat64("/home/ornix/.mozilla-thunderbird", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
execve("/usr/lib/thunderbird-3.1.7/thunderbird", ["/usr/lib/thunderbird-3.1.7/thund"...], [/* 20 vars */]) = 0
brk(0)                                  = 0x89f0000
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) = 0xb7875000
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=59640, ...}) = 0
mmap2(NULL, 59640, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7866000
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\0000m\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1405508, ...}) = 0
mmap2(NULL, 1415592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xa82000
mprotect(0xbd5000, 4096, PROT_NONE)     = 0
mmap2(0xbd6000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x153) = 0xbd6000
mmap2(0xbd9000, 10664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xbd9000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7865000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb78658d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xbd6000, 8192, PROT_READ)     = 0
mprotect(0x805c000, 4096, PROT_READ)    = 0
mprotect(0xa2c000, 4096, PROT_READ)     = 0
munmap(0xb7866000, 59640)               = 0
getpid()                                = 4279
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
geteuid32()                             = 1068
brk(0)                                  = 0x89f0000
brk(0x8a11000)                          = 0x8a11000
getppid()                               = 4278
stat64("/home/ornix", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/thunderbird-3.1.7/thunderbird", 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, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x804f636, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
read(10, "#!/bin/sh\n#\n# ***** BEGIN LICENS"..., 8192) = 3941
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7865938) = 4282
close(4)                                = 0
read(3, "/usr/lib/thunderbird-3.1.7\n", 128) = 27
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4282
--- SIGCHLD (Child exited) @ 0 (0) ---
pipe([3, 4])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7865938) = 4283
close(4)                                = 0
read(3, "thunderbird\n", 128)           = 12
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4283
--- SIGCHLD (Child exited) @ 0 (0) ---
stat64("/usr/lib/thunderbird-3.1.7/run-mozilla.sh", {st_mode=S_IFREG|0755, st_size=10461, ...}) = 0
geteuid32()                             = 1068
getgid32()                              = 100
getegid32()                             = 100
getgroups32(0, NULL)                    = 8
getgroups32(8, [6, 24, 25, 29, 44, 100, 107, 10000]) = 8
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7865938) = 4284
wait4(-1, Segmentation fault
[{WIFEXITED(s) && WEXITSTATUS(s) == 139}], 0, NULL) = 4284
--- SIGCHLD (Child exited) @ 0 (0) ---
exit_group(139)                         = ?

Возможно Bug 292127 - Thunderbird startup crash on *IX systems that have PAM set up to get account info from LDAP?
Если оно, то там в комментариях есть пара путей обхода проблемы.

banbot, да, похоже это оно. Workaround с выпиливанием libldap60.so и линкованием с системной либой помог, спасибо. Странно, буг тянется аж с 2005го года. Причем в opensuse всегда работало нормально, словил эту проблему только на убунте. Починили бы прямым путём...