Wbase83 dll 1c отсутствует

Обновлено: 03.07.2024

Добрый день, дорогие друзья, я в своей работе часто сталкивался с рядом ошибок связанных с com объектами. Когда я только начинал работать в сфере ИТ, то подобные ошибки о которых пойдет речь ниже, вызывали у меня недоумение и я отправлял пользователей к программистам, но потом шло время и опыт мой рос, такие проблемы начал решать самостоятельно, теперь хочу поделиться решениями с вами.

Рассмотрим первый пример - ошибка связана с внешней обработкой EDI

Данная ошибка устраняется очень просто, вам нужно зарегистрировать excon.dll. Для этого открываем cmd от имени администратора и прописываем следующие команды

Решается не сложно, но для решения есть несколько методов и в разных ситуациях спасает тот или иной метод решения. Ниже рассмотрим примеры данной ошибки и решения.

Первое что нужно попробовать сделать на машине пользователя - это зарегистрировать comcntr.dll

Для этого открываем cmd от имени администратора и прописываем следующие команды

regsvr32 "C:\Program Files (x86)\1cv8\ 8.3.15.1778 \bin\comcntr.dll" - Все что выделено жирным шрифтом, в вашем случае может отличаться
cd c:\Windows\SysWOW64 regsvr32 "C:\Program Files\1cv8\ 8.3.15.1778 \bin\comcntr.dll" - Все что выделено жирным шрифтом, в вашем случае может отличаться

Если данное решение не помогает, то нужно проверить на сервере 1С возникает такая же ошибка или нет, если возникает при тех же действиях, то сделать следующие действия в cmd от имени администратора

"C:\Program Files (x86)\1cv8\ 8.3.15.1778 \bin\1cv8.exe" /regserver - Все что выделено жирным шрифтом, в вашем случае может отличаться
"C:\Program Files\1cv8\ 8.3.15.1778 \bin\1cv8.exe" /regserver " - Все что выделено жирным шрифтом, в вашем случае может отличаться

Можно создать данное com соединение с помощью "Службы Компонентов Windows" , об этом рассказывать не буду в данной статье, если вам нужна информация, пишите комменты, я свяжусь с вами и все расскажу. Если будет много пожеланий, сделаю отдельную статью на эту тему.

Третья ошибка связана с компонентой MSScript

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

Решение не сложное и данное решение можно автоматизировать если проблема массовая (массовая может быть из-за обновления релиза 1С)

Давайте начнем по порядку и зайдем в "Службы Компонентов Windows" от имени администратора на пользовательской машине где возникает данная ошибка и найдем там " Приложения COM+ "

Теперь нужно нажать правой клавишей мыши по " Приложения COM+ " и выбрать " Создать-->Приложение "

Откроется мастер установки в котором нужно проделать все что показано на скринах ниже

У вас в основном окне появится только что созданное приложение и его нужно настроить, для этого щелкаем по нему правой кнопкой мыши и выбираем " Свойства " и переходим во вкладку " Безопасность " в которой настраиваем все один в один как на скрине ниже

Теперь необходимо для него создать компоненту и запустить ее в работу, снова предлагаю наглядно посмотреть на скрины ниже.

Осталось только запустить компоненту и ошибку в 1С вы устранили. Для запуска вам нужно перейти в " Приложения COM+ ", в центральном окне найти Msscript и нажать правой кнопкой мыши, затем нажать " Пуск " и ваша компонента начнет работать.

Теперь пару слов об автоматизации данного процесса т.к. бывают массовые случаи когда слетает данная компонента. Наша задача сделать msi файл и затем его разлить с помощью групповых политик или с помощью kaspersky security center (если конечно вы им пользуетесь - в моем случае удобнее было воспользоваться именно касперским)

Для создания файла msi необходимо выполнить все рекомендации со скринов ниже

Описание проблемы

Есть RDS ферма в режиме HA, построенная на базе серверов Windows Server 2012 R2. В совершенно разное время появляются жалобы, что пользователь не может корректно выйти из системы(/na-terminalnom-servere-visit-vyhod-iz-sistemy/), ряд мер я описывал по данному вопросу, но они к сожалению срабатывают не всегда. В такой ситуации пока алгоритм был такой, пользователям отправлялось уведомление на терминальный стол, после чего шла перезагрузка. Просматривая логи событий, во всех случаях присутствовали одни и те же ошибки, и все они указывали на какой-то косяк со стороны 1С 8.3.14.1630. Вот вам примеры текущих ошибок:

События с кодом ID 1000 журнал Application Error: Имя сбойного приложения: 1cv8c.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4c97
Имя сбойного модуля: wbase83.dll, версия: 8.3.14.1630, метка времени: 0x5c6e4bb7
Код исключения: 0xc0000005
Смещение ошибки: 0x00006895
Идентификатор сбойного процесса: 0x266c
Время запуска сбойного приложения: 0x01d547768b10a80e
Путь сбойного приложения: C:\Program Files (x86)\1cv8\8.3.14.1630\bin\1cv8c.exe
Путь сбойного модуля: C:\Program Files (x86)\1cv8\8.3.14.1630\bin\wbase83.dll
Идентификатор отчета: 3c6e27af-b37a-11e9-815f-0050568dcf1e
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:

1cv8c.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4c97


События с кодом ID 1000 журнал Application Error: Имя сбойного приложения: EXCEL.EXE, версия: 16.0.4873.1000, метка времени: 0x5cffdabb
Имя сбойного модуля: EXCEL.EXE, версия: 16.0.4873.1000, метка времени: 0x5cffdabb
Код исключения: 0xc0000005
Смещение ошибки: 0x0002b78b
Идентификатор сбойного процесса: 0x2d80
Время запуска сбойного приложения: 0x01d546ec7c1c1a1f
Путь сбойного приложения: C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE
Путь сбойного модуля: C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE
Идентификатор отчета: bc1811e7-b2df-11e9-815f-0050568dcf1e
Полное имя сбойного пакета:

Имя сбойного приложения: EXCEL.EXE, версия: 16.0.4873.1000, метка времени: 0x5cffdabb

События с кодом ID 1000 журнал Application Error: Имя сбойного приложения: 1cv8.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4d23
Имя сбойного модуля: rtrsrvc.dll, версия: 8.3.14.1630, метка времени: 0x5c6e4d21
Код исключения: 0xc0000005
Смещение ошибки: 0x00031042
Идентификатор сбойного процесса: 0xb37c
Время запуска сбойного приложения: 0x01d5388ac2b67852
Путь сбойного приложения: C:\Program Files (x86)\1cv8\8.3.14.1630\bin\1cv8.exe
Путь сбойного модуля: C:\Program Files (x86)\1cv8\8.3.14.1630\bin\rtrsrvc.dll
Идентификатор отчета: 87f52a22-a4da-11e9-815c-0050568dcf1e
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:

Имя сбойного приложения: 1cv8.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4d23

События с кодом ID 1000 журнал Application Error: Имя сбойного приложения: mstsc.exe, версия: 6.3.9600.18980, метка времени: 0x5ab67164
Имя сбойного модуля: ntdll.dll, версия: 6.3.9600.19304, метка времени: 0x5c7f684f
Код исключения: 0xc0000374
Смещение ошибки: 0x00000000000f1cd0
Идентификатор сбойного процесса: 0x49f0
Время запуска сбойного приложения: 0x01d5387f8ab96e71
Путь сбойного приложения: C:\Windows\system32\mstsc.exe
Путь сбойного модуля: C:\Windows\SYSTEM32\ntdll.dll
Идентификатор отчета: d802c5d7-a472-11e9-815c-0050568dcf1e

Имя сбойного приложения: mstsc.exe, версия: 6.3.9600.18980, метка времени: 0x5ab67164

Программа 1cv8c.exe версии 8.3.14.1630 прекратила взаимодействие с Windows и была закрыта

