Сравнение файлов
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
101.391205.4.14.0Сервер приложений циклится в драйвере winsock при завершении после исключенияПерспективные проекты инструментария32-x битный клиент
драйвер реализации протокола winsock сервера приложенийустранение зацикливания при завершении работы сервера приложений (100% на 1 процессор и быстрое увеличение wsdrv.log и galsrv.log, не всегда, обычно при аварийном завершении)
101.394345.4.14.0Нужна возможность снятия дочерних процессов менеджера сервера приложенийСистемные утилитыМониторинг
режим менеджера серверов приложений (galsrv)добавлен параметр REG:Server/IdleSlaveServerTimeout (0 по умолчанию / единица измерения - мс), в котором задаётся время по истечение которого процесс сервера приложений, запущеный менеджером, будет завершен, если на этом сервере не выполняется потоков ни одного пользователя # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Если необходимо, чтобы процессы серверов приложений, запущенных менеджером серверов приложений, автоматически завершались при отсутствии пользователей, необходимо в параметре системного реестра того компьютера, на котором исполняется менеджер серверов приложений задать параметр HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServerIdleSlaveServerTimeout (REG_DWORD) в котором указать время в мс (например, 20 сек = 20000); если на протяжении указанного периода времени сервер приложений будет простаивать (не будет ни одного пользователя), процесс данного сервера приложений будет завершен пример файла test.reg (останавливать через 20 сек бездействия) приведён ниже (строки, содержащие << и >> означают начало и конец файла соответственно и не входят в его содержимое); в случае его запуска из программной оболочки операционной системы соответствующий ключ будет добавлен в системный реестр. << REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServer] "IdleSlaveServerTimeout"=dword:00004e20 >>
102.746345.4.14.0Для выпуска Атлантиса 5314Предложение по новой функциональности Галактики ERP (по системе в целом)?
Для совместимости с Атлантисом 5.3.14 необходима персборка на этом атлантисе 6 dll: - G_FA 8.10.1.0 - G_Fin 8.10.3.0 - G_Nalog 8.10.2.0 - G_OPer 8.10.3.0 - G_Txo 8.10.8.0 - Galnet 8.10.53.0Указанные DLL пересобраны на 5.3.14.
102.831015.4.14.0Атлантис 5.4.14Проблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
103.36255.4.14.0Проблемы с работой в 3-звенной архитектуре под WinSocksПоддержка различных платформ баз данныхOracle
Проблемы с работой в 3-звенной архитектуре под WinSocks - Периодически зависают 3-звенные клиенты при работе в Галактике. После снятия задачи на клиенте через диспетчер задач невозможно снять сессию на мониторе сервера приложений, появляется сообщение "Корректно завершить работу клиента не удалось. При аварийном снятии возможна неработоспособность сервера приложений" и выбор (YES, NO, Cancel). Вне зависимости от выбора сессия на сервере приложений не удаляется. При этом штатным образом перезапустить службу сервера приложений также нельзя, приходится убивать ее жестко командой taskkill /f/im/galsrv.exe /t После чего становится возможным ее повторный запуск. - Периодически все пользователи начинают получать сообщение об ошибке : "Потеряна связь с сервером! Аварийное завершение программы". Помогает только полный перезапуск сервера. В процессе работ выяснилось, что при работающем сервере приложений в журналы galsrv.log и wsdrv.log каждые 10-11 секунд падают следующие сообщения: GALSRV.LOG 12/02/08 10:12:51 - Ошибка: Драйвер протокола (wsdrv.dll), функция "Socket.gc" превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51 - Ошибка: Драйвер протокола (wsdrv.dll), функция "Socket.gc" превышено время ожидания гнезда для переподсоединения W WSDRV.DLL 1 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:12:51.778 превышено время ожидания гнезда в карантине 12/02/08 10:12:51.778 функция Protocol.gc 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:12:51.778 превышено время ожидания гнезда в карантине 12/02/08 10:12:51.778 функция Protocol.gc 12/02 /08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:12:51.778 превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51.778 функция Socket.gc 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:12:51.778 превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51.778 функция Socket.gc Периодически в тот же журнал падает следующая пара сообщений 12/02/08 10:21:15.528 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:21:15.528 checkValid: Неправильное значение параметра (00000C44) 12/02/08 10:21:15.528 функция Thread.DeleteSocket (__Close EST_LISTEN) 12/02/08 10:21:15.528 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:21:15.528 Ошибка при вызове функции WSAEnumNetworkEvents 12/02/08 10:21:15.528 10038 (00002736) An operation was attempted on something that is not a socket. 12/02/08 10:21:15.528 функция Thread.dispatch 12/02/08 10:21:15.528 попытка будет повторена Сообщения постоянно ложатся в журналы даже если никто с системой не работает, просто запущен сервер приложений. Galsrv версии 5.3.14 В момент, когда все пользователи начинают получать сообщение о потере связи с сервером и аварийном завершении работы, в журнал протокола с частотой 15-16 миллисекунд начаинает сыпаться значительное количество сообщений типа 1 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) При этом работа 3-звенной архитектуры не возможна. Ситуацию исправляет только перезагрузка сервера. Пробовали установить сервер приложений на другой машине: под WinSocks получили такой же эффект. Полагаю, что проблема лежит у них в сетино не понятно, с чего начать копать. Клиент крупный и перспективный, а теперь уже собирается отказываться от использования 3-звенки, т.к. постоянный рестарт службы их никак не устраивает...проведены действия по повышению устойчивости сервера приложений # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: один процесс сервера приложений не может обслуживать больше 10-15 клиентов (до 20 - 25 при запуске OS в режиме 3GB) поэтому нужно либо вручную резнести клиентов по разным процессам либо использовать режим автоматического распределения нагрузки это позволит обойти проблему с зависанием пользователи конектятся к процессу-менеджеру который сам их не обслуживает а только перенаправляет на дочерние процессы и даже если один из них зависнет (нельзя будет к нему подсоединиться) то менеджер просто не будет переключать на него пользователей PS reg файл для вкл режима автоматического распределения нагрузки REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServer] "TryRefreshProtect"=dword:00000000 "Verbose"=dword:00000000 "MaxClientCount"=dword:00000000 "VerboseChildProcess"=dword:00000001 "MaxClientChildProcess"=dword:0000000a PPS пояснения к рег-файлу Verbose - выдавать консоль для главной службы (необязательный) MaxClientCount -коль-во клиентов для главной службы (0 - чистый манагер) VerboseChildProcess-консоль для дочерних процессов (необязательный) MaxClientChildProcess-коль-во клиентов для дочерних процессов и все и еще сокет на просдушивание будет увеливаться с шагом 2 для кождого дочернего процесса --------------------------------- в файл "atlantis.cfg" (должен быть в каталоге, содержащем "atlantis.rtl", создать, если ещё не существует) необходимо добавить строку Atlantis.Debug.Heap.CheckRightHeap = 1;