Решение проблемы Обнаружено нарушение целостности системы 1С

Аварийное завершение процесса регистрации код ошибки 122

Решение проблемы «Обнаружено нарушение целостности системы 1С»

Сегодня 01.02.2021 года наблюдается массовое нарушение работы программных продуктов от фирмы 1С. Пользователи программы стали наблюдать на своих мониторах окно со следующим текстом ошибки: «Обнаружено нарушение целостности системы». Служба технической поддержки 1С засыпана вопросами по поводу этой ошибки, пользователи пытаются всеми силами найти решение возникшей проблемы, так как простой бизнеса недопустим. В данном окне ошибки Вам предоставляется возможность завершить работу или попытаться перезапустить программу. Стоит заметить, что перезапуск помогает избавиться от злосчастной ошибки, но это счастье длится буквально несколько минут, после чего ошибка появляется вновь. В результате работоспособность программы 1С полностью заблокирована.

Обнаружено нарушение целостности системы

Причины появления ошибки «Обнаружено нарушение целостности системы 1С»

Причиной темы сегодняшней публикации послужил массовый запуск работы механизма лицензионной защиты программных продуктов фирмы 1С.

1. На текущий момент на Вашем сетевом сервере или локальном компьютере, находящимся в корпоративной сети осуществлен «взлом» (полностью отключена или изменена) система проверки целостности файлов платформы. Также это отражается в случаях, например, когда не приобретены клиентские лицензии на основные рабочие места, где работают с программой 1С, нет серверных лицензий, но при этом база работает в серверном режиме, также эмулируется превышенное количество лицензий 1С, чем фактически купленое для версии ПРОФ или КОРП.

2. Второй причиной появления ошибки является остаточные следы ранее установленного эмулятора защиты, который в свое время осуществлял взлом защитного модуля 1С:Предприятие. При этом сейчас Вы уже перешли на легальную платформу и используете программу совместно с приобретенными аппаратными или программными лицензиями. Однако защита все равно может отслеживать остатки эмулятора и блокировать работу программы ошибкой «обнаружено нарушение целостности системы 1С».

Описанные выше действия являются полностью нелегальными и осуществляются пользователями как сознательно, так и по причине получения неквалифицированных услуг по обслуживанию программ 1С. Например, Ваша организация пользуются услугами не сертифицированного специалиста, выдающего себя за представителя франчайзинга 1С. Это достаточно распространенная ситуация, которой не стоит удивляться.

Быстрое и краткосрочное решение проблемы

Как сообщается представителями фирмы 1С, компания готова пойти на уступки и позаботиться о своих клиентах, попавших (не по своей воле) в ловушку нелегального ПО. Поэтому, чтобы не произошло массовых сбоев в бесперебойной работе различных организаций и учреждений, принято решение предоставить бесплатные, но временные лицензии на право использовать программы 1С.

