SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001215SAS.Планета[All Projects] Багpublic14-03-2012 06:2110-10-2012 11:45
ReporterGarl 
Assigned Tovdemidov 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
PlatformWindowsOS7OS VersionProfessional
Product Version.Nightly 
Target Version120808Fixed in Version120808 
Summary0001215: Вылет при генерации вышележащих тайлов и движении карты
DescriptionСобственно, если при генерации если подвигать карту, то вылетает ошибка
Tagsформирование
Attached Filespng file icon gen_prev_err.png [^] (4,892 bytes) 14-03-2012 06:21


? file icon SASPlanet.Debug.elf [^] (5,210 bytes) 14-03-2012 09:23
jpg file icon err2.jpg [^] (72,680 bytes) 18-06-2012 08:14


jpg file icon 625.jpg [^] (10,412 bytes) 18-06-2012 08:20

- Relationships
has duplicate 0001259closedvdemidov Ошибка при генерировании вышележащийх слоев 
has duplicate 0001229closedvdemidov Отказ формирования слоёв 
has duplicate 0001352closedDJ VK Ошибка загрузки изображения из памяти (0 байт) 
related to 0001232closedvdemidov AV при скачивании кэша Яндекса 

-  Notes
(0006081)
vdemidov (manager)
14-03-2012 09:06

Давай подробности. У меня не воспроизводится.
(0006084)
Garl (manager)
14-03-2012 09:25

в карте на котороый вываливается стоит UseDwn=0
в остальном вроде всё стандартно
(0006086)
vdemidov (manager)
14-03-2012 09:28

Увы, тикет пока ни о чем. Ни версия не указана, ни какого типа тайлы, да вообще ничего. Прикрепленный elf файл вообще об утечке памяти, а не авешке.
(0006088)
Garl (manager)
14-03-2012 09:31

на отдельно взятой копии с другим кэшем вылета нет.
debug версия не вылетает.

тайлы jpg нарезаные Global mapper'ом
вылетает только процесс генерации. с картинкой без каких либо пояснений.
(0006090)
vdemidov (manager)
14-03-2012 09:35

> на отдельно взятой копии с другим кэшем вылета нет.
Ну тогда дебаггер в руки и вперед.
И еще убедись, что вылетает билд именно моей ветки, а не собранный vasketsov-ым.
(0006091)
Garl (manager)
14-03-2012 09:36
edited on: 14-03-2012 09:37

вылетает сегодняшняя ночнушка
120308 всё ок

(0006097)
vdemidov (manager)
14-03-2012 11:45

Найди хотя бы место, где вылетает.
(0006111)
vasketsov (manager)
14-03-2012 21:30

Ну чего, ждать этот инцидент, или потихоньку можно заливаться?
Вроде все "поверхностные" баги уже должны были отловиться...
(0006113)
Garl (manager)
15-03-2012 02:58

заливаться.
поймаю - профиксим.
(0006201)
Garl (manager)
19-03-2012 09:29

так же вылетает второй поток генерации вышележащих тайлов.
раньше можно было делать и 3 и 4 потока и всё работало на ура.
(0006202)
vasketsov (manager)
19-03-2012 13:52

Валится в файле ImagingJpeg тут:

procedure TermSource(cinfo: j_decompress_ptr);
var
  Src: PSourceMgr;
begin
  Src := PSourceMgr(cinfo.src);
  // Move stream position back just after EOI marker so that more that one
  // JPEG images can be loaded from one stream
  JIO.Seek(Src.Input, -Src.Pub.bytes_in_buffer, smFromCurrent);
end;

(по крайней мере остановка тут)
(0006203)
vdemidov (manager)
19-03-2012 14:26

Похоже на то, что вылезла та же нетредсейфовость, что и при чтении.
(0006204)
vasketsov (manager)
19-03-2012 14:29

>вылезла та же нетредсейфовость
Если это про то, чего я тебя спрашивал - то этот кусок зовётся изнутри BeginWrite .. EndWrite.
Возможно что-то другое.
(0006206)
vdemidov (manager)
19-03-2012 14:51

Проблема в том, что в отличие от ридеров, которые создаются по 1 на каждый формат, врайтеров для каждого формата может быть несколько с разными настройками. И даже если каждый завернут в свою синхронизацию, в итоге будет авешка.
(0006207)
vasketsov (manager)
19-03-2012 15:09

