← На главную
При обновлении платформы 1С:Предприятие или операционной системы администраторы и пользователи могут столкнуться с внезапным аварийным завершением работы программы. Ошибка проявляется при попытке открыть справочники, выгрузить конфигурацию или даже при редактировании списка информационных баз. В окне сведений о проблеме фиксируется событие APPCRASH, имя приложения 1cv8.exe, модуль с ошибкой ntdll.dll и код исключения c0000005 (Access Violation — нарушение прав доступа к памяти).
Рассмотрим подробно причины возникновения этой неисправности и разберем по шагам действенные способы ее устранения.
Выясним причину падения 1С (ntdll.dll, c0000005)
Код ошибки 0xc0000005 указывает на то, что процесс попытался выполнить чтение или запись по адресу памяти, к которому у него нет доступа. При работе с 1С:Предприятие 8.3 это чаще всего связано с следующими факторами:
- Блокировка службы лицензирования сетевым экраном: Конфигурации сторонних разработчиков (например, решения КАМИН) или отраслевые модули 1С используют сетевые ключи защиты (HASP, Guardant, Sentinel). Если брандмауэр Windows автоматически активируется после обновлений ОС, он блокирует сетевые порты и обращения драйвера защиты, что приводит к критическому сбою в системном модуле
ntdll.dll.
- Повреждение локального кэша 1С: При смене версии платформы старые временные файлы и сеансовый кэш могут вызывать конфликты адресации памяти при отрисовке форм и списка баз.
- Устаревшие драйверы ключей защиты: Несовместимость версии драйвера аппаратного ключа с обновленной версией платформы 1С:Предприятие.
- Конфликт с функциями предотвращения выполнения данных (DEP) или антивирусным ПО: Защитные механизмы системы блокируют динамические вызовы библиотек платформы.
Способ 1. Проверка и настройка Брандмауэра Windows
Проанализируем наиболее частый случай: после обновления операционной системы или платформы брандмауэр Windows (Windows Firewall) включается автоматически и начинает фильтровать сетевой трафик ключей защиты.
Для проверки этой гипотезы и восстановления работоспособности выполним следующие действия:
- Перейдем в Панель управления > Брандмауэр Защитника Windows.
- Временно отключим сетевой экран для частных и общественных сетей и проверим запуск 1С и открытие справочников.
- Если ошибка исчезла, необходимо добавить правильные правила для входящего и исходящего трафика вместо полного отключения защиты:
- В разделе «Разрешение взаимодействия с приложением» добавим исполняемые файлы
1cv8.exe и 1cv8c.exe из каталога установки платформы (например, C:\Program Files\1cv8\8.3.10.2561\bin\).
- Добавим в правила исключений порты службы лицензирования ключей защиты (например, порты 475 UDP/TCP для HASP/Sentinel).
Способ 2. Очистка локального кэша сеанса и списка баз
Если брандмауэр настроен корректно, но ошибка APPCRASH продолжает возникать при попытке добавить или удалить базу из списка, разберем процедуру очистки кэша 1С.
- Завершим все процессы
1cv8.exe и 1cv8c.exe через Диспетчер задач.
- Перейдем в каталоги хранения локального кэша пользователя:
%AppData%\1C\1CEStart
%AppData%\1C\1c8
%LocalAppData%\1C\1c8
- Удалим все каталоги с наименованиями в виде GUID (например,
e34b92c4-85a2-4a0b-a131-309a473a2418).
- При необходимости пересоздадим список информационных баз (файл
ibases.v8i).
Способ 3. Обновление драйвера защиты и компонентов системы
Посмотрим на пример ситуации, когда конфигурация обращается к внешнему модулю защиты (Guardant или Sentinel/HASP). Если версия драйвера устарела, обращение платформы к драйверу вызывает сбой памяти.
- Скачаем последнюю версию драйвера ключа защиты с официального сайта производителя системы защиты (HASP/Sentinel или Guardant).
- Выполним чистую установку драйвера, предварительно остановив и удалив старую службу защиты.
- В настройках системы проверяем параметры DEP (Data Execution Prevention):
- Откроем Свойства системы > Дополнительно > Быстродействие (Параметры) > Предотвращение выполнения данных.
- Установим переключатель в положение «Включить DEP только для основных программ и служб Windows» либо добавим
1cv8.exe в список исключений.
Решение сопутствующей ошибки «Неверное имя таблицы (pos = 69)»
Если после обновления платформы помимо вылетов приложения 1С в конфигурациях (например, УПП) возникают ошибки обращения к СУБД вида «Неверное имя таблицы (pos = 69)», разберем быстрые способы устранения:
- Включение режима совместимости: В Конфигураторе в свойствах корневого узла конфигурации временно установим режим совместимости с предыдущей версией платформы, на которой база работала стабильно.
- Тестирование и исправление: Запустим режим
Администрирование > Тестирование и исправление... с отмеченными флажками «Реиндексация таблиц базы данных» и «Реструктуризация таблиц базы данных». Это приведет структуру физических таблиц СУБД в соответствие с метаданными.