Opened 8 years ago
Last modified 8 years ago
#369 closed баг
При потере соединения SSH не работает "Информация о пользователе" — at Version 9
Reported by: | alx | Owned by: | dimag |
---|---|---|---|
Priority: | major | Milestone: | 1 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | SSH, interface |
Cc: | san |
Description (last modified by )
Как мне стало известно из устной беседы, программой выбрана стратегия всегда держать открытым соединение SSH, которое используется для отображения и редактирования информации о пользователях. Тем не менее, как показала проверка, при закрытии соединения SSH со стороны сервера пульт не устанавливает его заново. Как результат, функции отображения и редактирования информации о пользователе не работают до конца работы программы.
Проверялось в r379.
Сценарий проверки:
- Запускаем программу.
- Входим в сеть.
- Убиваем процесс sshd, обслуживающий установленное программой соединение.
- В программе наводим курсор мыши на пользователя, нажимаем "Дополнительные возможности".
- В появившемся контекстном меню выбираем "Информация о пользователе".
Change History (9)
comment:1 by , 8 years ago
Milestone: | Текущее → 1 очередь |
---|
comment:2 by , 8 years ago
Keywords: | SSH interface added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:3 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
В r391 баг по-прежнему присутствует. Более того, стало хуже: если при отсутствии соединения SSH запросить информацию о пользователе, окно программы просто перестает работать (ничего не перерисовывается). Блокируется GUI поток?
follow-up: 5 comment:4 by , 8 years ago
Да, я обращаюсь к SSH в главном потоке программы.
Но под Windows все работает нормально.
comment:5 by , 8 years ago
Replying to dimag:
Да, я обращаюсь к SSH в главном потоке программы.
Не стали реализовывать #183 - и вот закономерный результат...
Но под Windows все работает нормально.
В каком-то частном случае. А в общем - не обязано. Вот Вы пишете "обращаюсь". Что это значит? Насколько я понимаю, программа отправляет в сеть некий запрос и ожидает какой-то ответ. Так? А что будет, если этот ответ по каким-то причинам не придет? Ожидание затянется на довольно длительный период, и в течение этого времени интерфейс программы будет "мертвый"...
Вывод - надо задумывать правильно (это я опять к тикету #183). :)
comment:6 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
r397
Установил врямя ожидания ответа от SSH сервера равного 1 секунде, то есть теперь главный потом зависнет не более чем на 1 секунду. Пользователь может подождать 1 секунду.
comment:7 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
В r397 воспроизвел проблему. Интерфейс "заморозился" совсем не на 1 секунду, а навсегда (пока не убил процесс). Таким образом, заявленная проблема не устранена.
comment:9 by , 8 years ago
Description: | modified (diff) |
---|
В описание тикета добавил сценарий, воспроизводящий баг.
r391
Неверно обрабатывались ошибки загрузки и разбора загруженного XML-файла, сохранения загруженного XML-файла.