View Issue Details

IDProjectCategoryView StatusLast Update
0001951SACS.ПланетаБаг / Bugpublic09-08-2013 15:13
ReporterPapazol Assigned Tovasketsov  
PrioritynormalSeverityblockReproducibilityhave not tried
Status closedResolutionfixed 
PlatformWindowsOSXPOS VersionProfessional SP3
Fixed in Version130803 
Summary0001951: Вылет сразу после загрузки из-за попытки открыть хранилище неизвестного типа
DescriptionВерсия 130515.406. Сразу после загрузки возникает AV.
TagsNo tags attached.
Attached Files
SASPlanet.Debug_1.elf (43,554 bytes)

Relationships

related to 0000127 assignedGarl Доработка карты (ZMP) Добавить всплывающую подсказку при наведении мыши на объекты Яндекс.Народная карта, аналогично объектам Wikimapia 
related to 0001872 resolvedzed SAS.Планета Добавить возможность сохранять тайлы разных версий в кэш Беркли 

Activities

vasketsov

09-06-2013 14:23

manager   ~0011579

На следующей ночнушке либо не будет ошибки, либо будет более понятно что к чему )))

Papazol

10-06-2013 07:13

reporter   ~0011588

Новый эльф приложен.

vasketsov

10-06-2013 08:51

manager   ~0011590

Такое ощущение, что SACS пытается открыть неизвестный тип кэша, ибо я не могу представить другую ситуацию, при которой была бы такая ошибка.
Немного подправил, в следующий раз будет информация о коде типа кэша и чуть раньше.

zed

10-06-2013 09:04

manager   ~0011592

Наверняка 61 - версионный Беркли.

vasketsov

10-06-2013 09:07

manager   ~0011593

Last edited: 10-06-2013 09:11

Есть ещё один вариант: если в zmp у параметра Ext "неизвестное" расширение (например, Ext=.json), хранилище не создаётся, и будет именно такая ошибка.
зы. После того как я перенёс проверку на момент создания хранилища, я словил такую ошибку для тестовой карты векторного НЯК:
VMainContentType := FContentTypeManager.GetInfoByExt(AConfig.TileFileExt);
if VMainContentType <> nil then begin
 // тут создаётся хранилище

Papazol

10-06-2013 09:40

reporter   ~0011594

Last edited: 10-06-2013 09:43

>Наверняка 61 - версионный Беркли.<
Он самый. У меня спутник Google - версионный. Поэтому программа сразу ломится его открывать. Я подменил в ini его GUID на другой - стало работать. Но как только пытаешься подсунуть карту с версионным кэшем - вылет.

zed

10-06-2013 09:44

manager   ~0011596

Угу, просто нужна обработка неизвестных типов кэша и прочих ошибок создания хранилищ.

vasketsov

10-06-2013 09:44

manager   ~0011597

Для JSON я сделал пустой фейковый парсер - так что пока мои игрища выпиливать не придётся ))
А вот исключать 61 смысла не вижу, как и бросаться впиливать его, как и исправлять по месту.

Нужно какое-то общее решение, чтобы кэши неизвестного типа вообще даже не пытались открываться в сасе.

zed

10-06-2013 09:49

manager   ~0011598

>как и бросаться впиливать его
Я его сам впилю, когда доведу до логического завершения в SAS.

vasketsov

10-06-2013 10:00

manager   ~0011601

>когда доведу до логического завершения
Да я про то, что проблема-то вообще не в его отсутствии ))).
Перфразируя, отсутствие 61 - это повод, а не причина.
Причина ошибки в том, что сас пытается открывать неизвестные типы кэшей.
И в общем-то лечить надо несколько раньше, чем создание такого неизвестного хранилища. Пока не придумал, где именно.

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

vasketsov

10-06-2013 10:30

manager   ~0011607

В общем, если я правильно понимаю, пока что будет работать так:
1. При старте пытаемся создать даже неизвестные хранилища.
2. Если обломаемся - будет инфа об ошибке, а ошибочная карта не залетит в список.
3. Если не получится включить карту, которая была активна в момент прошлого выключения - будет включена самая первая карта, если вообще ни одной карты - будет ругань, что без карт, и выход.

То есть работа будет возможна, но будет при запуске показ сообщений об ошибке (по числу карт с неизвестным типом кэша).
Если такое устроит в качестве временного решения - возьмём паузу на подумать.

Papazol

10-06-2013 10:37

reporter   ~0011609

>будет инфа об ошибке<>будет ругань, что без карт<
Это главное, в остальном всё годится.

Papazol

11-06-2013 06:41

reporter   ~0011630

Last edited: 11-06-2013 06:42

Это уже сборка 426.
При запуске программы выдаются мессаджи:
61 at Yandex_sat_DB as .jpg (C:\sas_nightly_ext\sas.src.ext\u_MapType.pas, line 491)
61 at Google_sat_version as .jpg (C:\sas_nightly_ext\sas.src.ext\u_MapType.pas, line 491)
61 at Google_sat_DB as .jpg (C:\sas_nightly_ext\sas.src.ext\u_MapType.pas, line 491)
Ну, в общем-то, понятно, о чём речь :)
А вот это что значит:
5 at as .jpg (C:\sas_nightly_ext\sas.src.ext\u_MapType.pas, line 491)

