Ошибка с текстом «Аварийно завершился рабочий процесс фонового задания» возникает в клиент-серверном режиме работы 1С:Предприятия, когда рабочий процесс сервера (rphost.exe), выполняющий расчет отчета в фоновом режиме, внезапно падает на уровне операционной системы. При таком завершении платформа не успевает перехватить исключение штатными средствами встроенного языка, поэтому в стандартном окне ошибки нет строки кода, а в журнале регистрации запись может отсутствовать.
Разберем по шагам, почему происходит аварийный сбой процесса, как правильно локализовать проблему и восстановить корректную работу базы данных и журнала регистрации.
Поскольку аварийный сбой рабочего процесса не перехватывается блоками Попытка ... Исключение, выясним причину на системном уровне.
Application Error (Event ID 1000) в момент падения отчета. Обратим внимание на имя сбойного модуля (например, core83.dll, backend.dll, ntdll.dll) и код исключения (наиболее распространенный — 0xc0000005, означающий нарушение прав доступа к памяти).logcfg.xml в каталоге настроек платформы (для 64-разрядной версии Windows путь по умолчанию: C:\Program Files\1cv8\conf\). Настроим регистрацию событий сбоев процессов EXCP, EXCPCNTX и аварийного завершения PROC:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\Logs\1C_Crash" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="EXCPCNTX"/>
</event>
<event>
<eq property="name" value="PROC"/>
</event>
<property name="all"/>
</log>
</config>
logcfg.xml, чтобы не перегружать дисковую подсистему. В логах найдем завершающий контекст перед падением процесса.Самая частая причина падения rphost.exe при компоновке отчетов — исчерпание доступного адресного пространства памяти.
Безопасный расход памяти за один вызов. При значении 0 сервер рассчитывает лимит динамически, что может приводить к принудительному завершению слишком «тяжелых» вызовов. Для диагностики можно временно установить значение -1 (без ограничений), однако оставлять его на постоянной основе в рабочей базе не рекомендуется.TEMP/TMP пользователя службы 1С. При компоновке больших объемов СКД сбрасывает промежуточные таблицы во временные файлы.Если серверное окружение настроено корректно, проблема кроется в структуре самого отчета:
LEFT JOIN без ограничений по периоду и регистраторам) приводит к лавинообразному росту количества строк в памяти.ХранилищеЗначения (прикрепленные файлы, изображения), особенно если они включены в группировки строк.Ситуация, когда журнал регистрации (ЖР) застыл на определенной дате и не фиксирует новые события, связана с повреждением его структуры из-за падений сервера либо с проблемами доступа к файловой системе.
.log / .lgf / .lgx): при внезапной остановке rphost повреждается индексный файл .lgx в каталоге srvinfo/.../1Cv8Log. Платформа блокирует запись, ожидая целостности индекса. Остановим службу сервера 1С, переместим поврежденный файл с расширением .lgx в резервную папку и запустим службу. Платформа автоматически перестроит индекс при появлении новых событий.1Cv8.lgd): если база переведена на единый файл журнала, аварийный сбой может оставить незавершенную транзакцию или заблокированный журнал упреждающей записи (файлы .lgd-wal и .lgd-shm). Выполним остановку службы 1С, снимем зависшие блокировки и проверим целостность файла утилитами SQLite, либо переместим файл для создания нового журнала.USR1CV8), имеет полные права на запись в папку кластера srvinfo и каталог 1Cv8Log.