"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
ЕвгенийГуков
Добрый день.

MyChat Client 2023.7.0. Пользователь заметил проблему, которая была еще в версии 2023.3.0 с зависанием сервера: переключает чат на другого пользователя, а сообщения видит еще от предыдущего. Решил перезагрузить программу, и не смог подключиться с сообщением об ошибке:

[ERROR] Ошибка #0224: сетевая ошибка #10060: "Connection timed out"

Я тут же на своём компьютере повторил проблему: вышел/вошел - ошибка. Перезагрузка серверной части временно сняла проблему.
Аватара пользователя
Алексей Пикуров
Добрый день. Поясните пожалуйста, не понял, о чём вы. "переключает чат на другого пользователя, а сообщения видит еще от предыдущего" — как это?
ЕвгенийГуков
Открыт час с пользователем №1. Справа от списка чатов в окне отображается переписка с этим пользователем.
В списке чатов выбираю пользователя №2. А окно переписки не обновилось. Всё еще отображается переписка с пользователем №1.

Такое поведение наблюдается в момент зависания сервера MyChat.
Аватара пользователя
Алексей Пикуров
Логично, сервер не ответил и не разрешил открыть приват с другим пользователем. И часто у вас сервер зависает?
ЕвгенийГуков
После обновления с версии 2023.1.5 до версии 2023.7.0 пока завис первый раз. Время работы примерно 36 часов.
Аватара пользователя
Алексей Пикуров
Надо определить, после какой операции это происходит, чобы исправить проблему.
ЕвгенийГуков
Что вам прислать, что бы определить проблему?
Аватара пользователя
Алексей Пикуров
Ничего не надо присылать. Нужно определить, после чего именно зависает сервер, что к этому приводит.
ЕвгенийГуков
Добрый день.

Перешли на версию 2023.9.0. Проблема с зависанием сервера сохранилась.
Возможно, удалось словить причину зависания сервера. Проверял какие ошибки были исправлены, и запустил с административной консоли скрипт:

Код: Выделить всё
begin
  mCloseAllDialogs(false);
end.


Сервер завис. Бежал прогрессбар выполнения скрипта. Поведение клиентов, как описано выше. Закрыл клиент myChat на своём компьютере. Запустил повторно - не могу подключиться к серверу. Ситуацию решила перезагрузка серверной части.

Думаю, что в этом причина. У меня настроен скрипт на событие
Код: Выделить всё
OnPrivateMessage
. Т.е. кто-то посылает сообщение, и если скриптовый движок подвисает, то вешается весь сервер.
Аватара пользователя
Алексей Пикуров
Сделайте пожалуйста бекап базы данных сервера и перешлите его мне (чатом или любым мессенджером ссылку на Google.Drive). Я попробовал выполнить этот скрипт и никаких проблем нету.
ЕвгенийГуков
Я не могу выслать БД, т.к. информация в базе конфиденциальная.

Проблема не гарантированно повторяется. Конкретно указанный выше скрипт завис 1 раз. При повторном запуске выполнился без проблем. На событии OnPrivateMessage у меня висит совершенно другой скрипт, который в случае если пользователь в offline посылает сообщение ему на e-mail.
Аватара пользователя
Алексей Пикуров
Попробуйте обновить сервер этой технической сборкой (версия 2023.9.2).
Аватара пользователя
Сергей55
У нас сегодня целый день периодически появляется эта ошибка:

[12:32:24] [ERROR] Ошибка #0224: сетевая ошибка #10060: "Connection timed out"
[12:32:24] [WARN] *** Пользователь отключен от сервера

Версия сервера 2024.3.3.5, дата сборки 11.04.2024, запущен как служба. Версия клиентов 2024.3.3

После перезагрузки службы клиенты подключаются и все работает до следующего такого отключения.

Как это исправить без обновления серверной части? До сегодняшнего дня все работало.
Аватара пользователя
Алексей Пикуров
Добрый день, Сергей.

Запустите сервер, как приложение, возможно, там происходит какая-то ошибка, и после этого клиенты отключаются. Если это так, то будет баг-репорт, который вы сможете мне передать.
Аватара пользователя
Сергей55
В папке logs есть записи. В папке Errors последняя запись 14 октября. Все равно запустить сервер как приложение?
Аватара пользователя
Алексей Пикуров
Да.
Аватара пользователя
Алексей Пикуров
И обновите сервер на последнюю версию, пожалуйста. Если есть баг, мы правим только последний релиз.