Проверяет синтаксис изменённых BSL-модулей одной командой: статический разбор BSL Analyzer и компиляция платформой 1С в целевой ИБ. Используйте для модулей основной конфигурации, расширений и внешних обработок/отчётов.
中文简介正在准备中。当前显示原文说明。
Находит точную причину повторного падения процессов сервера 1С в Linux: SIGABRT, технологический журнал, core dump, GDB, C++-исключения и проверка причины. Используйте, когда rphost, ragent или rmngr исчезает, становится zombie, завершается сигналом 6 или оставляет core.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Repo script: ./scripts/diag/technological-log.sh
technological-log.sh читает ограниченный технологический журнал запуска (status, cursor read, restore). Для журнала сервера площадки используйте обёртку управления техжурналом модуля customer-site-operations, если модуль материализован в infra/site/.
Минимальная доказательная цепочка:
завершение процесса -> механизм сбоя -> сообщение исключения -> live-причина -> исправление -> приёмка.
Соседнее предупреждение, недавно установленный пакет или изменение лицензирования не считаются причиной без прямой связи с этой цепочкой.
/proc/*/cmdline, аргументы процессов (ps args), core или память процесса: там могут быть параметры авторизации. Наружу отдавайте разрешённый список полей, счётчики и короткие подтверждённые фрагменты сообщений.ptrace, MAC или режимы защищённой ОС ради удобства диагностики.gdb, strace или отладочные символы без явного решения. Сначала проверьте штатную альтернативу.docs/infra/site/, если модуль площадки материализован.Снимите PID и время старта процесса, затем отслеживайте только безопасные поля /proc/PID/stat: состояние, статус ожидания, сигнал и код. Отличайте исчезновение PID от zombie. Для SIGABRT ожидается сигнал 6; сообщение systemd само причину abort не раскрывает. Если PID переиспользован или время старта изменилось, начните наблюдение заново.
Используйте существующую обёртку техжурнала, если она подходит установленной версии. Сначала проверьте её контракт и конфигурацию, затем соберите ограниченный интервал вокруг сбоя.
Техжурнал не является построчным CSV. При анализе EXCP и EXCPCNTX:
process, а не по глобальному счётчику;EXCPCNTX=0, зафиксируйте предел техжурнала и переходите к core, не приписывая ему контексты ragent, rmngr или клиента.Kerberos, лицензия и другие предупреждения остаются сопутствующими, пока стек, исключение или воспроизводимая операция не связали их с abort.
До подключения отладчика проверьте наличие инструмента и текущую политику ptrace. Если подключение запрещено политикой, не ослабляйте её: используйте имеющийся core или согласуйте одноразовый захват core.
До захвата снимите только чтением:
kernel.core_pattern и kernel.core_uses_pid;LimitCORE целевой службы systemd;Это отдельное изменение рабочей среды. После разрешения временно задайте минимальную настройку службы и политики core, перезапустите точный unit, дождитесь одного подтверждённого падения и сразу восстановите исходные значения.
trap и повторно проверяется после команды.Запускайте GDB над точным бинарником упавшего процесса и выбранным core. Сначала проверьте опции установленной версии GDB; для старой версии не переносите современные команды. Автозагрузку ограничивайте поддерживаемой командой set auto-load safe-path /nonexistent.
Снимите ограниченный backtrace и список модулей. Цепочка raise -> abort -> __gxx_personality_v0 -> _Unwind_* доказывает abort при обработке C++-исключения, но не его первопричину. Адреса без символов сохраняйте вместе с точными версиями бинарника и разделяемых библиотек; не называйте ?? функциями по догадке.
Используйте только ABI и исходники, соответствующие реально загруженной libstdc++. Сначала докажите расположение _Unwind_Exception, брошенного объекта и type info для этой версии. Не переносите числовые смещения между версиями.
Перед удалённой командой проверьте выражения GDB на маленьком локальном C++-примере с тем же ABI. Затем двигайтесь от общего к частному:
Первое похожее поле может быть кодом или вложенным объектом, а не char*. Ошибка чтения памяти опровергает гипотезу и не является поводом расширить дамп. Для UTF-16 используйте строковый формат GDB только после проверки адреса и смещения на локальном примере.
Сообщение исключения задаёт следующую узкую проверку, но не всегда буквально описывает системную ошибку. Для файла отдельно проверьте:
runuser из /;Так различаются реальный ENOENT, EACCES и прикладное сообщение «не найден». Новые Java, Ring, Kerberos или лицензия не становятся причиной только из-за совпадения по времени. Отдельно фиксируйте непосредственную причину и, если не доказано, неизвестное происхождение изменения.
После явного разрешения меняйте только доказанный объект. Не исправляйте пакет, лицензию или топологию по сопутствующим предупреждениям.
Приёмка снизу вверх:
process list, по навыку 1c-rac-operations) подтверждает состояние running для нужного кластера;rphost завершается успешно.Активная служба systemd или один живой PID не заменяют пункты 4 и 5.
В репозитории фиксируйте без секретов: точный набор версий, время сбоя, сигнал и код, значимые счётчики техжурнала, ограниченный стек, тип и короткое сообщение исключения, проверку причины от имени пользователя процесса, минимальное изменение и все ступени приёмки. Полный core, сырой техжурнал и дампы памяти в Git не помещайте.
Отдельно перечислите недоказанные гипотезы и оставшуюся очистку: core, временный техжурнал, диагностические пакеты и служебные каталоги. Очистку выполняйте отдельным согласованным действием.
Остановитесь и запросите решение, если требуется ослабить защиту, установить пакет, перезапустить рабочую службу, изменить политику core, исправить данные или права либо удалить доказательства. Прекратите ветку гипотезы, если её предсказание опровергнуто live-проверкой; не компенсируйте это более широким сбором потенциально секретных данных.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Проверяет синтаксис изменённых BSL-модулей одной командой: статический разбор BSL Analyzer и компиляция платформой 1С в целевой ИБ. Используйте для модулей основной конфигурации, расширений и внешних обработок/отчётов.
中文简介正在准备中。当前显示原文说明。
Используйте, когда нужно создать информационную базу через канонический runtime contract проекта.
中文简介正在准备中。当前显示原文说明。
Используйте, когда нужно сравнить source tree или выполнить adapter-aware diff через repo-owned entrypoint.
中文简介正在准备中。当前显示原文说明。
Используйте, когда нужно проверить readiness runtime profile, adapter config и базовые зависимости проекта.
中文简介正在准备中。当前显示原文说明。
Используйте, когда нужно выгрузить конфигурацию или расширение в исходники через канонический runtime contract проекта.
中文简介正在准备中。当前显示原文说明。
Используйте, когда нужно загрузить в ИБ только текущие git-backed изменения исходников через repo-owned diff bridge.
中文简介正在准备中。当前显示原文说明。