Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #925068

8.3.15 Конфигуратор: аварийное завершение при массовом помещении объектов в хранилище

Added by Max im 7 days ago. Updated 4 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
конфигуратор
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Конфигурация ПО

8.3.15.1830

Проблема

Плавающее аварийное завершение конфигуратора при массовом помещении объектов в хранилище

Воспроизведение

1. Скачать и развернуть файловую демо-базу УТ 11.2.3.229: https://releases.1c.ru/version_files?nick=Trade110&ver=11.2.3.229 (проблема реже, но воспроизводится и на более "легких" конфигурациях, например на демо-базе БСП 2.3.2.205: https://releases.1c.ru/version_files?nick=SSL23&ver=2.3.2.205 ).

2. Войти в базу под пользователем "Администратор" и создать файловое хранилище на сетевой шаре (через сервер хранилища баг не проверял), мой путь для примера: "\\fs01.ftt.local\ХранилищеКонфигураций\Test\UT".
При создании хранилища платформа предложит включить в конфигурации возможность изменения:
!Screenshot 2021-04-08 01.23.45.png!
Соглашаемся. В следующем диалоге для всех объектов поставщика, для которых разрешено изменение, включаем возможность редактирования ("желтый кубик без замка"):
!Screenshot 2021-04-08 01.26.28.png!
В следующем диалоге указать сетевой путь к хранилищу (имя пользователя хранилища "Администратор" можно оставить по умолчанию) и согласиться с подключением инфобазы к свежесозданному хранилищу.

3. Захватить корень конфигурации в хранилище и выполнить команду сравнения-объединения с приложенным файлом "1Cv8_mock_objects.cf".
Снять пометку с корня (это приведет к снятию всех пометок по всем дереве) и установить пометку для узла "Общие - Картинки".
Нажать "Выполнить", в результате чего в конфигурацию будет добавлено ~200 новых картинок.

4. Обновить конфигурацию БД.

5. Вызвать команду помещения корня конфигурации в хранилище (ПКМ по корню --> команда контекстного меню "Поместить").
В открывшемся окне будет отображен список новых объектов (упомянутые выше ~200 картинок).
Убедиться, что все объекты помечены флажком, и нажать кнопку "ОК".

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

6.1. Операция помещения изменений в хранилище будет успешно завершена. Это ожидаемое от платформы поведение.
6.2. Операция прервется сообщением "Ошибка при добавлении файла в файловое хранилище", что в точности повторяет описаное здесь: https://partners.v8.1c.ru/forum/topic/1853695
Конфигуратор при этом продолжает работать, т.е. доступна возможность повторить пункт 5.
6.3. Конфигуратор аварийно закрывается, в журнале событий ОС фиксируется событие

Faulting application name: 1cv8.exe, version: 8.3.15.1830, time stamp: 0x5df7211b
Faulting module name: core83.dll, version: 8.3.15.1830, time stamp: 0x5df71e21
Exception code: 0xc0000409
Fault offset: 0x00000000002a97ac
Faulting process id: 0x391c
Faulting application start time: 0x01d72bf7f86ea0b0
Faulting application path: C:\Program Files\1cv8\8.3.15.1830\bin\1cv8.exe
Faulting module path: C:\Program Files\1cv8\8.3.15.1830\bin\core83.dll
Report Id: e8b0e8ac-6cbb-4249-b09d-4ba5bd05290a
Faulting package full name: 
Faulting package-relative application ID: 

Fault bucket 1444021166752278745, type 5
Event Name: BEX64
Response: Not available
Cab Id: 0

Problem signature:
P1: 1cv8.exe
P2: 8.3.15.1830
P3: 5df7211b
P4: core83.dll
P5: 8.3.15.1830
P6: 5df71e21
P7: 00000000002a97ac
P8: c0000409
P9: 0000000000000002
P10:

В каталоге C:\Users\m.enikeev\AppData\Local\1C\1cv8\dumps создаются дампы (во вложении - два последних дампа).
В подкаталоге хранилища \data\stage остается папка с именем в виде УИДа (от каждой неудачной итерации помещения изменений в хранилище остается каждый раз новая папка).

