SASGIS - SAS.Планета
View Issue Details
0003135SAS.Планета[All Projects] Багpublic03-09-2016 06:1502-11-2016 17:50
AlexRus 
zed 
highminorsometimes
resolvedfixed 
Windows7Ultimate
160707 
181221181221 
0003135: Вылет в u_TimeZoneInfo
При работе вылезает окошко с надписью:

Access violation at adress 0040E4F5 in module 'SASPlanet.exe'. Read off adress 00000000

И вылетает.
Для этого достаточно долго рыскать по карте, однако вылет происходит когда рыскаешь по части карты где Северная Америка
No tags attached.
? SASPlanet.Debug.elf (70,668) 01-11-2016 21:33
https://bugtracker.sasgis.org/file_download.php?file_id=2112&type=bug
Issue History
03-09-2016 06:15AlexRusNew Issue
03-09-2016 06:19AlexRusNote Added: 0017643
05-09-2016 05:21vdemidovNote Added: 0017644
05-09-2016 05:21vdemidovStatusnew => feedback
01-11-2016 21:21AlexRusNote Added: 0017680
01-11-2016 21:21AlexRusStatusfeedback => new
01-11-2016 21:33AlexRusNote Added: 0017681
01-11-2016 21:33AlexRusFile Added: SASPlanet.Debug.elf
02-11-2016 06:48vdemidovNote Added: 0017682
02-11-2016 06:50vdemidovAssigned To => zed
02-11-2016 06:50vdemidovSeveritymajor => minor
02-11-2016 06:50vdemidovStatusnew => assigned
02-11-2016 06:50vdemidovTarget Version => 181221
02-11-2016 06:50vdemidovSummaryВылет => Вылет в u_TimeZoneInfo
02-11-2016 06:55vdemidovNote Added: 0017683
02-11-2016 17:48zedNote Added: 0017684
02-11-2016 17:49zedStatusassigned => resolved
02-11-2016 17:49zedFixed in Version => 181221
02-11-2016 17:49zedResolutionopen => fixed

Notes
(0017643)
AlexRus   
03-09-2016 06:19   
Смотрите Мексику, вылет регулярно.
(0017644)
vdemidov   
05-09-2016 05:21   
Скачайте ночную версию и запустите дебажную сборку. После вылета приаттачьте создавшийся elf файл сюда.
(0017680)
AlexRus   
01-11-2016 21:21   
Не совсем понял что вы имеете ввиду. Ночную скачал проверил, но там вылета нет. Или нужно кинуть дебаг файл в папку со стабильной версией?
(0017681)
AlexRus   
01-11-2016 21:33   
Похоже баг закрался в файл TimeZone.dll, без него лага нет.
(0017682)
vdemidov   
02-11-2016 06:48   
Ну, судя по всему проблема где-то в u_TimeZoneInfo.pas или TimeZone.dll
(0017683)
vdemidov   
02-11-2016 06:55   
Нужно будет перенести содержимое GetStatusBarTzInfoNew в функцию GetStatusBarTzInfo, скомпилировать и попытаться снова воспроизвести баг и получить elf файл. А то из-за того, что функция GetStatusBarTzInfoNew inline видно что она была вызвана, но совсем не понятно в каком месте упало.
(0017684)
zed   
02-11-2016 17:48   
Товарищи, которые рисуют границы таймзон немного опечатались и вместо "America/Monterrey" написали "America/Monterey" (пропустили одну 'r'). И поскольку в SAS и в TimeZone.dll не была предусмотрена обработка ошибок, то программа просто падала.

Опечатку в границах таймзон уже исправили и я недавно обновил TimeZone.dll, с которой SAS не падает. Брать тут: https://bitbucket.org/sas_team/timezone/downloads

На всякий случай добавил заглушку и в SAS, чтобы на подобных ошибках больше падений небыло.