View Issue Details

IDProjectCategoryView StatusLast Update
0002717SAS.ПланетаБаг / Bugpublic29-07-2015 12:26
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version.Nightly 
Target Version150915Fixed in Version150915 
Summary0002717: AV при сохранении нового полигона
DescriptionСловил несколько раз разрушительную авешку при попытке сохранить новый полигон в БД. Полигон создавался в гуе и нажималась кнопочка "Сохранить", после чего вываливалась AV в функции TMarkDbSml.UpdateMark (один раз получилось словить ошибку под отладчиком), программа закрывалась и файл меток становился равен нулю. Очень плохая ошибка.
Steps To ReproduceСохранялся простой полигон из трёх точек, но в базе было много сложных полигонов, общим числом от 500 и более.
Additional InformationМожет и ошибаюсь, но кажется нашёл, в чём могла быть ошибка: при сохранении нового полигона вызывался метод TfrmMain.TBEditPathSaveClick а оттуда метод FMarkDBGUI.SaveMarkModal и указывалось, что это существующий полигон (AIsNewMark = False). Возможно это и приводило иногда к косякам.
TagsNo tags attached.

Activities

zed

08-05-2015 12:22

manager   ~0015870

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

Посмотрим, будет ли падать теперь.

vdemidov

09-05-2015 07:50

manager   ~0015873

Не изменил поведение при нажатии на Enter.
Но оно и так не должно было влиять. AIsNewMark влияет только, если исходная метка передающаяся в тот метод пустая. А для нового полигона она должна быть пустой.

zed

09-05-2015 07:55

manager   ~0015874

Last edited: 09-05-2015 08:08

О, оно ещё и по Enter что-то делало? Не знал.

P.S. Пофиксил.

vdemidov

09-05-2015 08:12

manager   ~0015875

> после чего вываливалась AV в функции TMarkDbSml.UpdateMark
В каком месте?

zed

09-05-2015 08:18

manager   ~0015876

Точно не скажу. Где-то в конце. Может и на Save, потому как файл меток обнулялся.

AV было про write adress и адрес какой-то странный типа 80500000 (в начале пара цифр, а в конце много нулей).

vdemidov

09-05-2015 08:27

manager   ~0015877

Просто то что ты исправил никак не должно было повлиять. Разве что в поле FEditMarkPoly попал мусор уже после смены режима, то есть tbitmSaveMark.DropdownCombo установилась правильно, а потом значение FEditMarkPoly испортилось. А ты получается не убрал это повреждение, а просто замаскировал.

zed

09-05-2015 08:31

manager   ~0015878

Да, тоже была мысль про мусор.

Но я вообще исправлял не ради багофикса, а чтобы сделать быстрый Save без вызова диалога. Переделывал я это уже напоровшись пару раз на AV и чисто случайно увидел что в этом месте как-то неправильно вызываются методы - сохранение нового полигона под видом существующего. Отсюда и предположение.

vdemidov

09-05-2015 08:43

manager   ~0015879

Плохо.

vdemidov

29-07-2015 12:25

manager   ~0016237

Будем считать исправленным.

Issue History

Date Modified Username Field Change
08-05-2015 12:21 zed New Issue
08-05-2015 12:22 zed Note Added: 0015870
09-05-2015 07:50 vdemidov Note Added: 0015873
09-05-2015 07:55 zed Note Added: 0015874
09-05-2015 08:08 zed Note Edited: 0015874
09-05-2015 08:12 vdemidov Note Added: 0015875
09-05-2015 08:18 zed Note Added: 0015876
09-05-2015 08:27 vdemidov Note Added: 0015877
09-05-2015 08:31 zed Note Added: 0015878
09-05-2015 08:43 vdemidov Note Added: 0015879
29-07-2015 12:25 vdemidov Note Added: 0016237
29-07-2015 12:25 vdemidov Status new => resolved
29-07-2015 12:25 vdemidov Fixed in Version => 150915
29-07-2015 12:25 vdemidov Resolution open => fixed
29-07-2015 12:25 vdemidov Assigned To => zed
29-07-2015 12:26 vdemidov Target Version => 150915
08-08-2025 13:22 zed Category Баг => Баг / Bug