|
Имя сбойного приложения: 1cv8c.exe ucrtbase.DLL | ☑ | ||
---|---|---|---|---|
0
paull2006
08.02.22
✎
10:51
|
Помогите что за ерунда. Замучался уже. Server 2008 клиент подключаются в файловом режиме по сети к базе и при закрытии месяца вот такая ерунда. Аварийное завершение. И это происходит после обновления платформы.
Полная ошибка Имя сбойного приложения: 1cv8c.exe, версия: 8.3.17.1851, метка времени: 0x5fb429b6 Имя сбойного модуля: ucrtbase.DLL, версия: 10.0.17134.12, метка времени: 0xbb0923b6 Код исключения: 0xc0000409 Смещение ошибки: 0x000a273b Идентификатор сбойного процесса: 0x2328 Время запуска сбойного приложения: 0x01d81cba6b454833 Путь сбойного приложения: C:\Program Files (x86)\1cv8\8.3.17.1851\bin\1cv8c.exe Путь сбойного модуля: C:\Program Files (x86)\1cv8\8.3.17.1851\bin\ucrtbase.DLL Идентификатор отчета: 41dc51b0-88b1-11ec-85ee-94de80e57bea Полное имя сбойного пакета: Код приложения, связанного со сбойным пакетом: С++ обновляю до самого нового на сервере. |
|||
1
1Сергей
08.02.22
✎
10:55
|
||||
2
mistеr
08.02.22
✎
10:57
|
(0) Платформа точно не ломаная?
|
|||
3
paull2006
08.02.22
✎
11:18
|
Нет. Стоит ключ сетевой и на 10 пользователей
|
|||
4
1Сергей
08.02.22
✎
11:31
|
64 битную платформу пробовали?
|
|||
5
paull2006
08.02.22
✎
11:33
|
Там server 2008 86
|
|||
6
1Сергей
08.02.22
✎
11:41
|
(5) жость.
А есть возможность прописать путь через айпи? |
|||
7
hhhh
08.02.22
✎
11:43
|
(5) тогда эта папка откуда? Program Files (x86) ?? Значит, кто-то врет?
|
|||
8
paull2006
08.02.22
✎
12:03
|
На сервере стоит 86 на клиенте 64. То есть можно на клинте 64 поставить да.
|
|||
9
paull2006
08.02.22
✎
12:03
|
Что значит ?
|
|||
10
paull2006
08.02.22
✎
12:03
|
А есть возможность прописать путь через айпи?
|
|||
11
paull2006
08.02.22
✎
12:05
|
На сервере 86 система на клиенте 64 разрядная. Везде стоит 1с 32 разрядная. То есть на клиенте можно установить 64 1с?
|
|||
12
1Сергей
08.02.22
✎
12:16
|
(11) не работал с файловыми. Но, вроде смысла в 64 битах не много
|
|||
13
paull2006
08.02.22
✎
12:19
|
Так вот и не понимаю из за чего падает
|
|||
14
1Сергей
08.02.22
✎
12:19
|
(13) пробовали (6)?
|
|||
15
paull2006
08.02.22
✎
12:29
|
1Сергей Что именно пробовал
|
|||
16
1Сергей
08.02.22
✎
12:31
|
(15) путь к базе вместо \\server2008\BaseName прописать \\192.168.1.1\BaseName
|
|||
17
paull2006
08.02.22
✎
12:35
|
ок
|
|||
18
mistеr
08.02.22
✎
13:30
|
Причем тут пути? Ошибка это чисто внутренняя, порча стека. Это либо баг конкретного релиза, либо несовместимость с какой-то системной библиотекой. А может антивирус порет.
Предлагаю поискать на багтрекере 1С по имени библиотеки. Если нет, то обратиться в поддержку и решать с ней. |
|||
19
Chai Nic
08.02.22
✎
13:32
|
Не надо работать с файловой базой по сети
|
|||
20
paull2006
08.02.22
✎
13:36
|
Chai Nic Ну тут такая ситуация и всего два человека сидит на данный момент
|
|||
21
paull2006
08.02.22
✎
13:56
|
Путь 192.168.*.* не помогает
|
|||
22
paull2006
08.02.22
✎
13:56
|
Опять вылетает
|
|||
23
Ёпрст
08.02.22
✎
13:57
|
(0)
на вот, почитай на ночь. Кому-то 64х помогает, кто-то в свойствах сетевой карты флаги выставляет. Кто-то подорожник прикладывает. Но чаще, забивают болт https://forum.infostart.ru/forum9/topic223586/ |
|||
24
Ёпрст
08.02.22
✎
13:58
|
вот это сделай оттуда:
>>>>> в свойствах сетевой карты параметр "Разгрузка при большой отправке (IPv4)" установлен в значение "Выключен" |
|||
25
mistеr
08.02.22
✎
14:03
|
(24) Это из той же серии, что
>в хост (в файл hosts) добавить строку: 127.0.0.1 baidu.cn или ещё что-то ограничить Попинать колеса, протереть фары... |
|||
26
paull2006
08.02.22
✎
14:18
|
На сервере или на клиенте?
в свойствах сетевой карты параметр "Разгрузка при большой отправке (IPv4)" установлен в значение "Выключен" |
|||
27
paull2006
08.02.22
✎
15:21
|
Это не может влиять при установке платформы. решил 18 поставить
https://cloud.mail.ru/public/ho4j/9guUvDSdg |
|||
28
Ёпрст
08.02.22
✎
15:25
|
(25) ну, кому-то помагает..
ХЗ, не было файловой по-сети, не с чем сравнивать |
|||
29
1Сергей
08.02.22
✎
15:28
|
может имеет смысол перейти на вэб? Файловую вроде можно опубликовать в апаче
|
|||
30
paull2006
08.02.22
✎
15:36
|
в апаче пробовал ошибки часто тоже появляются. И вся это канитель после новой платформы.
|
|||
31
Chai Nic
08.02.22
✎
15:38
|
(29) +1. В файловой базе надо работать через веб-сервер. Напрямую с файлом работать в файловой базе можно только если база локальная однопользовательская.
|
|||
32
paull2006
08.02.22
✎
20:25
|
Многие каждый раз пишут левая? Если ломанная проверку если не ошибаюсь не проходит.
https://cloud.mail.ru/public/ZPbn/edyWN9unp |
|||
33
ДедМорроз
08.02.22
✎
20:41
|
https://answers.microsoft.com/ru-ru/windows/forum/all/имя/97d322bc-ab6f-41eb-8667-e024559d8b4b
Как бы это runtime library, и в ней,судя по всему,просто ошибка - тут даже 1с не виновата. |
|||
34
ДедМорроз
08.02.22
✎
20:43
|
Это я к чему,если поискать по имени этой dll,то ошибка-то таже самая,но пользователи там про 1с не знают.предлагается искать обновление Си 2017.
|
|||
35
paull2006
08.02.22
✎
20:46
|
ДедМорроз так самые последние ставлю и на серваке и на клиентах
|
|||
36
ДедМорроз
08.02.22
✎
21:02
|
Если ты внимательно почитаешь ссылку,то заметишь,что после обновления windows что-то сломалось - значит - нужно попробовать не самую последнюю библиотеку.
|
|||
37
ДедМорроз
08.02.22
✎
21:13
|
Ну или ставить версию платформы,где другая версия библиотеки,в принципе.
|
|||
38
paull2006
08.02.22
✎
21:13
|
||||
39
paull2006
08.02.22
✎
21:14
|
От 2005 до 2022. Причем на всякий старые удалил и новые поставил
|
|||
40
paull2006
08.02.22
✎
21:18
|
Может вообще все удалить и только 2017 поставить которая с платформой идет?
|
|||
41
ДедМорроз
09.02.22
✎
00:37
|
На самом деле,все действия - это танцы с бубнами.
Сейчас я попытаюсь объяснить причину ошибки. У нас есть dll, в данном случае ucrlbase,как и у любой dll все данные в ней разбиты на секции,которые грузятся в память по определенным адресам,называемым базовыми адресами,но базовый адрес в адресном пространстве процесса может быть занят,тогда делается загрузка по другому адресу и используется таблица переразмещения,которая правит ссылки. Но,может оказаться,что одну из ссылок в dll забыли добавить в таблицу переразмешения,п базовый адрес этого сегмента выбрали так,что он ни с чем не пересекается. Когда dll отлаживают,она грузится по базовому адресу (для этого сегмента)и все работает как часы. Потом эту dll используют во многих программах,в том числе и в 1с,и все также работает как часы. Но,в какой-то из программ,использующих целевую dll используется еще и dll "простая 1",которая грузится совершенно по другому адресу и никак не мешает нашей. Потом,встречается программа или служба,использующая также dll "простая",но кроме нее еще и dll "совсем простая", которая по какому-то стечению обстоятельств перекрыла базовый адрес dll "простая". Тут еще нужно отметить интересное поведение windows,что dll грузится по базовому адресу,а если не может загрузиться,то по любому свободному,с использованием переразмещения. Но,в целях экономии памяти,если dll зашружена по какому-то адресу в один процесс,то в другой она будет грузиться сначала не по базовому,а уже используемому адресу,так как в этом случае,память под код dll у обоих процесмов будет общей. В итоге,по какой-то причине у процесса,запускающегося ранее нашего,используемая dll "простая" попадает в блок адресов нашей dll. Так как этот процесс о нашей dll не знает,а в dll простая ошибки перераспределения нет,то он работает без ошибок. А вот теперь запускается наш процесс,который сначала грузит dll "простая" и занимает адрес нашей dll,так как в другом процессе она использует этот же адрес,а потом грузит нашу dll, вызывая переразмешение,которое приводит к битой ссылке внутри нашей dll,и процесс падает со странной ошибкой. И,понять суть проблемы очень тяжело,а также непросто выявить ошибку первоначального распределения адресов,так как нагадивший процесс,в котором две произвольных dll столкнулись базовыми адресами,может быть уже давно завершен. А потом думайте - может ли одна программа повлиять на другую - оказывается может,причем так,что никто сразу и не разберется. |
|||
42
mistеr
09.02.22
✎
09:20
|
(41) Ты гонишь.
> в целях экономии памяти,если dll зашружена по какому-то адресу в один процесс,то в другой она будет грузиться сначала не по базовому,а уже используемому адресу,так как в этом случае,память под код dll у обоих процесмов будет общей В Windows вся память виртуальная, у каждого процесса свое адресное пространство. Адрес для размещения dll выбирается без оглядки на другие процессы или физ. адрес. >dll грузится по базовому адресу,а если не может загрузиться,то по любому свободному,с использованием переразмещения По базовому адресу ничего не грузится уже очень давно, из-за ASLR. >Но,может оказаться,что одну из ссылок в dll забыли добавить в таблицу переразмешения,п базовый адрес этого сегмента выбрали так,что он ни с чем не пересекается. Наверное, это может случиться с какой-нибудь "dll простая", которую студент транслировал и собирал вручную, но не с Microsoft C Runtime Library. :) Кроме того, 1C использует не общесистемную версию этой библиотеки, а свою собственную, которая грузится только в процессы 1С. |
|||
43
paull2006
09.02.22
✎
15:07
|
Это конечно все хорошо но для меня заумно :)
|
|||
44
mistеr
09.02.22
✎
17:46
|
(43) А это не для тебя. :) Для тебя (18)
|
|||
45
ДедМорроз
09.02.22
✎
21:36
|
(42) у dll есть параметр,определяющий использование страниц кода,они могут проецироваться в адресное пространство сразу нескольких процессов без проблем,главное,чтобы виртуальные адреса совпадали.
Иначе бы,например,user32 было бы столько,сколько процессов,а так для вмех процессов одна копия в ФИЗИЧЕСКОЙ памяти. |
|||
46
Anchorite
10.02.22
✎
06:50
|
(0) Попробуйте добавить в исключения антивируса/Защитника Windows исполняемые файлы 1с и пути к платформе. У меня пару лет назад Розница на одной точке таким же образом постоянно валилась с ошибкой, такой вот ход конём помог.
|
|||
47
Anchorite
10.02.22
✎
06:55
|
(3) Ну и насчёт веб-сервера непонятно, у вас там точно такая же ошибка? То есть и толстый клиент в файловом режиме, и тонкий клиент через веб-сервер выдают в точности одно и то же? Это очень странно, если так, сложно поверить. Попробуйте в таком случае доступ через браузер, уж там-то точно такой ошибки быть не может.
|
|||
48
mistеr
10.02.22
✎
07:49
|
(45) >для вмех процессов одна копия в ФИЗИЧЕСКОЙ памяти
Это для всех библиотек так, не только для user32. Но виртуальные адреса разные. В этом смысл "проецирования". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |