Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C_CORE_DUMP_DEBUG 1С:Предприятие и СУБД

Сбор дампов падений (Core Dumps) для процессов 1С в Linux: ragent, rmngr, rphost

Обновлено: 26.08.2026 · Официальная документация ↗
  • Процессы rphost или rmngr внезапно исчезают из списка процессов без сообщений в технологическом журнале.
  • Аварийное завершение сеансов пользователей с ошибкой Сеанс работы завершен администратором или Соединение с сервером прервано.
  • Необходимость расследования Segmentation Fault (SIGSEGV) и отправки дампов в техподдержку 1С.
  • Ядро Linux блокирует запись дампов из-за ограничений ulimit -c 0.

1. Архитектура генерации дампов процессов 1С

При возникновении критической ошибки в C++ коде платформы процесс падает с сигналом SIGSEGV или SIGABRT. Для локализации причин падения ядро ОС должно записать полный слепок памяти упавшего процесса (Core Dump) на диск.

2. Снятие системных лимитов ядра и systemd

Отредактируйте unit-файл службы 1С (/etc/systemd/system/srv1cv8-*.service или override-файл):

[Service]
LimitCORE=infinity
LimitNOFILE=65536

3. Настройка шаблона сохранения дампов ядра

Создайте конфигурационный файл /etc/sysctl.d/99-coredump.conf:

# Шаблон имени дампа: /var/dumps/core-имя_процесса-pid-время
kernel.core_pattern = /var/dumps/core-%e-pid_%p-time_%t
kernel.core_uses_pid = 1
fs.suid_dumpable = 2

Примените параметры:

sudo sysctl --system

4. Подготовка каталога дампов и прав

sudo mkdir -p /var/dumps
sudo chmod 777 /var/dumps
sudo chown usr1cv8:grp1cv8 /var/dumps

5. Перезапуск службы 1С и проверка генерации дампа

sudo systemctl daemon-reload
sudo systemctl restart srv1cv8-8.3.23.1865@default.service

# Тестовая посылка сигнала сброса дампа на рабочий процесс (только на staging)
# kill -SIGSEGV <PID_RPHOST>

6. Первичный анализ дампа в GDB

# Запуск GDB с бинарником 1С и файлом дампа
gdb /opt/1cv8/x86_64/8.3.23.1865/rphost /var/dumps/core-rphost-pid_12345-time_1680000000

# Получение стека вызовов упавшего потока:
(gdb) bt full
(gdb) quit
💡 Практика специалистов: Убедитесь, что раздел диска /var/dumps размещен на отдельном накопителе с достаточным запасом свободного места. Если диск переполнится дампами памяти, это может привести к остановке операционной системы и СУБД.

Частые вопросы (FAQ)

Сколько места на диске занимает Core Dump процесса rphost?

Размер дампа равен объему виртуальной оперативной памяти, занятой процессором rphost на момент падения (может достигать от 2 GB до десятков гигабайт).

Что означает параметр sysctl fs.suid_dumpable = 2?

Он разрешает генерацию дампов памяти для процессов, которые сменили привилегии пользователя или были запущены службой, что критично для сервиса usr1cv8.

Как настроить интеграцию с systemd-coredump?

Установите пакет systemd-coredump и задайте в sysctl: kernel.core_pattern = |/lib/systemd/systemd-coredump %P %u %g %s %t %c %h. Управление дампами будет выполняться через coredumpctl.

Какие файлы нужны разработчикам 1С для расследования падения?

Файл дампа ядра (core dump), технологический журнал 1С за период падения с включенными событиями EXCP/CRASH и точный номер релиза платформы.

Полезные материалы
Рекомендуем