При обновлении конфигурации базы данных или при попытке входа в информационную базу администраторы и пользователи могут столкнуться со сбоем ядра платформы: недопустимое состояние объекта src\vresourceconnectionimpl.cpp (2084). Очистка пользовательского кэша в такой ситуации обычно не дает результата. Проанализируем природу этого сбоя и разберем по шагам, как восстановить доступ к информационной базе.
Выясним причину появления ошибки на уровне серверной архитектуры «1С:Предприятие». Исходный файл vresourceconnectionimpl.cpp принадлежит внутренней низкоуровневой подсистеме ядра платформы vrscore. Данный модуль отвечает за управление пулом соединений, виртуальными ресурсами сеансов и маршрутизацию трафика между рабочими процессами кластера (rphost), диспетчером кластера (rmgr) и клиентами (или модулями веб-сервера).
Во время обновления конфигурации кластер серверов выполняет сброс старого контекста метаданных и реорганизацию пулов рабочих подключений. Сбой возникает по нескольким причинам:
rphost зависают или не могут освободить сетевые дескрипторы, возникает коллизия внутренних состояний объектов пула. При попытке инициализации нового сеанса платформа встречает неконсистентное состояние и выбрасывает системное исключение.8.3.8.1747 и смежные ранние сборки ветки 8.3.8 содержат известные системные ошибки утечки ресурсов и сбоев синхронизации соединений.В практической ситуации наиболее быстрым способом устранения рассинхронизации является перезагрузка операционной системы сервера, на котором развернут кластер 1С. При перезагрузке принудительно освобождаются все зависшие сокеты, системные дескрипторы и память, занимаемая процессами rphost. После рестарта операционной системы служба сервера 1С стартует с чистого состояния, и ошибка подключения исчезает.
Если возможность перезагрузить физический или виртуальный сервер целиком отсутствует, выполним правильный перезапуск служб 1С без перезагрузки хоста. Обычного перезапуска службы через панель управления зачастую недостаточно, так как процессы rphost могут остаться в памяти в качестве неуправляемых процессов («зомби»). Разберем правильный порядок действий:
1C:Enterprise Server Agent) через оснастку управления службами Windows (services.msc) или с помощью системного менеджера в Linux.ragent.exe, rmgr.exe и особенно все экземпляры rphost.exe полностью завершены. Если в списке остались висящие процессы rphost.exe, снимем их принудительно вручную.iisreset /restart для IIS или перезапуск службы Apache).Поскольку ошибка формируется на стороне сервера, очистка клиентского кэша не приносит эффекта. Однако кластер 1С хранит собственные временные файлы сеансовых данных, которые могут содержать поврежденное состояние. Выполним очистку серверных временных каталогов:
rphost.srvinfo, расположенный по умолчанию по пути C:\Program Files\1cv8\srvinfo).reg_1541).snacc*. Важно: не удаляйте файл реестра кластера 1CV8Reg.lst, чтобы не потерять список зарегистрированных баз и настройки кластера.Нередко разработчики отказываются от обновления платформы из-за опасений нарушить работу сильно модифицированной или переписанной конфигурации (например, кастомизированной 1С:Бухгалтерии). Рассмотрим, почему это заблуждение:
vrscore, что исключает рецидив ошибки vresourceconnectionimpl.cpp.Чтобы снизить вероятность зависания рабочих процессов при будущих обновлениях конфигурации, настроим политики автоматического обслуживания процессов в консоли кластера 1С:
86400 секунд для перезапуска раз в сутки). Это позволит процессам автоматически перезапускаться в моменты наименьшей активности, предотвращая накопление критических состояний пулов.rphost.