Видно, что из-за этой ошибки 1С так же повис проводник Windows:

Программа Explorer.EXE версии 6.3.9600.18231 прекратила взаимодействие с Windows и была закрыта

Алгоритм поиска проблемы

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

1. Вводил абсолютно свежий сервер с установленным Windows Server 2012 R2, эффекта не дало, ошибка все так же появилась
2. Удалил все неиспользуемые версии 1С, остались на текущий момент
3. Пробовал удалять кэш 1С, эффекта не дало
4. Переустановка самого клиента 1С, эффекта нет

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

Утилита Logman.exe

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

Когда вы захватываете через утилиту Logman.exe трассировку событий, то создается очень объемный лог, и если вы его не ограничите, то он забьет ваш диск за час. Для того, чтобы его слегка минимизировать мы может явным образом указать какие именно провайдеры Windows вы должны захватывать, как их определить я покажу чуть ниже. Откройте командную строку, лучше в режиме администратора, чтобы всякие UAC вам не мешали. Далее посмотрим всех доступных поставщиков, если не будет влезать на экран, то можете воспользоваться ключом | more или запустить все в PowerShell.

logman query providers

Как видим их приличное количество, но нам бы хотелось анализировать только те, что относятся к 1С. Чтобы отфильтровать, поставщиков Windows, вы можете использовать PID процесса. В диспетчере задач найдите нужный вас процесс, предположим в моем примере это ID 42424

Как определить PID процесса

В командной строке пишем:

На выходе вы получите уже меньшее количество поставщиков Windows, у меня это получилось вот так для 1С 8.3.14.1630. Тут нас будут интересовать исключительно GUID.

Поставщики Windows для 1С

Вам необходимо в текстовый файл сохранить именно GUID значения, по одному значению в строке. Далее этот файл нам будет нужен, при мониторинге. Создайте у себя для удобства отдельную папку. в которую сохраните файл со списком GUID. у меня это будет путь C:\tmp\provaders8.txt. Далее вам нужно определиться сколько вы готовы отдать под файл лога, учтите что он заполняется молниеносно, и сохраняется в сжатом виде в формате .etl, но если вы его потом распакуете, то например 50 МБ превратятся в 750, это нужно учитывать, но есть и обратная сторона нужно больше данных для диагностики, поэтом маленьким его делать так же нет смысла. Я в своем поиске сделаю его 3 ГБ.

В командной строке создаем новую трассировку в Logman.exe:

logman create trace -n 1C8 -f bincirc -max 3000 -ow -o C:\tmp\1C8.etl -ets

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

l;ogman запуск задачи

В итоге у вас начинается наполнение файла .etl

наполнение файла .etl

Посмотреть статус и список работающих провайдеров вы можете командой:

logman query -ets

Я вижу, что мой сеанс отслеживания событий под именем 1С8 работает. Кстати если вы откроете оснастку "Управление компьютером" и перейдете в раздел "Производительность - Группы сборщиков данных - Сеансы отслеживания событий", то вы увидите тот же список заданий. Тут проще будет потом вносить изменения, например по ключевым словам или уровнем событий, так как по умолчанию у меня стоит уровень 0, подразумевающий собирать все.

Сеансы отслеживания событий

Теперь ждем сбоя, после которого вам нужно остановить ваше задание, можно из графического интерфейса

Остановка Сеансы отслеживания событий

или же командой:

Далее нам необходим из данного архива получить дамп приложения и его лог, для анализа. Сделать, это можно командой:

Получение дампа из .etl файла

Напоминаю, что у вам потребуется много места. Все начинается распаковка лога, вы будите видеть таскбар. В итоге из своих 3 ШБ, я получил файл дамп (dumpfile.xml) приложения 1С Предприятие в размере 41 ГБ и текстовый файл summary.txt

Полученный лог из logman

