Одной из наиболее неприятных проблем при работе с платформой 1С:Предприятие 8.3 является внезапное прерывание сеанса в Конфигураторе или пользовательском режиме с системным сообщением: «ошибка при выполнении операции с информационной базой. передача данных прервана по инициативе принимающей стороны». Технически это соответствует коду ошибки 10054 (Удаленный хост принудительно разорвал существующее подключение).
В этой статье мы подробно разберем, почему возникает эта ситуация, проанализируем влияние различных версий технологической платформы и выработаем пошаговый алгоритм устранения неисправности. Чаще всего эта проблема проявляется на версиях 8.3.19.1264, 8.3.20.1613 и смежных сборках при работе в клиент-серверном варианте с MS SQL Server.
Разберем механику ошибки: «принимающей стороной» в данном контексте выступает серверный кластер 1С. Если рабочий процесс rphost, в котором обслуживается ваш сеанс, внезапно «падает» или закрывается менеджером кластера, соединение обрывается. Рассмотрим основные факторы, приводящие к падению rphost:
rmngr) может принудительно его завершить. Проанализируем настройки в консоли администрирования (удобно через программу администрирования кластера и управления сеансами 1С): проверьте параметры «Безопасный расход памяти за один вызов» и «Объем памяти рабочих процессов», используя Монитор кластеров серверов.8.3.19 и ниже наблюдались ошибки кода платформы (Access Violation). В таких сценариях может помочь альтернативная конфигурация для внешнего управления сеансами (КОРП).
Проанализируем ситуацию с обновлением прикладных решений. Современные релизы конфигураций имеют жесткие требования к платформе. Если версия платформы ниже требуемой, это может приводить к нестабильности сетевых пакетов при передаче данных конфигурации.
Решение: Обновите платформу до актуального стабильного релиза. Как показывает практика, переход на версии 8.3.20.1710 и выше часто полностью устраняет проблему разрывов без изменения сетевой инфраструктуры.
Часто в технологическом журнале 1С при возникновении ошибки 10054 фигурируют адреса формата fe80::.... Это указывает на использование протокола IPv6. Выясним причину: если сервер и клиент пытаются общаться по IPv6, но в сети есть оборудование, которое некорректно обрабатывает этот трафик, возникают микро-задержки и разрывы.
Рассмотрим шаги по оптимизации сети:
DisabledComponents).
Параметры для настройки в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:
KeepAliveTime = 60000 (1 минута)
KeepAliveInterval = 1000
TcpMaxDataRetransmissions = 10
Если вы используете серверный режим отладки, обратите внимание на процесс dbgs. В версиях платформы 8.3.19.x и 8.3.20.x механизм TCP-отладки часто провоцировал падение всего рабочего процесса при попытке передачи больших объемов данных (например, при просмотре тяжелых таблиц значений). Выясним, включена ли отладка на сервере, проверив параметры запуска службы 1C:Enterprise 8.3 Server Agent. Если там присутствует флаг -debug, попробуйте его временно убрать.
Разберем специфическую причину, связанную с драйверами сетевых адаптеров. Современные карты используют технологии Offload (разгрузка процессора). В некоторых случаях это приводит к повреждению контрольных сумм пакетов 1С, что воспринимается системой как разрыв со стороны принимающего хоста. Рекомендуем отключить следующие функции в настройках сетевой карты на сервере:
Иногда ошибка возникает из-за некорректного состояния серверного кэша метаданных, особенно если в базе используются расширения. Проанализируем ситуацию: при обновлении расширения структура данных меняется, но рабочие процессы могут продолжать использовать старые описания типов из кэша. Это вызывает конфликт десериализации и падение rphost.
Алгоритм очистки:
C:\Program Files\1cv8\srvinfo).snccntxt (данные сеансов) и папки с кэшем конфигураций внутри папок баз.Если вы столкнулись с ошибкой «передача данных прервана по инициативе принимающей стороны», действуйте по следующему плану:
Помните, что детальный анализ проблемы невозможен без настройки Технологического журнала — в этом поможет инструмент анализа технологического журнала и производительности 1С. Для локализации конкретной причины падения rphost рекомендуем создать файл logcfg.xml с отбором по событиям EXCP и PROC, что позволит увидеть точный момент и причину «смерти» процесса перед разрывом соединения.