Бесплатные временные лицензии – это в первую очередь временный способ решить проблему нарушения целостности системы 1С. Данные лицензии дадут выиграть время на очистку вашего оборудования от пиратского софта и покупку легальных лицензий, тем самым, не перебивая работоспособность всего предприятия. Чтобы получить данные лицензии необходимо, до 15.03.2021 перейти по ссылке ( https://portal.1c. ru/software/registration ) на портал 1С, пройти быструю систему регистрации и абсолютно бесплатно за несколько минут получить временную лицензию на использование ПО 1С. Важно помнить, что получить и активировать данные лицензии можно не позднее 15 марта 2021 года, после этого доступ к «раздаче» будет закрыт. Срок действия полученного ключа не более 60 дней с момента активации.

Установка временных лицензий 1С

Внимание!

Чтобы система работала корректно, необходимо перед активацией временного ключа иметь установленную или установить самую свежую на текущий момент версию платформы 1С:Предприятие 8.3. Данная платформа будет предоставляться для скачивания на официальном портале releases.1c. ru.

Далее после установки последней версии технологической платформы необходимо следовать следующим действиям:

Рабочее решение ошибки «Обнаружено нарушение целостности системы»

Стоит сразу осознавать тот факт, что сегодня на просторах сети интернет предоставляются всевозможные отличные друг от друга системы взлома программ, которые также относятся и к эмуляторам ключей защиты 1С. Поэтому и способов удаления эмулятора с рабочего компьютера или сервера может быть столько же. Однако в данной публикации рассмотрим самые эффективные способы полной очистки эмулятора, которые рекомендованы фирмой 1С.

Примечание. Если выполнение команд в командной строке завершилось с ошибками, тогда необходимо вручную найти работающую службу утилиты loaddrv, остановить ее и полностью удалить вместе со службой haspflt. Утилита и служба должны быть расположены в директории C:\Windows\System32\drivers\loaddrv. exe и C:\Windows\System32\drivers\haspflt. sys. Чтобы удалить данные файлы, нужно обладать правами администратора.

После этого нелишним проверить редактор реестра на наличие следов удаленной утилиты эмулятора. Если остатки будут найдены в реестре их также необходимо удалить. Запускаем редактор реестра с правами администратора и первым делом осуществляем поиск в следующих ветках реестра:

Если данные ветки будут отсутствовать, тогда пройдитесь по реестру поиском по значениям hasp, haspflt, vusbbus, loaddrv и VUsb. Также рекомендовал бы в рамках данного способа очистки, пройтись по этим же значениям в глобальном поиске каталогов Windows. При нахождении любого файла с указанными выше названиями, безвозвратно удалить.

Заключение

Как можно заметить вариантов решения достаточно, но как отмечалось ранее сколько эмуляторов, столько и решений по их удалению. Можно сказать, с уверенностью, следуя описанным в данной публикации инструкциям, у Вас получится решить проблему аварийного завершения работы 1С по причине: «Обнаружено нарушение целостности системы». От себя хочется добавить, что использование нелегального программного обеспечения никогда не доводило до хорошего, поэтому рекомендую Вам использовать для ведения бизнеса только легальные лицензионные программы фирмы 1С, которые можно приобрести на нашем сайте. Желаю удачи и успехов в работе!

На сегодняшний день любой, пользующийся популярностью у пользователей программный продукт подвергается пира. 2021-02-02T00:00:00+03:00 2021-02-05T11:03:03+03:00 Решение проблемы Решение проблемы «Обнаружено нарушение целостности системы 1С» https://softonit. ru/articles/1c/solution-the-problem-violation-of-the-integrity-of-the-1C-system-was-detected/

Большое предприятие ведет сложный производственный учет в системе «1С:ERP Управление предприятием 2.4». Кластер серверов 1С:Предприятия состоит из 7 узлов, регламентные операции выполняются раз в сутки в течение двухчасового технологического окна. В системе работают более 500 пользователей во всех 11 часовых поясах России. В связи с этим, активная работа происходит практически в режиме 24/7.

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

Инфраструктура исследуемой системы

Проверяем rphost и rmngr

Первоначально имеем предположение о том, что происходит падение рабочих процессов либо менеджера кластера. Попробуем разобраться с причиной таких падений. Для этого настроим технологический журнал «1С» на фиксацию следующих событий:

Файл logcfg. xml, который используется при настройке технологического журнала приведен ниже:

Стартуем сбор логов технологического журнала, ждем очередного зависания сеансов и проводим анализ собранных данных. Прежде всего ищем информацию о падении/перезапуске рабочих процессов и находим следующую последовательность событий ATTN, приблизительно совпадающих со временем зависания системы:

Система мониторинга кластера анализирует объем используемой памяти рабочих процессов и начинает завершение проблемных рабочих процессов в штатном режиме при достижении 80% от общего объема памяти, и в аварийном режиме если объем используемой памяти превысит 95%.

Существует возможность на уровне рабочих серверов «1С» ограничивать объем памяти, расходуемой рабочими процессами и менеджерами кластера. Для этого в консоли кластера серверов «1С» существуют следующие настройки:

По умолчанию параметры «Временно допустимый объем памяти процессов» и «Критический объем памяти процессов» если их не задавать установлены как раз на 80% и 95% от общего объема памяти. График, показывающий влияние перечисленных параметров на перезапуск рабочих процессов:

График влияния перечисленных параметров на перезапуск рабочих процессов

Данные действия как раз фиксируются событиями ATTN, которые мы наблюдаем выше. Видим, что кластер серверов «1С» сначала зафиксировал объем использования оперативной памяти в 80% (событие 1) и начал завершение рабочих процессов в штатном режиме. Но уже через 15 секунд фиксируется следующее событие о том, что объем используемой памяти достиг 95% (событие 2). Это и приводит к аварийному завершению рабочих процессов кластера (события 3 и 4).

Несмотря на изначальные входные данные от клиента о том, что нет проблем с недостатком оперативной памяти и другими ресурсами сервера, видим значительное потребление памяти (более 280 Гб) рабочими процесса кластера серверов «1С».

От экспертов «1С‑Рарус»

Страничные блокировки в MS SQL Server
при проведении документа в документе в 1С

Ищем причины большого потребления памяти

Следующим шагом будет выяснение причин такого поведения системы. Для полноты картины нам не хватает следующих данных:

Включим мониторинг ресурсов системы в Windows при помощи утилиты Performance monitor. Создадим группу сборщиков данных и добавим в нее счетчик «Байт виртуальной памяти» по всем процессам, а также с детализацией по процессам «1С» в системе. Для этого сначала выбираем счетчик в списке по конкретному процессу (rphost, rmngr, ragent), а затем редактируем имя процесса вручную, добавляя символ * в конец:

Окно создания группы сборщиков данных

По умолчанию если процессов с одним и тем же именем несколько, то Performance monitor добавляет к каждому такому процессу порядковый номер (например, rphost#1). Для того, чтобы в имени счетчика отображался PID процесса необходимо отредактировать реестр, добавив в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance ключ ProcessNameFormat типа DWORD 32 бит со значением 2:

Редактор реестра

В файл настройки лога технологического журнала добавим следующие события:

Файл logcfg. xml будет выглядеть следующим образом:

Запускаем сбор логов, ждем падения рабочих процессов и проводим анализ собранных данных. Для начала взглянем на счетчики Performance monitor. Видим по ряду рабочих процессов rphost следующую ситуацию:

Performance monitor

Количество потребляемой памяти либо неизменно, либо растет небольшими порциями, однако есть явные места, где происходит ступенчатый рост. Например, на графике выше потребление памяти процессом rphost с PID 29280 в период между 4 и 5 утра резко возросло с 4,7 до 9,7 Гб.

Взглянем на технологический журнал в такие промежутки времени и попробуем найти такие серверные вызовы CALL, свойство которых memory было бы максимальным. Данное свойство покажет нам объем занятой, но не освобожденной памяти за время серверного вызова.

Находим событие CALL следующего содержания:

Серверный вызов, который согласно свойству memory занял, но не освободил более 2,5 Гб памяти. Причем свойство context у данного события отсутствует. Также обращаем внимание на свойство processName, которое в данном случае совпадает с именем базы, в которой зафиксирован данный вызов. Видим, что это не основная база, в которой работают пользователи, а ее копия.

На следующем скрине также наглядная демонстрация того, что в топе по занятой памяти серверных вызовов находятся не основные базы:

Не основные базы в топе по занятой памяти серверных вызовов

К тому же, видим, что в некоторых случаях серверный вызов представляет собой выполнение регламентного задания, что и указано в свойстве func.

Найдем все processName, которые встречаются в логе:

processName в логе

Принимаем решение о необходимости полного запрета регламентных заданий в не основных базах и в дальнейшем полный их перенос на отдельно выделенный тестовый контур. Дальнейшее исследование продолжаем только после выполнения этих действий, т. к. только тогда мы сможем быть уверены в отсутствии флуктуаций от сторонних баз.

Собираем логи в третий раз, анализируем и видим три типа событий, связанных с большим потреблением памяти рабочими процессами:

1. Системное регламентное задание по обновлению индекса полнотекстового поиска.

Системное регламентное задание по обновлению индекса полнотекстового поиска

Действительно, обновление индекса полнотекстового поиска может сильно нагружать систему и приводить к росту сеансовых данных. Воспользуемся утилитой RamMap для того, чтобы увидеть, чем конкретно занята оперативная память во время падения рабочих процессов:

Утилита RamMap

Обращаем внимание на строку Mapped File, которая показывает, какой объем памяти от общего объема занят закешированными в памяти файлами. На закладке File Summary, можем посмотреть на список этих файлов:

Закладка File Summary

Видим, что в топе по размеру файлы indexmain. bin и indextemp2.bin. Это и есть индекс полнотекстового поиска базы. Принимаем решение о полном отключении индекса, что освободит дополнительные ресурсы и уменьшит объем сеансовых данных. К тому же, из-за того, что предприятие активно работает практически 24/7, довольно сложно организовать регламентный пересчет индекса во внерабочие часы. Более подробную информацию об устройстве индекса полнотекстового поиска можно найти в конце статьи.

2. Серверные вызовы без контекста со значением свойства iname равным IVResourceRemoteConnection.

Понять, что это за вызовы можно, если найти в логе технологического журнала событие CONN, которое фиксирует недавний старт соединения с тем же clientID:

Такие строки не являются утечкой памяти — это перенос клиентского соединения с одного рабочего процесса на другой. Сеансовые данные, которые были привязаны к старому клиентскому соединению переносятся на новое. Об этом и говорят нам вышеуказанные события.

3. Серверные вызовы CALL, фиксирующие выполнение длительных операций(запуск внешних отчетов).

Ситуация с не освобождением памяти при этом возможна в двух случаях:

Для проверки возможного наличия циклических ссылок добавим в файл настроек технологического журнала «1С» событие SCRIPTCIRCREFS.

Событие SCRIPTCIRCREFS

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

ВАЖНО! Сбор технологического журнала с данным событием может нагружать ресурсы системы, поэтому замеры необходимо производить в минимально возможный период времени.

После запуска сбора технологического журнала с новыми настройками видим в логах строки вида:

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

От экспертов «1С‑Рарус»

База «1С» растёт и всё тормозит.
Что делать?

Полнотекстовый поиск данных. Общее устройство и управление ППД в «1С»

Полнотекстовый поиск данных (англ. Full Text Searching, ППД) — это способ осуществления поиска в текстовых данных. В основном данный вид поиска используют для поиска в большом объеме данных, т. к. он существенно быстрее обычного поиска, который можно осуществить на языке запросов с помощью предиката ПОДОБНО (LIKE). Например, выполнение запроса с предикатом ПОДОБНО к нескольким миллионам строк неструктурированных текстовых данных может занять несколько минут, а полнотекстовый запрос всего несколько секунд или даже меньше, в зависимости от количества возвращаемых строк. Также предикат ПОДОБНО работает только с комбинациями символов в отличии от полнотекстовых запросов.

К основным задачам, решаемым с помощью механизма ППД можно отнести:

Нечеткий поиск — это способ поиска, при котором выполняется сопоставление информации заданному образцу поиска или близкому к этому образцу значению. Например, нечеткий поиск по запросу «машина» будет возвращать также «калина», «Марина», «шина» и т. п.

Для обеспечения высокой скорости обработки больших объемов данных механизм полнотекстового поиска использует полнотекстовый индекс. В полнотекстовом индексе хранятся данные о значимых для поиска словах и их расположении в одном или нескольких столбцах таблицы базы данных.

Механизм полнотекстового поиска используется в различных системах. В том числе, в системах управления базами данных и поисковых системах. Платформа 1С:Предприятие 8, также включает в себя данный механизм. Однако, из-за недостатка открытых источников с описанием его архитектуры, предлагаем ознакомиться с аналогичным механизмом продукта Microsoft SQL Server.

Данный продукт включает в себя механизм ППД и выделяет следующие его компоненты:

Схема механизма полнотекстового поиска данных Microsoft SQL Server

Стоит отметить, что основной компонентой механизма ППД является «Средство полнотекстового поиска», т. к. она отвечает за поддержку индексирования и формирование запросов.

Архитектура полнотекстового индекса

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

Представим, что в информационной базе существует таблица «Номенклатура», у которой включен полнотекстовой индекс. Пример содержимого таблицы:

Код Наименование
1 Булочка со сгущенкой
2 Торт «Наполеон» со сгущенкой
3 Булочка с капустой

После выполнения построения индексов система подготовит следующий фрагмент индекса:

Также стоит обратить внимание, что лексемы «со» или «с» были удалены из полнотекстового индекса. Это связано с тем, что они являются стоп-словами. Удаление стоп-слов из полнотекстового индекса может привести к значительной экономии дискового пространства, тем самым увеличивая производительность запросов.

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

Процесс полнотекстового индексирования

Для выполнения операции полнотекстового индексирования средство полнотекстового поиска перемещает пакеты данных в память. Затем управляющая программа получает данные пакеты и выполняет фильтрацию с разбиением по словам, а также преобразовывает входные данные в инвертированный список слов. После чего средство полнотекстового поиска запрашивает конвертированные данные из списка слов, удаляет стоп-слова и сохраняет списки слов в виде пакета в один или несколько инвертированных фрагментов.

При этом для удаления стоп-слов и нормализации ключевых слов перед их сохранением в полнотекстовом индексе или фрагменте индекса может быть проведена дополнительная обработка.

После завершения операции заполнения инициируется заключительный процесс слияния фрагментов индекса в один основной полнотекстовый индекс.

Обработка полнотекстовых запросов

Обработчик запросов инициализирует запрос к средству полнотекстового поиска. Средство полнотекстового поиска разбивает запрос по словам при необходимости дополняет синонимами, далее выполняется морфологический поиск и обработка стоп-слов. Затем полнотекстовые части запроса преобразуются в формат операторов SQL. Во время выполнения запроса происходит обращение к инвертированному индексу. Результат запроса возвращаются клиенту.

Устройство и управление в платформе «1С:Предприятие 8»

Платформа «1С:Предприятие 8» использует собственно разработанный механизм полнотекстового поиска, что позволяет отказаться от поддержки полнотекстового поиска самих систем управления базами данных. Однако его архитектура не отличается от ранее рассмотренной архитектуры Microsoft SQL Server. Например, Механизм ППД платформы «1С:Предприятие 8» аналогично разделяется на: файлы полнотекстового индекса и механизма полнотекстового поиска. При этом сам полнотекстовый индекс разделяется на основной и дополнительный индекс, которые соответствуют основному и дополнительным фрагментам.

Место хранения

Платформа «1С:Предприятие 8» размещает все файлы полнотекстового поиска данных в служебном каталоге 1Cv8FTxt:

В данном каталоге размещаются все файлы необходимые для механизма ППД. Например, файлы основного (indexMain. bin) и дополнительного индекса (indexPartial. bin), временные файлы изменений (changesХХХХХХХХХХХХХХ. log) и многие другие.

Место хранения

Инструменты управления

Управление полнотекстовым поиском осуществляется как в режиме 1С:Предприятие, так и с помощью методов встроенного языка.

Для открытия окна управления в режиме 1С:Предприятия необходимо выполнить действия:

Окно «Управление полнотекстовым поиском» в обычном режиме

Окно «Управление полнотекстовым поиском» в обычном режиме

Окно «Управление полнотекстовым поиском» в управляемом режиме

Окно «Управление полнотекстовым поиском» в управляемом режиме

К основным операциям можно отнести:

Во встроенном языке существуют методы, соответствующие данным операциям:

Также важно понимать, что полнотекстовый поиск будет осуществляться по объектам, у которых установлено свойство Полнотекстовый поиск/Использовать. Данное свойство установлено по умолчанию и если перед нами встает задача редуцировать количество объектов, участвующих в поиске, то для конфигураций, стоящих на поддержке от типовых приходится включать возможность редактирования, что приводит к более сложному процессу обновления. В типовых решениях существуют объекты, состоящие из огромного количества реквизитов, тип которых попадает в спектр поиска: Строка, Данные ссылочного типа (ссылки на документы, справочники),Число, Дата, ХранилищеЗначения.

Установлено свойство «Полнотекстовый поиск/Использовать»

По всем ним по умолчанию установлено свойство полнотекстового поиска. И конечно можно осуществить редуцирование количества сущностей для построения таблицы индекса поиска и по ним тоже. Еще раз следует заметить, что в этом случае возрастает число модифицированных объектов и их свойств. Чтобы облегчить задачу обновления конфигурации можно воспользоваться средствами автоматического обновления конфигураций, например решением Управление обновлением конфигураций «1С».

Использование полнотекстового поиска данных должно быть осознанным

Итак, какие выводы можно сделать из данного случая и чему научила нас эта история.

Еще и еще раз убедились, что “Everybody lies” (Все врут) как говорил Доктор Хаус из культового сериала про врачебную экспертизу. В нашем случае заказчик уверяет, что проблем по потреблению памяти не наблюдается, а они есть. И разумеется эксперт должен полагаться только и исключительно на факты, а не на слова. Поэтому всегда проверяем и перепроверяем гипотезы. В обязательном порядке при обнаружении проблем, связанных с утечкой памяти в кластере «1С» нужно убедиться, что правильно произведены настройки по перезапуску рабочих процессов. Подробнее о перезапуске рабочих процессов можно прочитать в статье Замедление работы 1С:Управление торговлей через 6 часов после запуска сервера «1С».

Второе, что следует сказать, расследование может быть многоэтапным и к этому нужно быть готовым. Проверили базовую гипотезу по памяти, отвергли или приняли ее, исключили «шум» в виде ненужных баз в продуктивном контуре и далее сфокусировались на поиске конкретного виновника по утечке памяти.

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

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

Поэтому в данном случае можно было бы рекомендовать:

Клиентом были выбраны пункты «оставить ППД только и исключительно на рабочей базе» и «отказ от использования механизма ППД». Проблем с падением более не наблюдалось.

Интересующиеся базами данных и 1С:Предприятием могут посмотреть предыдущие статьи от экспертов «1С‑Рарус»:

Источники:

https://softonit. ru/articles/1c/solution-the-problem-violation-of-the-integrity-of-the-1C-system-was-detected/

https://rarus. ru/publications/20201225-ot-ekspertov-1c-padenie-klastera-i-polnotekstovyj-poisk-455468/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: