View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003395 | SAS.Планета | Баг / Bug | public | 11-01-2019 16:17 | 14-01-2019 12:55 |
| Reporter | Helpmister | Assigned To | zed | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 181221 | ||||
| Target Version | 190707 | Fixed in Version | 190707 | ||
| Summary | 0003395: Вылет ошибки при удалении категории меток | ||||
| Description | Ошибка будет, если метка - JPG | ||||
| Steps To Reproduce | Импорт фотографий JPG(создаётся новая категория) Удаляем "Новая категория", закрываем окно "Управление метками", закрываем SAS, ОшибкИ программы | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
|
|
Какие ошибкИ? Дебажная версия создаёт лог? |
|
|
Добавил картинки. Пойдёт? |
|
|
Не пойдёт. 0. Скачать крайнюю ночную версию; 1. Запустить SASPlanet.NonUnicode.Debug.exe; 2. Воспроизвести ошибку; 3. Приложить создавшийся *.elf файл с логом. |
|
|
Вложил |
|
|
Метки в SML формате храните? У меня никак не воспроизводится... |
|
|
Да, в SML Дайте время, протестю ещё раз |
|
|
На крайней ночнушке тоже самое Эльфа вложил |
|
|
Можете записать видео того, как вы воспроизводите ошибку на чистой ночной сборке? |
|
|
Попробую. |
|
|
Zed Я Вам отправил ЛС, получили? |
|
|
Нет. По определённым причинам со мной невозможно связаться через форум. Пишите мне на почту [email protected], если надо что-то обсудить в привате. |
|
|
Получил видео, воспроизвёл ошибку и нашёл баг в 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. Первый метод проще, его и применил. |
|
|
> Первый метод проще, его и применил. Все правильно. Похожий код есть при вставке элемента. Но я совсем не понимаю, как эта бяка прожила там так долго. Капец. |
| 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 | |
| 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 | => 190707 |
| 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 | => 190707 |
| 14-01-2019 12:55 | vdemidov | Note Added: 0018509 | |
| 08-08-2025 13:22 | zed | Category | Баг => Баг / Bug |