>врайтеров для каждого формата может быть несколько с разными настройками
Ситуация простая и воспроизводимая 100%.

Беру гугл.
1. Выделяю область на 14-м уме и качаю (галку "закрыть окно" отключаю). Может и без этого шага можно.
2. Для неё же переключаюсь.на генерацию и генерю вышележащие зумы 12-7.
3. Нажимаю на запуск генерации 3-4 раза - на самом деле сколько успею, валится быстро и уверенно.

Разве тут несколько разных классов райтеров будет?
(0006208)
vdemidov (manager)
19-03-2012 15:15

Вроде бы не должно. Хорошая была гипотеза.
(0006209)
vasketsov (manager)
19-03-2012 15:25

может несколько экземпляров одного класса уже будут валить?
ведь то что я спрашивал - это синхронизация внутри одного "вампира", а другой там вроде как бы и нету.
(0006213)
zed (manager)
20-03-2012 09:00

Приаттачил exe, который юзает libjpeg для чтения/записи жпегов. Проверьте на нём. По-идее, так же должна увеличиться и скорость сжатия тайлов, жаль нет счётчиков для TileSave.
(0006214)
vasketsov (manager)
20-03-2012 09:39
edited on: 20-03-2012 09:42

На приаттаченном ошибка не вылезла.
Но лишних 700 килобайт несколько напрягло.

>должна увеличиться и скорость сжатия тайлов
Визуально скорость генерации вышележащих стала выше, но как известно, один раз не пи#$%ас. Счётчики конечно нужны. И для tilestorage тоже.

(0006215)
Garl (manager)
20-03-2012 09:44

>который юзает libjpeg
вылетов не наблюдается :) ура
(0006216)
zed (manager)
20-03-2012 09:58

>Но лишних 700 килобайт несколько напрягло.
Это дебажная версия :) Если полностью перейти на libjpeg, то размер exe наоборот должен килов на 100 уменьшиться. Этот imaging ведь тоже завязан на эту либу, только они взяли да переписали сишный код на паскаль, причём сделано это было довольно давно (лет с 10 назад) и соответственно, либа там очень старая.

>вылетов не наблюдается :) ура
Это на картах с jpeg тайлами, а на png/gif всё осталось как и прежде (а прежде оно там вылетало кстати?).
(0006217)
zed (manager)
20-03-2012 10:09
edited on: 20-03-2012 10:17

Может вкорячить туда же libpng и libgif, да выкинуть imaging со всеми потрохами? Но тогда нужно будет все эти либы слинковать статически.

Весь Imaging, вкомпиленный в exe, занимает ~900k. В итоге, либы будут занимать меньший размер (тем более, что они и так и так юзаются для склейки, т.е. в релизе они будут присутствовать по любому).

(0006218)
Garl (manager)
20-03-2012 10:10

тикет был открыт при падении на JPG.
до остальных форматов руки не доходили.
(0006219)
vasketsov (manager)
20-03-2012 10:12

>тогда нужно будет все эти либы слинковать статически
почему?
(0006220)
zed (manager)
20-03-2012 10:21
edited on: 20-03-2012 10:21

Не, ну можно конечно, оставить как сейчас, но логичнее их жёстко привязать к сасу, потому как без них, сас вообще работать не будет (не сможет отображать тайлы в гуе). Сейчас, без libjpeg не работает только одна отдельно-взятая функция склейки в JPEG.

(0006221)
vasketsov (manager)
20-03-2012 10:32

>без них, сас вообще работать не будет
Ну так это можно же сделать и без статической линковки либы.
(0006222)
zed (manager)
20-03-2012 10:33

Можно, но вопрос - зачем? Чем плоха статика?
(0006223)
vasketsov (manager)
20-03-2012 10:54

Ну например либа заменится на новую версию.
Или переход там обязательно связан с изменением API?
(0006224)
zed (manager)
20-03-2012 11:35

Я наверное неправильно выразился, имелся в виду способ вызова dll-ки без использования GetProcAdress, т.е. статическая загрузка dll.
(0006225)
vasketsov (manager)
20-03-2012 11:55