7. Если предыдущий шаг пошел по варианту 6.1 (выполнился успешно), то повторить шаги, начиная с пункта 3, но теперь в качестве объединяемой конфигурации выбрать конфигурацию ИР (файл "1_1Cv8.cf" из вложения), размер которой составляет уже несколько мегабайт.
У меня в 9 случаев из 10 конфигуратор на этом шаге стабильно падает (сценарий 6.3) или выдает ошибку (сценарий 6.2).

8. Если и предыдущий шаг выполнился без ошибок, то откатить хранилище на первую версию, обновить основную конфигурацию инфобазы на конфигурацию из хранилища и повторить предыдущий шаг (захватить корень и выполнить сравнение-объединение с подсистемой ИР).
У меня в 5 случаях из 10 конфигуратор после такой "настойчивости" стабильно падает (6.3) или выдает ошибку (6.2).

History

#1 Updated by Сергей Старых 7 days ago

  • Description updated (diff)

#2 Updated by Сергей Старых 7 days ago

  • Description updated (diff)

#5 Updated by Сергей Старых 7 days ago

  • File deleted (Screenshot 2021-04-08 01.23.45.png)

#6 Updated by Сергей Старых 7 days ago

  • File deleted (Screenshot 2021-04-08 01.26.28.png)

#7 Updated by Max im 6 days ago

Воспроизвелось на домашнем ПК в следующем окружении:
  • ОС: Windows 8.1 (в исходном описании проблема воспроизводилась на Windows 10 и Windows 2012)
  • Платформа: 8.3.15.1700, 64 бита
  • Файловая демобаза УТ 11.2.3.229
  • Хранилище конфигурации располагается не на другом хосте в сети, а на моем локальном ПК.
    Внимание: в этом случае каталог хранилища обязательно должен быть превращен в сетевой (путь к хранилищу должен быть в виде "\\имя-ПК\папка"). С указанием пути к хранилищу как к локальной папке ("C:\Stuff\DepotUT") проблема не воспроизводится.
    Вот как сделать любую папку сетевой в ОС Windows: https://www.youtube.com/watch?v=mrvBKzwcQEo

Сначала воспроизведение шло по ветке 6.1 (изменения в конце шага 5 и далее шага 7 успешно поместились в хранилище), но после отката хранилища к первой версии (на шаге 8) конфигуратор при повторении шага 7 стал стабильно падать.
Очистка каталога "\data\stage" (внутри каталога хранилища) от "хвостов" неудавшихся помещений файлов (описанных в 6.3) не влияет на стабильность воспроизведения.

P.S. Прикладываю файл "1Cv8_mock_objects.cf" для шага 3. Кажется, я забыл его приложить в исходное описание.
P.P.S. Для шага 7 использовал актуальную версию подсистемы ИР (5.86.1), скачанную с сайта: http://devtool1c.ucoz.ru/load/osnovnye/actualsubsystem/1-1-0-1
P.P.P.S. На рабочем ПК проблема тоже воспроизводится с "виртуальной" сетевой папкой (т.е. необязательно располагать сетевой каталог хранилища на другом хосте в сети, достаточно весь сценарий воспроизведения проделывать в пределах одного хоста).

#8 Updated by Сергей Старых 5 days ago

  • File 1Cv8_mock_objects.cf added

#9 Updated by Сергей Старых 5 days ago

  • File deleted (1Cv8_mock_objects.cf)

#10 Updated by Max im 4 days ago

На домашнем ПК с "виртуальным" сетевым каталогом хранилища на актуальной версии платформы (8.3.18.1363) проблема не воспроизводится.

Нашел еще подходящий под описание баг: https://bugboard.v8.1c.ru/error/000042934.
Вот только указанная в этом описании версия (в которой он помечен как исправленный) ниже тех, на которых я стабильно наблюдаю эту проблему (8.3.15.1700 и 8.3.15.1830). Т.е. или баг тогда "не до конца" был исправлен, или информация о версии в указанной ссылке некорректная.

Проверю еще позже в рабочем окружении (там, где сетевая шара расположена на другом хосте в сети).

#11 Updated by Max im 4 days ago

Проверил: там, где на 8.3.15.1830 проблема воспроизвелась в 100% случаев, после открытия той же инфобазы в 8.3.18.1363 все изменения с первого раза успешно поместились в хранилище.
Баг можно считать исправленным, но начиная с какого именно релиза он исправлен - неизвестно. Точно не с того, что указан на багборде 1С :)

Also available in: Atom PDF