|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrey Melnikoff 2:5020/400 16 Aug 2005 18:45:23 To : Slava Astashonok Subject : Re: samba уже подзадолбала -------------------------------------------------------------------------------- Slava Astashonok <sla@0n.ru> wrote: SA> Andrey Melnikoff wrote: >> SA> libpthread.so.0 => /lib/libpthread.so.0 (0x2853f000) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ищщи, из кого торчит и пересобирай без >> тредов. Race класический, кто-то внутри себя (скорее всего твой libldap_r) >> захватывает мутекс для обеспечения реентрабильности. Происходит реентер - и >> мы дружно виснем на этом-же мутексе, с заблокированными сигналами, в >> ожидании когда другая нитка его отпустит. Hо поскольку samba не является >> тредовым приложением, основной thread_manager не запужен (а проверок внутри >> lipthread на такой момент нету) - мутекс никогда не будет разлочен, т.к. >> libpthread пытается отдать процессор другой нитке (самой себе). >> По этому у тебя в выводе ps в столбце wchan стоит прочерк - задача крутиться >> внутри libpthread в 10ке инструкций. SA> 1. Что это за реентер такой, откуда он может взяться в нетредовом SA> приложении? И я сильно сомневаюсь в том, что это обработчик какого-то SA> сигнала вызывает функцию из libldap_r. Автор библиотеки занет про то, что она реентрабельна. И может дергать сам себя. SA> 2. Даже если это дидлок, то при чём тут select()? А ты уверен, что gdb не врёт? >>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айди здесь, где задача находилась в момент снятия трейса? SA> 3. Статус зависшего smbd "S" - это и из вывода ps. А почему wchan "-" можно SA> оставить на совести ps'а и забыть. Да вот пример: Всё, что показывается в ps'e как '-' - находиться не в адресном пространстве ядра. SA> sla@sla:~$ sleep 10 & ps -C "sleep 10" l SA> [1] 18124 SA> F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND SA> 4 0 18124 25978 16 0 4148 572 - S pts/9 0:00 sleep 10 SA> В debian'е ps кривой? # 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/ наличиствует? SA> 4. libldap_r не мой а debian'овский, остальной софт тоже несамосборный, и SA> конфигурацию мою нельзя назвать уникальной, однако, такое впечатление, что SA> по граблям хожу я один. Странно. Эти грабли могут проявляться только в спецефических ситауциях. И не факт, что только ты один. Hу повисло у кого-то, он дернул и забыл. PS: Как опять повиснет, возми запусти "starce -p повисшый-pid -s 128 -o trace", с дркгой консоли попинвй это самый повисший-pid сигналами типа HUP, TERM, USR1. Выхлоп от starce (trace) покажи сюды. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6438ef5209be.html, оценка из 5, голосов 10
|