>статическая загрузка dll
Ну вот и представь себе вместо libjpeg61.dll потребуется подсунуть libjpeg8.dll без пересборки (ну или наоборот откатиться). Статическая линковка dll ведь подразумевает необходимость захардкодить её имя.
Я потому и спрашиваю про (не)изменность api этих dll (может то, о чём я волнуюсь, вообще не имеет смысла, и это совсем разные dll).
(0006226)
zed (manager)
20-03-2012 12:05

>Ну вот и представь себе вместо libjpeg61.dll потребуется подсунуть libjpeg8.dll без пересборки
Нет, так нельзя, там разные структуры в интерфейсе.
(0006227)
vasketsov (manager)
20-03-2012 12:12

ну коли смена dll только через пересборку - тогда не вижу принципиальных минусов. разве что вдруг все сервисы резко откажутся от jpeg-ов и оно станет просто ненужным.
(0006228)
zed (manager)
20-03-2012 12:25
edited on: 20-03-2012 12:26

Без пересборки можно менять либы, у которых не изменяется "ведущая" версия (которая, как правило, выносится в имя dll):
jpeg8.dll можно заменять на любую 8-ю версию, так же, как можно обновить и jpeg62.dll (сейчас там turbo-1.1.1, а уже доступна turbo-1.2.0)
libpng15.dll можно менять на любую 1.5.xxx (в сасе сейчас лежит 1.5.7, но уже вышла 1.5.9)
zlib1.dll - лежит 1.2.5, но можно обновлять до 1.2.6
и т.д.

(0006231)
Garl (manager)
21-03-2012 07:29

в ночнушке 120321 уже libjpeg юзается?
есть траблы:
текущий зум 13, выделяем больше 1 тайла и генерим из 14 до 1 (учитывая вышележащие, может и не надо)
некоторые тайлы становятся размером 0 байт.
и соответственно не отображаются.
(0006232)
zed (manager)
21-03-2012 10:09

>уже libjpeg юзается?
нет
(0006280)
vasketsov (manager)
26-03-2012 11:46

Часто AV даже просто при одной генерации вышележащих вылазит. Именно там где описано в сообщении 6202.
(0007436)
vdemidov (manager)
17-06-2012 20:27

А как сейчас с этим багом? Продолжает вылетать, и если да, то на каких форматах?
(0007442)
Garl (manager)
18-06-2012 04:51

вроде вылета нету, но тайлы периодически не генерятся
(0007445)
vdemidov (manager)
18-06-2012 07:01

В смысле теряются? Просто не сохраняется, или поврежденное сохраняется, или процесс прекращается? На каких форматах наблюдается?
(0007446)
Garl (manager)
18-06-2012 07:04

я первый день после больничного. как разгребусь погоняю получше с нормальным баг репортом ) ибо всё на чём вылетало находится на работе.
(0007447)
vdemidov (manager)
18-06-2012 07:12

Хорошо. Будем ждать :)
(0007451)
Garl (manager)
18-06-2012 08:15

получается что программа пытается прочитать файл, который ещё дописывается :)
(0007452)
vdemidov (manager)
18-06-2012 08:25

Тоесть реально тайл сохранился, а при чтении программа получила ошибку?
(0007453)
Garl (manager)
18-06-2012 08:26
edited on: 18-06-2012 08:29

ага, но всёравно временами получаем тайлы = 0

(0007454)
vdemidov (manager)
18-06-2012 08:30

Поймай в дебагере ошибку, что на err2.jpg и кинь сюда стек
(0007455)
vdemidov (manager)
18-06-2012 08:39

Просто то что видно на err.jpg это все правильно. Это ошибка чтения jpg. Все честно. Оно попыталось прочитать нулевой файл и получило ексепшен. А вот AV с err2.jpg уже странно. Как и при каких обстоятельствах она появляется?
(0007456)
Garl (manager)
18-06-2012 08:42

она попала на скриншот случайно, еле поймал,
при передвижении карты - тайл отрисовался и ошибки не стало
(0007470)
vasketsov (manager)
18-06-2012 21:04

У меня ошибка возникала при генерации вышележащих (зум 16 из 18) если одновременно выполнены два условия:
а) текущий зум 16;
б) выбрано более одного тайла на 16 зуме.

Если текущий зум не 16 либо выбран ровно один тайл на 16-м зуме для (пере)генерации - ошибки нет.

Описанное поведение - 100% воспроизводится.
(0007637)
DJ VK (manager)
25-06-2012 09:41

наблюдал это при скачке сразу двух типов тайлов PNG+JPG с сохранением в PNG.
так что дело не в JPG.
(0007638)
DJ VK (manager)
25-06-2012 09:43
edited on: 25-06-2012 09:45

бага появилась где-то после 5045 и намного раньше 5297 (так и не исправлена)

кому надо - берите 5045 (могу прислать), стабильная версия.

(0007643)
vdemidov (manager)
25-06-2012 12:45

Сделал. Для всех операций через Vampyre Imaging Library глобальный лок. Тестируйте завтра и обязательно отпишитесь у кого воспроизводилась эта ошибка.
(0007645)
Garl (manager)
25-06-2012 13:33

полёт нормальный! прям не нарадуюсь!
(0007646)
zed (manager)
25-06-2012 13:39

Это лишь подтверждает, что проблема в библиотеке. Но с глобальным локом мы превратили работу с тайлами из многопоточной в однопоточную.
(0007648)
vdemidov (manager)
25-06-2012 13:46

Ну не совсем. Операции чтения с диска и перепроецирования все равно идут в других потоках независимо. Но согласен от Vampyre Imaging Library нужно отказываться.
Я попробовал чуток ее причесать для тредсейфовости и не выдержал. Слишком много там глобальных переменных.

- Users who viewed this issue
User List Anonymous (4205x)
Total Views 4205
Last View 23-04-2024 09:45

- Issue History
Date Modified Username Field Change
14-03-2012 06:21 Garl New Issue
14-03-2012 06:21 Garl File Added: gen_prev_err.png
14-03-2012 09:06 vdemidov Note Added: 0006081
14-03-2012 09:06 vdemidov Status new => feedback
14-03-2012 09:23 Garl File Added: SASPlanet.Debug.elf
14-03-2012 09:23 vdemidov Tag Attached: формирование
14-03-2012 09:25 Garl Note Added: 0006084
14-03-2012 09:25 Garl Status feedback => new
14-03-2012 09:27 Garl Assigned To => Garl
14-03-2012 09:27 Garl Status new => feedback
14-03-2012 09:28 vdemidov Note Added: 0006086
14-03-2012 09:28 vdemidov Assigned To Garl =>
14-03-2012 09:31 Garl Note Added: 0006088
14-03-2012 09:31 Garl Status feedback => new
14-03-2012 09:35 vdemidov Note Added: 0006090
14-03-2012 09:36 Garl Note Added: 0006091
14-03-2012 09:37 Garl Note Edited: 0006091 View Revisions
14-03-2012 11:45 vdemidov Assigned To => Garl
14-03-2012 11:45 vdemidov Status new => assigned
14-03-2012 11:45 vdemidov Note Added: 0006097
14-03-2012 21:30 vasketsov Note Added: 0006111
15-03-2012 02:58 Garl Note Added: 0006113
15-03-2012 17:24 Garl Relationship added related to 0001220
15-03-2012 22:08 vdemidov Relationship deleted related to 0001220
16-03-2012 08:25 Garl Relationship added related to 0001222
19-03-2012 09:29 Garl Note Added: 0006201
19-03-2012 13:52 vasketsov Note Added: 0006202
19-03-2012 14:26 vdemidov Note Added: 0006203
19-03-2012 14:29 vasketsov Note Added: 0006204
19-03-2012 14:51 vdemidov Note Added: 0006206
19-03-2012 15:09 vasketsov Note Added: 0006207
19-03-2012 15:15 vdemidov Note Added: 0006208
19-03-2012 15:25 vasketsov Note Added: 0006209
20-03-2012 08:57 zed File Added: SASPlanet.LibJpeg.7z
20-03-2012 09:00 zed Note Added: 0006213
20-03-2012 09:39 vasketsov Note Added: 0006214
20-03-2012 09:42 vasketsov Note Edited: 0006214 View Revisions
20-03-2012 09:44 Garl Note Added: 0006215
20-03-2012 09:58 zed Note Added: 0006216
20-03-2012 10:09 zed Note Added: 0006217
20-03-2012 10:10 Garl Note Added: 0006218
20-03-2012 10:12 vasketsov Note Added: 0006219
20-03-2012 10:17 zed Note Edited: 0006217 View Revisions
20-03-2012 10:21 zed Note Added: 0006220
20-03-2012 10:21 zed Note Edited: 0006220 View Revisions
20-03-2012 10:32 vasketsov Note Added: 0006221
20-03-2012 10:33 zed Note Added: 0006222
20-03-2012 10:54 vasketsov Note Added: 0006223
20-03-2012 11:35 zed Note Added: 0006224
20-03-2012 11:55 vasketsov Note Added: 0006225
20-03-2012 12:05 zed Note Added: 0006226
20-03-2012 12:12 vasketsov Note Added: 0006227
20-03-2012 12:25 zed Note Added: 0006228
20-03-2012 12:26 zed Note Edited: 0006228 View Revisions
21-03-2012 07:29 Garl Note Added: 0006231
21-03-2012 10:09 zed Note Added: 0006232
22-03-2012 08:03 gpsMax Tag Attached: библиотеки
24-03-2012 21:28 vdemidov Target Version => 120808
24-03-2012 22:31 vdemidov Relationship added related to 0001232
26-03-2012 11:46 vasketsov Note Added: 0006280
02-04-2012 05:26 vdemidov Relationship added has duplicate 0001259
02-04-2012 10:10 vdemidov Relationship added has duplicate 0001229
14-05-2012 08:35 vdemidov Description Updated View Revisions
14-05-2012 09:09 vdemidov Relationship deleted related to 0001222
17-06-2012 20:27 vdemidov Note Added: 0007436
17-06-2012 20:27 vdemidov Status assigned => feedback
18-06-2012 04:51 Garl Note Added: 0007442
18-06-2012 04:51 Garl Status feedback => assigned
18-06-2012 07:01 vdemidov Note Added: 0007445
18-06-2012 07:01 vdemidov Status assigned => feedback
18-06-2012 07:04 Garl Note Added: 0007446
18-06-2012 07:04 Garl Status feedback => assigned
18-06-2012 07:12 vdemidov Note Added: 0007447
18-06-2012 07:12 vdemidov Status assigned => feedback
18-06-2012 08:14 Garl File Added: err.jpg
18-06-2012 08:14 Garl File Added: err2.jpg
18-06-2012 08:15 Garl Note Added: 0007451
18-06-2012 08:15 Garl Status feedback => assigned
18-06-2012 08:20 Garl File Added: 625.jpg
18-06-2012 08:25 vdemidov Note Added: 0007452
18-06-2012 08:26 Garl Note Added: 0007453
18-06-2012 08:29 Garl Note Edited: 0007453 View Revisions
18-06-2012 08:30 vdemidov Note Added: 0007454
18-06-2012 08:39 vdemidov Note Added: 0007455
18-06-2012 08:42 Garl Note Added: 0007456
18-06-2012 08:46 vdemidov File Deleted: SASPlanet.LibJpeg.7z
18-06-2012 08:47 vdemidov File Deleted: err.jpg
18-06-2012 08:47 vdemidov Tag Detached: библиотеки
18-06-2012 21:04 vasketsov Note Added: 0007470
25-06-2012 09:36 DJ VK Relationship added has duplicate 0001352
25-06-2012 09:41 DJ VK Note Added: 0007637
25-06-2012 09:43 DJ VK Note Added: 0007638
25-06-2012 09:45 DJ VK Note Edited: 0007638 View Revisions
25-06-2012 12:45 vdemidov Note Added: 0007643
25-06-2012 12:46 vdemidov Assigned To Garl =>
25-06-2012 12:46 vdemidov Status assigned => feedback
25-06-2012 13:33 Garl Note Added: 0007645
25-06-2012 13:33 Garl Status feedback => new
25-06-2012 13:34 Garl Status new => feedback
25-06-2012 13:39 zed Note Added: 0007646
25-06-2012 13:46 vdemidov Note Added: 0007648
26-06-2012 12:30 vdemidov Status feedback => resolved
26-06-2012 12:30 vdemidov Fixed in Version => 120808
26-06-2012 12:30 vdemidov Resolution open => fixed
26-06-2012 12:30 vdemidov Assigned To => vdemidov
10-10-2012 11:45 Tolik Status resolved => closed



Copyright © 2007 - 2024 SAS.Planet Team