Russian Qt Forum

Qt => Работа с сетью => Тема начата: sergek от Октября 02, 2025, 00:12



Название: Ошибка NetworkManager
Отправлено: sergek от Октября 02, 2025, 00:12
Коллеги,
в сетевом приложении изредка фиксируется предупреждение "Object does not exist at path “/org/freedesktop/NetworkManager/ActiveConnection/xx”.
Обычно это не приводит к каким-либо последствиям, но за последний месяц было три случая, когда приложение теряло подключение и не восстанавливало его даже при переподключении к хосту.

Деталей много, я стараюсь выделить минимум, который бы высветить проблему.
Приложение работает в виде процесса на Ubuntu 22.04, Qt 5.13. Этих приложений на сервере запущено несколько (8 штук). Каждый из них взаимодействует по Modbus TCP со своими устройствами в локальной сети. Конфигурации у всех процессов одинаковые, периферия (устройства, сетевое оборудование и др.) тоже.

Предупреждение "Object does not exist..." возникает одновременно во всех процессах (плюс минус несколько мс, фиксируется журналами процессов). Но сбои в виде потери подключения наблюдался только на одном. Как я раньше упомянул, переподключение к хосту ничего не дает. Перезапуск процесса проблему решает, обмен восстанавливается.

В интернете встречал упоминание, что ошибка связана с багом в NetworkManager (например, QTBUG-114666). К сожалению, моих знаний сетевых служб не хватает. Есть у меня предположение, что проблему можно решить обходным путем очисткой кэша сетевых подключений в NetworkManager после обнаружения остановки обмена. Типа QNetworkAccessManager::clearConnectionCache(), но как это сделать, если обмен идет через QTcpSocket и доступа к NetworkManager нет?
Можете что-нибудь подсказать?


Название: Re: Ошибка NetworkManager
Отправлено: Авварон от Октября 02, 2025, 11:12
беглый гуглеж показывает что это ошибка дбаса связанная с сетевыми коннектами - например пропадает Вики
мб туда покопать мб в системе криво настроено что?


Название: Re: Ошибка NetworkManager
Отправлено: sergek от Октября 02, 2025, 12:13
Да, я это видел, но, поскольку мало разбираюсь в сетевых сервисах, пытаюсь сформулировать вопрос, чтобы обратиться к специалистам.

Дополнительная информация:
- у меня несколько серверов (8 штук), на них есть Ubuntu 22.04 и 20.04, есть две виртуальные машины с 22.04. Это я к тому, что разнообразие настроек linux присутствует));
- на всех, кроме одного сервера, подняты клиенты OpenVPN и доступ к ним идет по vpn. На одном сервере openvpn нет и доступ осуществляется по белому IP;
- ошибки наблюдаются везде, кроме последнего, где нет vpn;
- такие же приложения подняты на полсотне малин с vpn и Raspbian GNU/Linux - ошибок нет.
И вопросы:
- означает ли это, что проблема связана с конфликтом vpn с сетевыми сервисами?
- и куда дальше копать - в настройки VPN или проблема в NetworkManager, который плохо работает с VPN?
- если последнее, то NetworkManager неправильно работает в операционной системе или Qt?