LDD показывает 24 "не найденных" библиотеки, а у прогы 692 "-1 ENOENT", видимых в strace - PullRequest
0 голосов
/ 30 марта 2019

SySEng запрашивает мнения программистов об ожидаемом и желаемом результате инициализации программы, в частности о загрузке общих библиотек для программы, для которой у меня нет исходного кода. Весь код доставляется от разработчика через RPM.

  • Подозреваемый прога показывает постоянную буферизацию Revc-Q на двух TCP соединениях. Другой конец TCP-соединения выглядит хорошо. Подозреваемые проги буферируют 1000-10000 байт почти постоянно, редко уходят в ноль. Хост подозрительной проги показывает tcpActiveOpens.0 50 000 с tcpAttemptFails.0 на 47 000 с непрерывным приращением обоих. Многие другие возможные проблемы с TCP.

  • При запуске ldd на подозрительной проге возвращается всего 42 библиотеки, 24 из которых "не найдены", остальные 18 разрешаются с помощью DIR и hexaddr.

  • Поместите обертку strace вокруг подозрительной проги и отметьте множество "-1 ENOENT" в каждой библиотеке, а не только те, которые отмечены как "not found" с ldd. Все библиотеки в итоге найдены и загружены в подозрительные проги mem. У некоторых до успеха 42 целых.

  • Связаться с разработчиком с выводами и были уверены, что когда я запустил ldd, мне нужно было получить их конфигурационный файл среды, который должен запускаться при запуске программы, и задать все пути к библиотекам. Нет комментариев на ENOENT.

Вопросы: Когда вы закончили свой код и выполнили его, вы проверяете с помощью таких инструментов, как ldd? Должен ли ldd всегда возвращать 0, или это «многократно» не всегда является проблемой. А как насчет ENOENTS? Мне кажется, что ошибок должно быть ноль, если код скомпилирован и работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...