[Comm] Не открывается порт
Vladimir Karpinsky
vkarpinsky на mail.ru
Сб Фев 4 13:48:26 MSK 2012
04.02.2012 11:58, Dmitry Chistikov пишет:
> Vladimir Karpinsky, Feb. 04, 2012, 09:35 +0400:
>> 04.02.2012 9:23, Vladimir Karpinsky пишет:
>>> Вопрос в такой формулировке снят, оказалось, что программа просто падает,
>>> похоже, что при первом же обращении...
>>
>> Ищу причины падения
>
> Падает = сегфолтится? А журнала она не ведет?
Ведёт, но там про это ничего нет. Появляется строка, что клиент запросил
данные, и падение.
В выводе strace достаточно много раз присутствует такого вида строки:
13841 access(0xfffffffff77cf6fa, R_OK) = -1 ENOENT (No such file or directory)
...
13841 stat64(0xffffffffffa882e3, 0xffffffffffa871b4) = -1 ENOENT (No such
file or directory)
13841 socket(PF_UNSPEC, 0, 0) = 4
13841 connect(0, NULL, 0) = -1 ENOENT (No such file or directory)
Можно ли как-то вычислить о каком "such file or directory" идёт речь?
Есть ещё такие:
13842 stat64("/usr/nrts/vyb/meta", 0xffffffffffa89144) = -1 ENOENT (No such
file or directory)
Файла meta не существует и не должно быть. В работающей программе под ядром
2.4 так:
23326 stat64("/usr/nrts/vyb/meta", <unfinished ...>
23328 <... rt_sigaction resumed> NULL, 8) = 0
23326 <... stat64 resumed> 0xbffff374) = -1 ENOENT (No such file or directory)
23328 rt_sigaction(SIGRT_15, {0x1778f0, ~[], SA_RESTORER, 0x1e5958},
<unfinished ...>
То же про отсутствие файлов есть, но не так.
Кончается всё сегфлотом:
13907 --- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} (Segmentation
fault) ---
13908 <... send resumed> ) = 16
13909 +++ killed by SIGSEGV +++
13908 +++ killed by SIGSEGV +++
13907 +++ killed by SIGSEGV +++
13843 +++ killed by SIGSEGV +++
13842 +++ killed by SIGSEGV +++
--
С уважением,
Владимир.
>> # ldd isid
>> linux-gate.so.1 => (0xf7715000)
>>
>> Это кто такой? Хотя такое же присутствует и в успешно работающих программах.
>
> Just Google it!
Примерно понял, я надеялся, что просто чего-то не хватает...
Собственно главный вопрос --- не изменились ли какие-нибудь правила (при
переходах: веток 4 -> p6, ядер 2.* -> 3.*, и архитектуры i586 -> x86_64) в
смысле прав на открытие портов и т.п. Если всё должно работать по-прежнему,
то надо разбираться с разработчиками, но этот процесс увы не так прост...
--
С уважением,
Владимир.
Подробная информация о списке рассылки community