Bug 1010 - statically linked programs crash when ldap is used in nsswitch
: statically linked programs crash when ldap is used in nsswitch
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/nss_ldap)
: unstable
: all Linux
: P4 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2002-06-17 12:45 by
Modified: 2005-08-31 01:35 (History)


Attachments
0001010-getpwuid.c (deleted)
2002-06-18 14:16, den
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2002-06-17 12:45:47
rpm падает независимо от параметров когда в /etc/nsswitch.conf
passwd:     ldap files nisplus nis
shadow:     ldap tcb files nisplus nis
group:      ldap files nisplus nis

сам ldap при этом работает, и другие программы использующие его (ls, например)
работают правильно
система - Master 2.0
---

---
------- Comment #1 From 2002-06-17 12:48:18 -------
Присоединяюсь. Ошибка тянется уже почти год. Повторяется 100%.
------- Comment #2 From 2002-06-17 12:48:18 -------
Присоединяюсь. Ошибка тянется уже почти год. Повторяется 100%.
------- Comment #3 From 2002-06-17 20:22:39 -------
В качестве workaround могу посоветовать запустить nscd.
Падения пропадают.

(А ошибка есть. Подтверждаю :))
------- Comment #4 From 2002-06-17 20:22:39 -------
В качестве workaround могу посоветовать запустить nscd.
Падения пропадают.

(А ошибка есть. Подтверждаю :))
------- Comment #5 From 2002-06-17 21:07:54 -------
Будьте добры backtrace.
По той информации, которая приведена, вообще ничего сказать нельзя.
------- Comment #6 From 2002-06-17 21:07:54 -------
Будьте добры backtrace.
По той информации, которая приведена, вообще ничего сказать нельзя.
------- Comment #7 From 2002-06-18 11:49:57 -------
пересобрал nss_ldap с --enable-debugging
вот что получается:

Starting program: /bin/rpm 
[New Thread 1024 (LWP 19814)]
nss_ldap: ==> _nss_ldap_enter
nss_ldap: <== _nss_ldap_leave
nss_ldap: ==> _nss_ldap_getbyname
nss_ldap: ==> _nss_ldap_search_s
nss_ldap: ==> do_open
nss_ldap: ==> do_close_no_unbind
nss_ldap: <== do_close_no_unbind (connection was not open)
nss_ldap: ==> ldap_initialize

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 19814)]
0x2adec64a in ?? ()
(gdb) bt
#0  0x2adec64a in ?? ()
#1  0x2aded020 in ?? ()
#2  0x2acdaa8f in ?? ()
#3  0x2adf1b83 in ?? ()
#4  0x2acdaf6e in ?? ()
#5  0x2acdbcc1 in ?? ()
#6  0x2adf1b83 in ?? ()
#7  0x2acdbc70 in ?? ()
#8  0x2acdbd66 in ?? ()
#9  0x2acbe5cf in ?? ()
#10 0x2acbded6 in ?? ()
#11 0x2acbfd5c in ?? ()
#12 0x2acc17be in ?? ()
#13 0x2aaf3857 in ?? ()
#14 0x2aaf3a17 in ?? ()
#15 0x2aaf2ba2 in ?? ()
#16 0x2aae1401 in ?? ()
#17 0x2aae1599 in ?? ()
#18 0x2aac6cdc in ?? ()
#19 0x2aac8189 in ?? ()
#20 0x2aac85d4 in ?? ()
#21 0x2aac9331 in ?? ()
#22 0x0815b7d9 in getpwuid_r ()
#23 0x0815b341 in getpwuid ()
#24 0x0806f6b5 in rpmSetDefaults () at rpmrc.c:497
#25 0x08071701 in rpmReadRC (rcfiles=0x0) at rpmrc.c:1594
#26 0x08071a7e in rpmReadConfigFiles (file=0x0, target=0x0) at rpmrc.c:1681
#27 0x0804854d in main (argc=1, argv=0x7ffff974) at rpmqv.c:401
#28 0x0812aaf0 in __libc_start_main ()
------- Comment #8 From 2002-06-18 11:49:57 -------
пересобрал nss_ldap с --enable-debugging
вот что получается:

Starting program: /bin/rpm 
[New Thread 1024 (LWP 19814)]
nss_ldap: ==> _nss_ldap_enter
nss_ldap: <== _nss_ldap_leave
nss_ldap: ==> _nss_ldap_getbyname
nss_ldap: ==> _nss_ldap_search_s
nss_ldap: ==> do_open
nss_ldap: ==> do_close_no_unbind
nss_ldap: <== do_close_no_unbind (connection was not open)
nss_ldap: ==> ldap_initialize

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 19814)]
0x2adec64a in ?? ()
(gdb) bt
#0  0x2adec64a in ?? ()
#1  0x2aded020 in ?? ()
#2  0x2acdaa8f in ?? ()
#3  0x2adf1b83 in ?? ()
#4  0x2acdaf6e in ?? ()
#5  0x2acdbcc1 in ?? ()
#6  0x2adf1b83 in ?? ()
#7  0x2acdbc70 in ?? ()
#8  0x2acdbd66 in ?? ()
#9  0x2acbe5cf in ?? ()
#10 0x2acbded6 in ?? ()
#11 0x2acbfd5c in ?? ()
#12 0x2acc17be in ?? ()
#13 0x2aaf3857 in ?? ()
#14 0x2aaf3a17 in ?? ()
#15 0x2aaf2ba2 in ?? ()
#16 0x2aae1401 in ?? ()
#17 0x2aae1599 in ?? ()
#18 0x2aac6cdc in ?? ()
#19 0x2aac8189 in ?? ()
#20 0x2aac85d4 in ?? ()
#21 0x2aac9331 in ?? ()
#22 0x0815b7d9 in getpwuid_r ()
#23 0x0815b341 in getpwuid ()
#24 0x0806f6b5 in rpmSetDefaults () at rpmrc.c:497
#25 0x08071701 in rpmReadRC (rcfiles=0x0) at rpmrc.c:1594
#26 0x08071a7e in rpmReadConfigFiles (file=0x0, target=0x0) at rpmrc.c:1681
#27 0x0804854d in main (argc=1, argv=0x7ffff974) at rpmqv.c:401
#28 0x0812aaf0 in __libc_start_main ()
------- Comment #9 From 2002-06-18 13:51:29 -------
It looks like nss_ldap problem...
------- Comment #10 From 2002-06-18 13:51:29 -------
It looks like nss_ldap problem...
------- Comment #11 From 2002-06-18 13:57:47 -------
не исключено, конечно.. но ведь ВСЁ остальное как-то работает.. может ему
все-таки какие-то параметры неправильно передаются?
------- Comment #12 From 2002-06-18 13:57:47 -------
не исключено, конечно.. но ведь ВСЁ остальное как-то работает.. может ему
все-таки какие-то параметры неправильно передаются?
------- Comment #13 From 2002-06-18 14:18:52 -------
Какие еще аргументы - судя по backtrace\'у, там ведь простой вызов getpwuid ().
Единственное отличие /bin/rpm от большинства других программ - он statically
linked.

Попробуйте собрать (attached) тестовый файл getpwuid.c:
gcc getpwuid.c -o getpwuid -static
И проверить, работает ли в той же конфигурации, когда не работает rpm.
------- Comment #14 From 2002-06-18 14:18:52 -------
Какие еще аргументы - судя по backtrace\'у, там ведь простой вызов getpwuid ().
Единственное отличие /bin/rpm от большинства других программ - он statically
linked.

Попробуйте собрать (attached) тестовый файл getpwuid.c:
gcc getpwuid.c -o getpwuid -static
И проверить, работает ли в той же конфигурации, когда не работает rpm.
------- Comment #15 From 2002-06-18 14:28:02 -------
мало ли какие аргументы, environment, например.. вам виднее :)
аттач забыли прицепить
------- Comment #16 From 2002-06-18 14:28:02 -------
мало ли какие аргументы, environment, например.. вам виднее :)
аттач забыли прицепить
------- Comment #17 From 2002-06-18 15:34:29 -------
тест тоже падает
------- Comment #18 From 2002-06-18 15:34:29 -------
тест тоже падает
------- Comment #19 From 2002-06-18 18:50:13 -------
Отлично, значит, rpm тут не причем, и к тому же найден простой тест.
За сим оставляю эту пробему mainainer\'у пакета nss_ldap.
------- Comment #20 From 2002-06-18 18:50:13 -------
Отлично, значит, rpm тут не причем, и к тому же найден простой тест.
За сим оставляю эту пробему mainainer\'у пакета nss_ldap.
------- Comment #21 From 2002-06-24 16:38:39 -------
Сообщите пожалуйста версии пакетов, установленных в системе так как эта ошибка
у меня не возобнивилась
------- Comment #22 From 2002-06-24 16:38:39 -------
Сообщите пожалуйста версии пакетов, установленных в системе так как эта ошибка
у меня не возобнивилась
------- Comment #23 From 2002-06-24 16:53:46 -------
пробовал пакеты (openldap & nss_ldap) из мастера и последние из сизифа, все
одинаково.
------- Comment #24 From 2002-06-24 16:53:46 -------
пробовал пакеты (openldap & nss_ldap) из мастера и последние из сизифа, все
одинаково.
------- Comment #25 From 2002-06-26 17:02:44 -------
список пакето на моей машине:
glibc-nss-2.2.5-alt9
nss_ldap-194-alt1
nss_tcb-0.9.7.1-alt1
nscd-2.2.5-alt9
rpm-4.0.4-alt0.7
rpm-utils-0.4.3-alt1
rpm-build-4.0.4-alt0.7
librpm-4.0.4-alt0.7

результат работы тестовой программы :
# ll
-rwxr-xr-x    1 vserge   vserge     473857 Jun 24 16:35 getpwuid
drwxr-xr-x    2 vserge   vserge        104 Jun 24 16:35 ./
-rw-r--r--    1 vserge   vserge        155 Jun 24 16:34 getpwuid.c
# ./getpwuid 
getpwuid(0) = 0x80a5a20

Соответственно мне возпроизвести не удалось. 
------- Comment #26 From 2002-06-26 17:02:44 -------
список пакето на моей машине:
glibc-nss-2.2.5-alt9
nss_ldap-194-alt1
nss_tcb-0.9.7.1-alt1
nscd-2.2.5-alt9
rpm-4.0.4-alt0.7
rpm-utils-0.4.3-alt1
rpm-build-4.0.4-alt0.7
librpm-4.0.4-alt0.7

результат работы тестовой программы :
# ll
-rwxr-xr-x    1 vserge   vserge     473857 Jun 24 16:35 getpwuid
drwxr-xr-x    2 vserge   vserge        104 Jun 24 16:35 ./
-rw-r--r--    1 vserge   vserge        155 Jun 24 16:34 getpwuid.c
# ./getpwuid 
getpwuid(0) = 0x80a5a20

Соответственно мне возпроизвести не удалось. 
------- Comment #27 From 2002-06-27 15:30:51 -------
nss_ldap тот же, glibc-2.2.5-alt8, openldap-2.0.25-alt1
повторяемость 100%, но только при выключенном nscd, может он у вас запущен?
------- Comment #28 From 2002-06-27 15:30:51 -------
nss_ldap тот же, glibc-2.2.5-alt8, openldap-2.0.25-alt1
повторяемость 100%, но только при выключенном nscd, может он у вас запущен?
------- Comment #29 From 2002-07-11 14:58:30 -------
Не удалось возпроизвести.
------- Comment #30 From 2002-07-11 14:58:30 -------
Не удалось возпроизвести.
------- Comment #31 From 2002-11-05 08:53:08 -------
Удалось получит необходимую тестовую ситуацию!!!

Даже больше удалось создать такую конфигурацию, при которой система не дает
возможности сделать login при этом nscd не запускается !!!
------- Comment #32 From 2002-11-05 08:53:08 -------
Удалось получит необходимую тестовую ситуацию!!!

Даже больше удалось создать такую конфигурацию, при которой система не дает
возможности сделать login при этом nscd не запускается !!!
------- Comment #33 From 2003-01-04 17:30:14 -------
По документации параметр ldap в /etc/nssswitch.conf должен стоять вторым!!!

Проверьте пожалуйста работу системы с новым пакетом nss_ldap-203-alt2
------- Comment #34 From 2003-01-04 17:30:14 -------
По документации параметр ldap в /etc/nssswitch.conf должен стоять вторым!!!

Проверьте пожалуйста работу системы с новым пакетом nss_ldap-203-alt2
------- Comment #35 From 2003-02-03 22:20:14 -------
Внимательно записывайте параметры в nsswitch.conf
------- Comment #36 From 2003-02-03 22:20:14 -------
Внимательно записывайте параметры в nsswitch.conf
------- Comment #37 From 2004-08-03 13:21:35 -------
login,ls,vi,rpm,sudo crashed with

symbol lookup error: /lib/libnss_ldap.so.2: undefined symbol: __db185_open


-------------nsswitch.conf-------
passwd:     ldap files                                                         
              
shadow:     ldap tcb files                                                     
              
group:      ldap files                                                         
              
----------------------------------
nscd -- off
----------------------------------
nss_tcb-0.9.8.8-alt1
nss_ldap-220-alt1
glibc-nss-2.3.3.200406160000-alt1
glibc-nss-debug-2.3.3.200406160000-alt1
------- Comment #38 From 2004-08-03 20:47:57 -------
Problem resolved 
when recompiled libdb4.2 with enabled %def_enable compat185

------- Comment #39 From 2004-08-05 12:06:49 -------
Так у Вас что пакет libdb4.2 собственной сборки или из Сизифа?
Если из Сизифа, тогда имеет смыл отправить вопрос ldv?!