Получив такой огромный лог, я не смог его прочитать, утилита Microsoft Message Analyzer писала, что недостаточно памяти для продолжения выполнения программы. Пришлось уменьшать размер epl файла до 100 МБ и собирать меньшее количество провайдеров, исключив некоторые Microsoft и фиксировать только ошибки, уровня 2.

Выбор уровня логирования события

Так же я параллельно создал ключи реестра, которые при сбое определенного приложения будут записывать его дамп.

создание дампа 1с


В итоге я получил небольшого вида файлы, которые чуть больше смогли ответить, в чем проблема связанная с появлением ошибки с ID 1000.

Файлы дампа 1с

Откройте DebugDiag Analysis, выберите пункты:

  • crashHangAnalysis
  • MemoryAnalysis
  • KernelCrashHangAnalysys

Анализ дампа в DebugDiag Analysi

После чего нажимаем кнопку "Add data Files".

добавление дампов в DebugDiag Analysi


После чего нажмите "Start Analysis"

анализ дампа 1с с ошибкой ID 1000

На выходе вы получаете веб отчет, у меня выглядело вот так:

WARNING - DebugDiag was not able to locate debug symbols for \wbase83.dll, so the information below may be incomplete.

In 1cv8c.exe.10324.dmp the assembly instruction at wbase83!wbase::BaseWindow::windowProc+fe4 in C:\Program Files (x86)\1cv8\8.3.14.1630\bin\wbase83.dll from 1C-Soft LLC has caused an access violation exception (0xC0000005) when trying to read from memory location 0x13380954 on thread 0
Please follow up with the vendor 1C-Soft LLC for C:\Program Files (x86)\1cv8\8.3.14.1630\bin\wbase83.dll

In 1cv8c.exe.10324.dmp the assembly instruction at wbase83!wbase

Далее хотя бы видно, к какой базе данных было подключение, для этого есть ключ /IBName.

ID 1000 /IBName

Далее вы увидите более детальную отладочную информацию по Thread - System ID, она может быть полезна для разработчиков 1С.

Thread 6 - System ID 118516

This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.

В нашей базе содержится 149 разных файлов с именем wbase83.dll . You can also check most distributed file variants with name wbase83.dll. Чаще всего эти файлы принадлежат продукту 1C:Enterprise 8.3. Наиболее частый разработчик - компания 1C. Самое частое описание этих файлов - wbase81. Этот файл - динамически подключаемая библиотека. Такая библиотека может загружаться и выполняться любым работающим процессом.

Подробности о наиболее часто используемом файле с именем "wbase83.dll"

Продукт: 1C:Enterprise 8.3 Компания: 1C Описание: wbase81 Версия: 8.3.2.172 MD5: 6ba1f034f57da4ece1eeaaa07566a42f SHA1: f928eea7f8f8179547f733ddb7697d075f4af479 SHA256: 0103ed36bb2f0a0edfec6806642018a11ea63267efb70c15b4f30d4e86a77c3f Размер: 150872 Папка: %PROGRAMFILES%\1cv8\8.3.2.172\bin ОС: Windows 7 Частота: Низкая Цифровая подпись: 1C Company Проверьте свой ПК с помощью нашей бесплатной программы

Icon

System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем.

Библиотека "wbase83.dll" безопасная или опасная?

Последний новый вариант файла "wbase83.dll" был обнаружен 3267 дн. назад. В нашей базе содержится 1 шт. вариантов файла "wbase83.dll" с окончательной оценкой Безопасный и ноль вариантов с окончательной оценкой Опасный . Окончательные оценки основаны на комментариях, дате обнаружения, частоте инцидентов и результатах антивирусных проверок. Библиотека с именем "wbase83.dll" может быть безопасным или опасным. Чтобы дать правильную оценку, вы должны определить больше атрибутов файла. Самый простой способ это сделать - воспользоваться нашей бесплатной утилитой для проверки файлов посредством нашей базы данных. Эта утилита содержит множество функций для контролирования вашего ПК и потребляет минимум системных ресурсов.
Щёлкните здесь, чтобы загрузить System Explorer.

