Имеется офис, где работают 3 бухгалтера с базами 1С. Конфигурация - Бухгалтерия для Казахстана 3.0. Базы файловые. Имеется выделенный компьютер-сервер - Windows 10 Prof 1903, на котором находятся данные базы, установлена 1С с опцией "компоненты веб-сервера", настроен IIS, базы опубликованы.
Суть проблемы: когда открываешь любую базу, примерно секунд через 5-10 появляется ошибка "Сеанс отсутствует или удален", после чего база соответственно закрывается:
Просмотр журнала событий Windows в журнале "Приложение" дает на каждое завершение сеанса падение процесса пула приложений iIS (w3wp.exe) где якобы виновна 1С-ная dll-ка ext.dll:
Событие падения w3wp.exe
[spoiler]Имя журнала: Application
Источник: Application Error
Дата: 10.09.2019 9:49:08
Код события: 1000
Категория задачи
100)Уровень: Ошибка
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: ASTCAR01TS001
Описание:
Имя сбойного приложения: w3wp.exe, версия: 10.0.18362.1, метка времени: 0xc1df70f7
Имя сбойного модуля: ext.dll, версия: 8.3.15.1565, метка времени: 0x5d39cbec
Код исключения: 0xc0000005
Смещение ошибки: 0x000000000002d5d1
Идентификатор сбойного процесса: 0x16e4
Время запуска сбойного приложения: 0x01d5678aa72e5b36
Путь сбойного приложения: c:\windows\system32\inetsrv\w3wp.exe
Путь сбойного модуля: C:\Program Files\1cv8\8.3.15.1565\bin\ext.dll
Идентификатор отчета: 1200142f-5d94-408d-8aee-7cfba6278443
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:
Xml события:
1000
2
100
0x80000000000000
32805
Application
ASTCAR01TS001
w3wp.exe
10.0.18362.1
c1df70f7
ext.dll
8.3.15.1565
5d39cbec
c0000005
000000000002d5d1
16e4
01d5678aa72e5b36
c:\windows\system32\inetsrv\w3wp.exe
C:\Program Files\1cv8\8.3.15.1565\bin\ext.dll
1200142f-5d94-408d-8aee-7cfba6278443[/spoiler]
Что делал, и что не решило проблему:
1. Менял версии платформ, откатываясь с 8.3.15.1565 до 8.3.14, 13, 12
2. Менял разрядность платформы 32/64 bit
3. Отключал/удалял антивирус
4. Начал подозревать что это какая-то хитрая причина в самой базе:
- скопировал базу с сервера клиента на тестовый сервер, опубликовал, открываю - все ОК
- на сервере клиента опубликовал для теста демку Бухгалтерии 3.0 - та же ошибка.
Т.е. ошибка не связана именно с БД 1С
5. Гуглил, в Гугле весь поиск сводится к двум решениям:
- в inetmgr IIS в свойствах опубликованной базы зайти в "Сопоставления обработчиков", прописать обработчик для wsisapi.dll, с путем "*", типом пути "Файл". Если он там есть, попробовать удалить и прописать заново
- В inetmgr IIS в свойствах пула приложений, который связан с опубликованной базой, поставить "Режим управляемого контейнера" - "Классический". В некоторых комментах рекомендовали поставить "Версия среды CLR.net в версию 2.0"
6. Заменил планки оперативной памяти в комьютере-сервере. Не в памяти дело
Параллельно написал вопрос в тех. поддержку 1С, те запросили логи, предоставил.
1С-ники пока молчат...
Далее начинается самое интересное. Пока жду ответа, решил снять образ ОС с компа-сервера, развернуть на виртуальной машине и пробовать различные варианты решения, чтобы не мешать работать бухгалтерам.
Снял образ - развернул. Проверил проблему - проблема есть. Начал перебирать варианты с удалением программ и прочего. Ничего не помогает. Решил попробовать проверить и восстановить системные файлы ( dism /online /cleanup-image...; sfc /scannow) - процедура прошла, перезагрузил виртуальную машину, и - "Бинго" - на виртуальной машине проблема решена !
Довольный, предвкушая завершение проблемы, делаю эти же действия на "боевом" сервере, проверяю - проблема не решена....
У меня "взрыв мозга".
Из всего вышенаписанного у меня 2 вопроса:
1. Какие мысли как решить проблему, что может быть причиной ( без переустановки ОС) ?
2. Почему на виртуальной машине проблема восстановлением системных файлов решилась, а на физической - нет ? Учитывая что образ ОС один и тот же.