vasketsov

11-06-2013 07:02

manager   ~0011631

Last edited: 11-06-2013 07:04

>При запуске программы выдаются мессаджи
На самом деле я могу вообще не показывать эту ругань, просто молча вдруг пропадут из программы некоторые карты ))

>5 at as .jpg
Да в общем-то то же самое - какой-то облом с созданием хранилища. 5 - это прямой доступ к кэшу GE через DLL. Просто NameInCache пустой (но причина скорее всего не в этом). Вопрос конечно интересный.
У меня тоже есть такой zmp, и тоже с пустым NameInCache. В этом случае должно подхватываться значение из настроек программы. Оно тоже пустое?

Papazol

11-06-2013 14:44

reporter   ~0011650

Пустое. Если в zmp прописать NameInCache=Empty, всё равно ругается. Я просто удалил этот zmp, так как им не пользуюсь.
А нельзя ли ругань не удалять, а сделать её понятной пользователю? Ну, типа как про дублирующиеся GUID'ы?

vasketsov

11-06-2013 21:30

manager   ~0011652

>сделать её понятной пользователю?
Конечно можно, надо только понять, что выводить в сообщении.
А то если вывести GUID - пользы будет мало, карты в сасе не будет видно, придётся перебирать все zmp.

Papazol

12-06-2013 18:43

reporter   ~0011660

Можно сказать, что в наборе содержится одна или несколько карт с неподдерживаемым типом кэша, и они будут исключены из выпадающего списка. Называть, какие именно это карты, не обязательно. Всё равно, надеюсь, это временная мера.

Кстати, если дебажная версия программы работает, в принципе, нормально, то обычная при тех же условиях круто виснет, выход только через диспетчер задач.

vasketsov

12-06-2013 19:03

manager   ~0011661

>Можно сказать, что в наборе содержится одна или несколько карт с неподдерживаемым типом кэша
Это можно.
Но дело в том, что проверка пост-фактум в принципе может также сработать (как в случае с json).
Так что проверка на наличие неизвестного типа кэша ДО открытия кэша не отменяет существующей проверки, что всё красиво создалось. То бишь проверок будет две, на том и погрешим.

Issue History

Date Modified Username Field Change
09-06-2013 06:30 Papazol New Issue
09-06-2013 06:30 Papazol File Added: SASPlanet.Debug.elf
09-06-2013 14:23 vasketsov Note Added: 0011579
09-06-2013 14:23 vasketsov Assigned To => vasketsov
09-06-2013 14:23 vasketsov Status new => assigned
09-06-2013 14:23 vasketsov Status assigned => feedback
10-06-2013 07:12 Papazol File Added: SASPlanet.Debug_1.elf
10-06-2013 07:13 Papazol Note Added: 0011588
10-06-2013 07:13 Papazol Status feedback => assigned
10-06-2013 08:51 vasketsov Note Added: 0011590
10-06-2013 09:04 zed Note Added: 0011592
10-06-2013 09:07 vasketsov Note Added: 0011593
10-06-2013 09:09 vasketsov Note Edited: 0011593
10-06-2013 09:11 vasketsov Note Edited: 0011593
10-06-2013 09:40 Papazol Note Added: 0011594
10-06-2013 09:43 Papazol Note Edited: 0011594
10-06-2013 09:44 zed Note Added: 0011596
10-06-2013 09:44 vasketsov Note Added: 0011597
10-06-2013 09:49 zed Note Added: 0011598
10-06-2013 10:00 vasketsov Note Added: 0011601
10-06-2013 10:30 vasketsov Note Added: 0011607
10-06-2013 10:32 vasketsov Summary Вылет сразу после загрузки => Вылет сразу после загрузки из-за попытки открыть хранилище неизвестного типа
10-06-2013 10:33 vasketsov File Deleted: SASPlanet.Debug.elf
10-06-2013 10:37 Papazol Note Added: 0011609
10-06-2013 18:41 vasketsov Relationship added related to 0000127
10-06-2013 18:42 vasketsov Relationship added parent of 0001872
10-06-2013 18:42 vasketsov Relationship deleted parent of 0001872
10-06-2013 18:42 vasketsov Relationship added related to 0001872
11-06-2013 06:41 Papazol Note Added: 0011630
11-06-2013 06:42 Papazol Note Edited: 0011630
11-06-2013 07:02 vasketsov Note Added: 0011631
11-06-2013 07:04 vasketsov Note Edited: 0011631
11-06-2013 14:44 Papazol Note Added: 0011650
11-06-2013 21:30 vasketsov Note Added: 0011652
12-06-2013 18:43 Papazol Note Added: 0011660
12-06-2013 19:03 vasketsov Note Added: 0011661
13-06-2013 11:11 vasketsov Status assigned => resolved
13-06-2013 11:11 vasketsov Fixed in Version => .Nightly
13-06-2013 11:11 vasketsov Resolution open => fixed
09-08-2013 14:59 vasketsov Fixed in Version .Nightly => 130803
09-08-2013 15:13 vasketsov Status resolved => closed
08-08-2025 13:22 zed Category Баг => Баг / Bug