SASGIS - SAS.Планета
View Issue Details
0002769SAS.Планета[All Projects] Багpublic21-07-2015 13:1322-07-2015 16:42
zed 
vdemidov 
normalminorsometimes
resolvedfixed 
.Nightly 
150915150915 
0002769: Срабатывает Assert в u_HashInterfaceCache2Q.pas
При попытке отрисовать тайл x=905; y=345; z11 на файле меток из аттача (пофикшенный вариант из тикета 0002768) срабатывает ассерт: Assertion failure (\sas.planet.src\Src\u_HashInterfaceCache2Q.pas, line 796).

Может быть имеет значение: особенность файла меток в том, что он исправлен и восстановлен в Hex-редакторе - последняя битая метка "Путь 68" удалена и добавлены закрывающие тэги датасета.

Метки открыты в режиме только для чтения, открываются без ошибок и отображаются нормально до ассерта.
Если эти метки импортировать в SQLite, то там ассертов при отображении данной области не наблюдается.
No tags attached.
7z assert.x905.y345.z11.7z (744,238) 21-07-2015 13:13
https://bugtracker.sasgis.org/file_download.php?file_id=1897&type=bug
Issue History
21-07-2015 13:13zedNew Issue
21-07-2015 13:13zedFile Added: assert.x905.y345.z11.7z
21-07-2015 13:36vdemidovNote Added: 0016213
21-07-2015 19:15vdemidovNote Added: 0016215
21-07-2015 19:15vdemidovAssigned To => vdemidov
21-07-2015 19:15vdemidovStatusnew => feedback
21-07-2015 19:15vdemidovTarget Version => 150915
22-07-2015 16:23zedNote Added: 0016216
22-07-2015 16:23zedStatusfeedback => assigned
22-07-2015 16:37vdemidovNote Added: 0016217
22-07-2015 16:38vdemidovStatusassigned => resolved
22-07-2015 16:38vdemidovFixed in Version => 150915
22-07-2015 16:38vdemidovResolutionopen => fixed
22-07-2015 16:42zedNote Added: 0016218

Notes
(0016213)
vdemidov   
21-07-2015 13:36   
Там скорее всего вылазит какой-то пустой путь или полигон в геометрии, а я менял обработку таких вещей в последних коммитах (возможно зря)
(0016215)
vdemidov   
21-07-2015 19:15   
Вроде бы поправил. У меня не падает, но нужно проверить.
(0016216)
zed   
22-07-2015 16:23   
Да, ассерт стал срабатывать после правки Теперь для пустых геометрий используется просто nil а не отдельный объект. А что именно сейчас надо проверить мне не понятно - ассерта нету и он естественно не срабатывает и посему ничего не падает.

И мне не совсем понятно, что там может быть за пустая геометрия? Поставил ассерт (Result <> nil) в парсере геометрии SML - ничего не срабатывает, т.е. парсер всегда возвращает валидную геометрию.
(0016217)
vdemidov   
22-07-2015 16:37   
Не, там пустая геометрия спроецировання может отдаваться, если размеры меньше пары пикселей. И помещаться в кэш. А кэш этот проверял, что объект <> nil хотя это соверешенно не важно для кэширования.
(0016218)
zed   
22-07-2015 16:42   
Вычислил метку из-за которой оно ругалось - коротенький путь из 2-х точек, который действительно на z11 не отображался.