В работе крупных систем 1С, особенно таких как УПП, нередко встречаются ситуации, когда пользователи внезапно теряют связь с базой данных. Ошибка «Не обнаружено свободной лицензии» на первый взгляд кажется типичной нехваткой ключей защиты, однако, если она сопровождается аварийным завершением процесса rmngr.exe (менеджера кластера) с кодом исключения 0xC0000005, мы имеем дело с серьезным системным сбоем.
Давайте вместе разберем, как проанализировать эту ситуацию, почему стандартная проверка лицензий часто не дает результата и какие шаги нужно предпринять для выявления корневой причины сбоя.
Первым делом важно понять: сообщение о том, что лицензия не найдена — это не первопричина, а симптом. Процесс rmngr.exe отвечает за управление кластером серверов, включая выдачу лицензий рабочим процессам rphost.exe. Когда менеджер падает из-за нарушения доступа к памяти (Access Violation), он перестает отвечать на запросы, и пользователи, чьи сеансы пытались обратиться за проверкой лицензии в этот момент, закономерно получают ошибку.
Если вы видите, что проблема носит массовый характер и сопровождается созданием дампов .mdmp в папке dumps1c, значит, мы имеем дело с программным сбоем, а не с нехваткой физических ключей.
Многие администраторы в первую очередь смотрят на USB-ключ. Даже если индикатор горит постоянно, нельзя исключать программный конфликт драйверов.
Sentinel HASP/LDK. Старые версии драйверов часто конфликтуют с обновленными релизами платформы 1С.haspdinst.exe для полной переустановки драйверов (с ключом -fr для удаления и -i для установки).Особое внимание стоит уделить РегламентнымЗаданиям. В логах 1С часто можно заметить, что падение происходит в момент выполнения фоновых процессов. Проанализируйте, нет ли в системе заданий, которые массово вызывают метод ПолучитьСоединенияИнформационнойБазы. Подобные операции создают большую нагрузку на менеджер кластера.
Попробуйте временно отключить все регламентные задания в консоли администрирования 1С и проследить за стабильностью сервера. Если вылеты прекратятся, значит, причина кроется в коде одного из заданий или в их избыточном количестве.
Самый точный способ узнать, что именно «роняет» сервер — это прочитать дамп. Используйте для этого WinDbg:
File -> Open Crash Dump.!analyze -v в командной строке отладчика.Call Stack). Ищите модули, которые предшествуют сбою. Если это модули hasp...dll, значит, проблема в драйверах ключа. Если же сбой происходит в модулях самой платформы (core...dll), необходимо обновлять релиз платформы 1С.Если обновление платформы и драйверов не помогает, рассмотрим настройки самого кластера серверов 1С:
rphost может приводить к избыточным переключениям контекста и конфликтам памяти. Попробуйте уменьшить количество процессов, обеспечив при этом достаточный запас оперативной памяти на каждый из них (стандартная рекомендация — 1 процесс на 4-8 ГБ RAM).C:\Program Files\1cv8\srvinformngr.exe, rphost.exe, ragent.exeПомните, что перенос базы на новый сервер часто не дает результата, если в конфигурации базы или в коде регламентных заданий есть критическая ошибка, вызывающая утечку памяти или неверную работу с объектами Сеанс. Продолжайте мониторинг технологического журнала 1С, так как именно в нем фиксируются все попытки доступа к памяти, предшествующие краху процесса rmngr.exe.