Для чего и что лежит в кэше 1С?

Папки расположения кэша 1С

Для того, чтобы посмотреть содержимое кэша вам необходимо перейти вот по таки путям:

Для версии 1С 8.2

  • %userprofile%\AppData\Roaming\1C\1Cv82
  • %userprofile%\AppData\Local\1C\1cv82

Переменная Windows %userprofile% перекинет вас в профиль текущего пользователя, расширенный список переменных ОС читайте по ссылке

Для версии 1С 8.3

  • %userprofile%\AppData\Local\1C\1cv8
  • %userprofile%\AppData\Roaming\1C\1Cv8

Очистка кэша 1С

Хочу отметить, что данные папки скрытые и попасть в них вы можете по прямым путям, либо же включив отображение скрытых папок Windows

обратите внимание, что чаще всего кэш выглядит вот так некий GUID (589e052f-cbeb-41bf-a459-ebcfa8f5e27d) в виде папки, в которой лежит файл формата .pfl.

Очистка папки с кэшем 1С

Для чего чистить кэш 1С?

Лично я искал решение (Гипотеза) с зависанием терминального сервера, в логах которого я наблюдал вот такие ошибки:

Источник Application Error ID 1000: Имя сбойного приложения: 1cv8c.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4c97

Источник Application Error ID 1000: Имя сбойного приложения: 1cv8c.exe, версия: 8.3.14.1630, метка времени: 0x5c6e4c97

Методы очистки кэша 1С

Существует несколько методов и сценариев, которые можно использовать при работе с приложением:

  1. Ручная очистка папки с кэшем
  2. Очистка кэша пользователя 1с с помощью PowerShell скрипта
  3. Очистка с помощью скрипта cmd
  4. Через редактирование информационной базы
  5. Через утилиту OneCleaner.exe

Несколько сценариев из практики:

  1. Использование скрипта при входе в систему, тут не важно будет это cmd или PowerShell
  2. Создание у пользователя ярлыка или скопированного файла, например на рабочем столе для ручного, самостоятельного запуска.

Ручная очистка папки с кэшем 1С

Ручная Очистка кэша 1С

Удаление кэша 1C предприятия через PowerShell

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

  • Очистка папок с кэшем для одного пользователя:
  • Очистка кэша для всех пользователей, например для RDS фермы

Благодаря PowerShell вы можете выполнить более правильное удаление, так как затрагиваются только папки с кэшем GUID, пользовательские настройки остаются, в отличии от CMD.

Удаление кэша 1C предприятия через CMD

Командная строка, это один из самых старых и действенных методов по выполнению различных сценариев в Windows, пока даже PowerShell не может ее полностью заменить, например он не умеет делать команду ipconfig /release или ipconfig /renew. Для командной строки есть такие сценарии:

Или такой более короткий вариант

/Q — Отключает запрос на подтверждение.

/S — Удаление каталога со всеми вложенными подкаталогами.

Удаление кэша 1C предприятия через JavaScript

Очистка кэша 1С через OneCleaner.exe

Удаление кэша в OneCleaner.exe

Так же утилита может удалять старые платформы 1С, если потребуется, в любом случае полезная вещь.

Удаление платформ в OneCleaner.exe

Удаление кэша 1C предприятия через редактирование информационной базы

Необходимо в дополнительных параметрах запуска (в списке баз кнопка Изменить, последняя закладка) прописать команду /ClearCache. Пример использования:

ClearCache

Сценарии удаления кэша с групповой политикой

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

Удаление кэша при входе скриптом

Удаление кэша при входе скриптом powershell

Мне же больше по душе, это либо преобразовать скрипт PowerShell в EXE файл, скопировать через групповые политики на рабочий стол пользователя, чтобы он потом его легко сам запускал в нужный момент, так же подойдет и копирование bat файла или javascrip, это не важно, главное, что пользователь сможет сам его запустить. Как копировать файлы через групповую политику читаем по ссылке.

Читайте также: