View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001951SACS.Планета[All Projects] Багpublic09-06-2013 06:3009-08-2013 15:13
ReporterPapazol 
Assigned Tovasketsov 
PrioritynormalSeverityblockReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformWindowsOSXPOS VersionProfessional SP3
Product Version 
Target VersionFixed in Version130803 
Summary0001951: Вылет сразу после загрузки из-за попытки открыть хранилище неизвестного типа
DescriptionВерсия 130515.406. Сразу после загрузки возникает AV.
TagsNo tags attached.
Attached Files? file icon SASPlanet.Debug_1.elf [^] (43,554 bytes) 10-06-2013 07:12

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

-  Notes
(0011579)
vasketsov (manager)
09-06-2013 14:23

На следующей ночнушке либо не будет ошибки, либо будет более понятно что к чему )))
(0011588)
Papazol (reporter)
10-06-2013 07:13

Новый эльф приложен.
(0011590)
vasketsov (manager)
10-06-2013 08:51

Такое ощущение, что SACS пытается открыть неизвестный тип кэша, ибо я не могу представить другую ситуацию, при которой была бы такая ошибка.
Немного подправил, в следующий раз будет информация о коде типа кэша и чуть раньше.
(0011592)
zed (manager)
10-06-2013 09:04

Наверняка 61 - версионный Беркли.
(0011593)
vasketsov (manager)
10-06-2013 09:07
edited on: 10-06-2013 09:11

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

(0011594)
Papazol (reporter)
10-06-2013 09:40
edited on: 10-06-2013 09:43

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

(0011596)
zed (manager)
10-06-2013 09:44

Угу, просто нужна обработка неизвестных типов кэша и прочих ошибок создания хранилищ.
(0011597)
vasketsov (manager)
10-06-2013 09:44

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

Нужно какое-то общее решение, чтобы кэши неизвестного типа вообще даже не пытались открываться в сасе.
(0011598)
zed (manager)
10-06-2013 09:49

>как и бросаться впиливать его
Я его сам впилю, когда доведу до логического завершения в SAS.
(0011601)
vasketsov (manager)
10-06-2013 10:00

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

зы. Кстати, если при создании хранилища сработает ассерт, этот слой или карта не попадут в список в главной форме. То есть после переноса ассерта к созданию хранилища, теперь только будет инфа об ошибке, и прога дальше будет запускаться. Так что в первом приближении ошибки времени создания хранилища хотя бы так, но обрабатываются.
(0011607)
vasketsov (manager)
10-06-2013 10:30

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

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

>будет инфа об ошибке<>будет ругань, что без карт<
Это главное, в остальном всё годится.
(0011630)
Papazol (reporter)
11-06-2013 06:41
edited on: 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)

(0011631)
vasketsov (manager)
11-06-2013 07:02
edited on: 11-06-2013 07:04

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

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

(0011650)
Papazol (reporter)
11-06-2013 14:44

Пустое. Если в zmp прописать NameInCache=Empty, всё равно ругается. Я просто удалил этот zmp, так как им не пользуюсь.
А нельзя ли ругань не удалять, а сделать её понятной пользователю? Ну, типа как про дублирующиеся GUID'ы?
(0011652)
vasketsov (manager)
11-06-2013 21:30

>сделать её понятной пользователю?
Конечно можно, надо только понять, что выводить в сообщении.
А то если вывести GUID - пользы будет мало, карты в сасе не будет видно, придётся перебирать все zmp.
(0011660)
Papazol (reporter)
12-06-2013 18:43

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

Кстати, если дебажная версия программы работает, в принципе, нормально, то обычная при тех же условиях круто виснет, выход только через диспетчер задач.
(0011661)
vasketsov (manager)
12-06-2013 19:03

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

- Users who viewed this issue
User List Anonymous (2174x)
Total Views 2174
Last View 27-11-2020 03:04

- 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 View Revisions
10-06-2013 09:11 vasketsov Note Edited: 0011593 View Revisions
10-06-2013 09:40 Papazol Note Added: 0011594
10-06-2013 09:43 Papazol Note Edited: 0011594 View Revisions
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 View Revisions
11-06-2013 07:02 vasketsov Note Added: 0011631
11-06-2013 07:04 vasketsov Note Edited: 0011631 View Revisions
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



Copyright © 2007 - 2020 SAS.Planet Team