View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003395SAS.Планета[All Projects] Багpublic11-01-2019 16:1714-01-2019 12:55
ReporterHelpmister 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version181221 
Target Version1906xxFixed in Version1906xx 
Summary0003395: Вылет ошибки при удалении категории меток
DescriptionОшибка будет, если метка - JPG
Steps To ReproduceИмпорт фотографий JPG(создаётся новая категория)
Удаляем "Новая категория", закрываем окно "Управление метками", закрываем SAS,
ОшибкИ программы
TagsNo tags attached.
Attached Filesjpg file icon Bag.jpg [^] (66,874 bytes) 11-01-2019 16:45


? file icon SASPlanet.Debug.elf [^] (44,365 bytes) 11-01-2019 16:59
? file icon SASPlanet.NonUnicode.Debug.elf [^] (43,417 bytes) 11-01-2019 17:21

- Relationships

-  Notes
(0018493)
zed (manager)
11-01-2019 16:31

Какие ошибкИ? Дебажная версия создаёт лог?
(0018494)
Helpmister (reporter)
11-01-2019 16:49

Добавил картинки. Пойдёт?
(0018495)
zed (manager)
11-01-2019 16:51
edited on: 11-01-2019 16:52

Не пойдёт.

0. Скачать крайнюю ночную версию;
1. Запустить SASPlanet.NonUnicode.Debug.exe;
2. Воспроизвести ошибку;
3. Приложить создавшийся *.elf файл с логом.

(0018496)
Helpmister (reporter)
11-01-2019 16:59

Вложил
(0018497)
zed (manager)
11-01-2019 17:09

Метки в SML формате храните?

У меня никак не воспроизводится...
(0018498)
Helpmister (reporter)
11-01-2019 17:13

Да, в SML

Дайте время, протестю ещё раз
(0018499)
Helpmister (reporter)
11-01-2019 17:21

На крайней ночнушке тоже самое
Эльфа вложил
(0018500)
zed (manager)
11-01-2019 17:34

Можете записать видео того, как вы воспроизводите ошибку на чистой ночной сборке?
(0018501)
Helpmister (reporter)
11-01-2019 17:37

Попробую.
(0018506)
Helpmister (reporter)
13-01-2019 22:10

Zed Я Вам отправил ЛС, получили?
(0018507)
zed (manager)
14-01-2019 06:07

Нет. По определённым причинам со мной невозможно связаться через форум.

Пишите мне на почту [email protected], если надо что-то обсудить в привате.
(0018508)
zed (manager)
14-01-2019 12:00

Получил видео, воспроизвёл ошибку и нашёл баг в TIDInterfaceList.

Как воспроизвести:
- создать пустую SML базу меток;
- добавить 2 метки в одну вновь созданную категорию;
- удалить категорию;
- закрыть программу - произойдёт AV в методе TIDInterfaceList.SetCapacity на строке SetLength(FList, NewCapacity) (NewCapacity = 0, т.е. идёт очистка списка).

Сам баг живёт в методе TIDInterfaceList.Delete, когда происходит удаление НЕ последнего элемента, т.е. когда вызывается метод Move.

Засада в том, что элемент содержит интерфейсную переменную и после Move остаётся её мусорная копия. Всё бы ничего, мы же в коде к той переменной не обращаемся и RefCount работает как надо, но вот когда вызывается SetLength, который обнаруживает там интерфейсную переменную не равную nil, вот тогда он и пытается её удалить и вываливается в AV.

Есть 2 решение проблемы:
- подчищать мусор после Move в Delete;
- использовать Realloc и указатель на массив, вместо SetLength в SetCapacity.

Первый метод проще, его и применил.
(0018509)
vdemidov (manager)
14-01-2019 12:55

> Первый метод проще, его и применил.
Все правильно. Похожий код есть при вставке элемента.

Но я совсем не понимаю, как эта бяка прожила там так долго. Капец.

- Users who viewed this issue
User List Anonymous (138x), sergeyka (1x), vdemidov (8x), zed (23x), Tolik (4x), Helpmister (24x)
Total Views 198
Last View 25-03-2019 04:11

- Issue History
Date Modified Username Field Change
11-01-2019 16:17 Helpmister New Issue
11-01-2019 16:31 zed Note Added: 0018493
11-01-2019 16:45 Helpmister File Added: Bag.jpg
11-01-2019 16:49 Helpmister Note Added: 0018494
11-01-2019 16:51 zed Note Added: 0018495
11-01-2019 16:52 zed Note Edited: 0018495 View Revisions
11-01-2019 16:59 Helpmister File Added: SASPlanet.Debug.elf
11-01-2019 16:59 Helpmister Note Added: 0018496
11-01-2019 17:09 zed Note Added: 0018497
11-01-2019 17:13 Helpmister Note Added: 0018498
11-01-2019 17:21 Helpmister File Added: SASPlanet.NonUnicode.Debug.elf
11-01-2019 17:21 Helpmister Note Added: 0018499
11-01-2019 17:34 zed Note Added: 0018500
11-01-2019 17:37 Helpmister Note Added: 0018501
13-01-2019 11:08 zed Status new => feedback
13-01-2019 22:10 Helpmister Note Added: 0018506
13-01-2019 22:10 Helpmister Status feedback => new
14-01-2019 06:07 zed Note Added: 0018507
14-01-2019 06:47 vdemidov Status new => feedback
14-01-2019 12:00 zed Note Added: 0018508
14-01-2019 12:00 zed Status feedback => resolved
14-01-2019 12:00 zed Fixed in Version => 1906xx
14-01-2019 12:00 zed Resolution open => fixed
14-01-2019 12:00 zed Assigned To => zed
14-01-2019 12:01 zed Target Version => 1906xx
14-01-2019 12:55 vdemidov Note Added: 0018509



Copyright © 2007 - 2019 SAS.Planet Team