|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Slava Astashonok 2:5020/400 16 Aug 2005 19:43:56 To : Andrey Melnikoff Subject : Re: samba уже подзадолбала -------------------------------------------------------------------------------- Andrey Melnikoff wrote: > SA> 1. Что это за реентер такой, откуда он может взяться в нетредовом > SA> приложении? И я сильно сомневаюсь в том, что это обработчик какого-то > SA> сигнала вызывает функцию из libldap_r. > Автор библиотеки занет про то, что она реентрабельна. И может дергать сам > себя. Автор библиотеки специально обвязал её мутекс-обёртками чтобы добиться нереентрантности? ;) Кстати, суфикс "_r" в названии библиотеки традиционно означает её реентрантность. > SA> 2. Даже если это дидлок, то при чём тут select()? > А ты уверен, что gdb не врёт? Скажем так, у меня нет оснований ему не верить. Тем более, что по я диагонали ознакомился с текстом nss-ldap и libldap и по логике мельтешений select() -> процесс -> select() там быть не должно. >>>EIP; c012073d <release_task+1fd/230> <===== > > > Trace; c012073d <release_task+1fd/230> > Trace; c0106582 <sys_rt_sigsuspend+122/160> > Trace; c0107717 <system_call+33/38> > Proc; sendmail > > Hайди здесь, где задача находилась в момент снятия трейса? Блин, так есть там дидлок или нет? Какой может быть трейс у дидлоченного процесса? > # sleep 10 & ps -C "sleep 10" l > [1] 1163 > F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND > 0 0 1163 741 14 0 3376 568 nanosl S pts/4 0:00 sleep 10 > > У тебя System.map в /boot/ наличиствует? Разумеется. Кое-где wchan в выводе ps присутствует, но не везде: 5 1001 32175 32173 15 0 6160 1988 - S ? 0:00 sshd: sla@ 0 1001 32176 32175 16 0 3200 2016 wait4 Ss pts/1 0:01 -bash 0 1001 32195 32176 16 0 2536 912 pause S+ pts/1 0:00 screen -rd > PS: Как опять повиснет, возми запусти "starce -p повисшый-pid -s 128 -o > trace", с дркгой консоли попинвй это самый повисший-pid сигналами типа HUP, > TERM, USR1. Выхлоп от starce (trace) покажи сюды. Если он будет. Сомневаюсь, что smbd удасться вышибить из этого select() сигналом, так как тот же SIGTERM ни в nss-ldap ни в libldap не блокируется и альтернативный обработчик на него не ставится, как и в самом smbd, однако же в какой-то момент он перестаёт регировать на этот сигнал. Вот оборвать соединение с ldap-сервером можно попробовать. -- As far as we know, our computer has never had an undetected error. -- Weisert --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/65774306c52a.html, оценка из 5, голосов 10
|