Кластер 1С: Ошибка «Сеанс отсутствует или удален irmngrsrvcimpl»
Симптомы падения сеансов в кластере 1С
Пользователи в процессе работы (чаще всего при формировании объемных отчетов, проведении документов или после короткого простоя) внезапно выбрасываются из программы с критическим сообщением: Сеанс отсутствует или удален с указанием на файл исходного кода платформы: src\irmngrsrvcimpl.cpp или server_mod.cpp.
| Событие в окне ошибки | Запись в Техническом журнале | Причина |
|---|---|---|
| Сеанс отсутствует или удален (irmngrsrvcimpl.cpp) | EXCP ... Session not found / Process terminated | Аварийное падение (краш) рабочего процесса rphost, обслуживавшего сеанс |
| Сеанс завершен администратором | ADMIN ... Terminate session | Срабатывание таймаутов спящих сеансов или принудительное удаление диспетчером |
| Соединение с сервером потеряно | CALL ... server connection lost | Перезапуск службы ragent или сброс сокетов сетевым экраном |
Алгоритм стабилизации кластера и устранения ошибки
- Анализ причин аварийного завершения процесса rphost:
Ошибка
irmngrsrvcimpl.cppпочти всегда означает, что сеанс не был удален штатно — умер сам процессrphost.exe, хранивший данные сеанса в оперативной памяти. Основные причины: превышение лимита памяти (Out of Memory) или повреждение внутренней памяти некорректным внешним компонентом (C++ / COM). - Настройка параметров перезапуска рабочих процессов в консоли кластера:
- Откройте консоль Администрирование серверов 1С:Предприятия.
- Перейдите в свойства кластера.
- Установите защитные лимиты для предотвращения падений из-за утечек памяти:
- Допустимый объем памяти: задайте значение в байтах (например,
80%от физической RAM сервера). - Интервал превышения допустимого объема памяти:
60секунд. - Период перезапуска рабочих процессов:
86400секунд (1 раз в сутки ночью). - Выключенные процессы останавливать через:
180секунд (позволит завершить активные вызовы).
- Допустимый объем памяти: задайте значение в байтах (например,
- Ограничение времени спящих и неактивных сеансов:
Зависшие фоновые задания переполняют менеджер кластера (
rmngr):// Свойства информационной базы в консоли кластера: Время засыпания пассивных сеансов: 1200 (20 мин) Время завершения спящих сеансов: 3600 (60 мин) - Анализ аварийных дампов памяти (Crash Dumps):
Включите сбор дампов через Windows Error Reporting (WER) в реестре для точной локализации сбойного модуля платформы:
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\rphost.exe" -Force Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\rphost.exe" -Name "DumpType" -Value 2 -Type DWord
Сетевой фактор: Если процессы rphost не падают, а ошибка возникает после 10–15 минут простоя клиента, причиной является закрытие «тихих» TCP-соединений межсетевым экраном (Stateful Firewall Drop). Настройте Keep-Alive в реестре Windows на уровне 3-5 минут.
Частые вопросы (FAQ)
Что означает файл irmngrsrvcimpl.cpp в тексте ошибки?
Это внутренний файл C++ исходного кода платформы 1С (IR Manager Service Implementation), отвечающий за взаимодействие менеджера кластера rmngr со списками активных пользовательских сеансов.
Почему ошибка появляется только у пользователей тонкого клиента?
Тонкий клиент работает по протоколам HTTP/TCP с жестким контролем идентификатора сессии. При потере контекста на сервере тонкий клиент не может выполнить автоматическое переподключение без перезапуска формы.
Помогает ли очистка серверного сеансового кэша (папки snccntx)?
Да. Если база структуры сеансов в каталоге snccntx была повреждена в результате жесткой перезагрузки сервера, удаление содержимого этой папки при остановленной службе ragent устраняет циклическую ошибку.
Как изолировать сбоящие сеансы от основной массы пользователей?
Создайте в кластере второй рабочий процесс (rphost) и настройте требования назначения функциональности (ТНФ), выделив фоновые задания или тяжелые отчеты на отдельный процесс.