Bug 24421

Summary: Ошибка сегментирования при выполнении sudo
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: pam_mountAssignee: Anton V. Boyarshinov <boyarsh>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: boyarsh, erthad, ldv, rider, sem, shaba, sin
Version: unstable   
Hardware: all   
OS: Linux   

Description Vitaly Lipatov 2010-10-26 00:31:33 MSD
$ sudo su -
Password: 
Ошибка сегментирования

$ sudo -l
User lav may run the following commands on this host:
    (root) ALL

В /etc/sudoers одна строка раскомментирована:
lav ALL=(ALL) ALL
Comment 1 Dmitry V. Levin 2010-10-26 01:10:59 MSD
А в /etc/nsswitch.conf что включено?
Comment 2 Vitaly Lipatov 2010-10-26 22:34:44 MSD
(В ответ на комментарий №1)
> А в /etc/nsswitch.conf что включено?

Специально скопировал из .rpmnew:
# rpm -qf nsswitch.conf 
glibc-core-2.11.2-alt3

[root@lav etc]# rpm -V glibc-core
S.5....T c /etc/localtime
.......T c /etc/nsswitch.conf

Вроде как отличий от пакетного нет.

Я бы поотлаживал, но с sudo это нетривиально.
Comment 3 Anton Farygin 2010-10-27 08:33:28 MSD
странно. У меня на x86_64 всё работает.

sudo настроено точно так-же.
Comment 4 Vitaly Lipatov 2010-10-29 17:28:33 MSD
Я же не говорю, что в sudo прямая бага. Но у меня ещё есть одна машина (32bit) с такими же симптомами. Правда, настраивал тоже я.
Но собственно, кроме установки системы и dist-upgrade до Сизифа я ничего не делаю.
Может быть есть варианты, как это можно поотлаживать? собрать sudo с отладкой, включить создание core-файлов?
Comment 5 Vitaly Lipatov 2010-11-10 23:55:02 MSK
Проблема возникает при подключении pam_mount, который, видимо, теряется, так как при sudo su - происходит логин без пароля пользователя.
Выяснить удалось, запустив под рутом
# sudo su -
предварительно настроив /etc/sudoers.
Comment 6 Dmitry V. Levin 2010-11-11 00:03:33 MSK
(In reply to comment #5)
> Проблема возникает при подключении pam_mount, который, видимо, теряется, так
> как при sudo su - происходит логин без пароля пользователя.

Может быть, это ошибка pam_mount?  Теряться с помощью SIGSEGV у нас не принято.
Comment 7 Vitaly Lipatov 2012-12-20 13:52:41 MSK
Сейчас поймал, что вдруг при выходе из sh, запущенного так:
# sudo sh
происходит следующее (запускал через gdb --args sudo sh):

Program received signal SIGSEGV, Segmentation fault.
__strlen_sse2 () at ../sysdeps/x86_64/strlen.S:31
31		movdqu	(%rdi), %xmm1
(gdb) bt
#0  __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:31
#1  0x00007f36b0d86d5e in setenv (var=0x7f36ad91c036 "PATH", val=0x0, overwrite=1) at ./env.c:352
#2  0x00007f36ad9158fa in pam_sm_close_session () from /lib64/security/pam_mount.so
#3  0x00007f36b0748094 in _pam_dispatch_aux (use_cached_chain=<optimized out>, resumed=<optimized out>, h=0x7f36b0fcad80, flags=32768, 
    pamh=0x7f36b0fb30e0) at pam_dispatch.c:110