SASGIS - SAS.Планета
View Issue Details
0001970SAS.Планета[All Projects] Багpublic19-06-2013 08:3925-06-2013 14:33
most41rus 
AlexWhiter 
highmajoralways
resolvedfixed 
Windows7Ultimate
.Nightly 
131111131111 
0001970: I/O error 998 при экспорте в JNX
При экспорте в *.jnx на определённом этапе (после экспорта некоторого количества тайлов) выскакивает ошибка "I/O error 998", причём экспорт этой же области в sas4winCe/sas4android, rmaps(sqlite) и в ogf2 происходит без ошибок. Ошибка проявляется на последних ночных сборках.
jnx, экспорт
? SASPlanet.Debug.elf (97,152) 19-06-2013 08:39
https://bugtracker.sasgis.org/file_download.php?file_id=1385&type=bug
jpg sas 130618.7297Nightly.jpg (287,049) 20-06-2013 05:26
https://bugtracker.sasgis.org/file_download.php?file_id=1386&type=bug
jpg sas 121010.jpg (311,767) 20-06-2013 05:27
https://bugtracker.sasgis.org/file_download.php?file_id=1387&type=bug
jpg SAS.Planet.Nightly.130621.7298.jpg (284,879) 21-06-2013 02:47
https://bugtracker.sasgis.org/file_download.php?file_id=1388&type=bug
jpg SAS.Planet.Nightly.130621.7298A.jpg (291,450) 21-06-2013 02:48
https://bugtracker.sasgis.org/file_download.php?file_id=1389&type=bug
jpg SAS.Planet.Nightly.130621.7298B.jpg (346,343) 21-06-2013 02:50
https://bugtracker.sasgis.org/file_download.php?file_id=1390&type=bug
jpg SAS.Planet.Nightly.130621.7298C.jpg (280,116) 21-06-2013 02:50
https://bugtracker.sasgis.org/file_download.php?file_id=1391&type=bug
Issue History
19-06-2013 08:39most41rusNew Issue
19-06-2013 08:39most41rusFile Added: SASPlanet.Debug.elf
19-06-2013 09:02vasketsovSummaryI/O error 998 => I/O error 998 при экспорте в JNX
19-06-2013 09:03vasketsovProjectДомен, сайт, форум, багтрекер => SAS.Планета
20-06-2013 05:26most41rusFile Added: sas 130618.7297Nightly.jpg
20-06-2013 05:27most41rusFile Added: sas 121010.jpg
20-06-2013 05:31most41rusNote Added: 0011713
20-06-2013 05:51vdemidovTag Attached: jnx
20-06-2013 05:51vdemidovTag Attached: экспорт
20-06-2013 05:52vdemidovAssigned To => AlexWhiter
20-06-2013 05:52vdemidovStatusnew => confirmed
20-06-2013 05:53vdemidovProduct Version => .Nightly
20-06-2013 05:53vdemidovTarget Version => 131111
21-06-2013 01:28AlexWhiterNote Added: 0011734
21-06-2013 02:47most41rusFile Added: SAS.Planet.Nightly.130621.7298.jpg
21-06-2013 02:48most41rusFile Added: SAS.Planet.Nightly.130621.7298A.jpg
21-06-2013 02:50most41rusFile Added: SAS.Planet.Nightly.130621.7298B.jpg
21-06-2013 02:50most41rusFile Added: SAS.Planet.Nightly.130621.7298C.jpg
21-06-2013 02:59most41rusNote Added: 0011735
21-06-2013 03:41AlexWhiterNote Added: 0011736
21-06-2013 05:21most41rusNote Added: 0011737
21-06-2013 05:35most41rusNote Edited: 0011737bug_revision_view_page.php?bugnote_id=11737#r5470
21-06-2013 05:41most41rusNote Edited: 0011737bug_revision_view_page.php?bugnote_id=11737#r5471
21-06-2013 06:01AlexWhiterNote Added: 0011739
21-06-2013 11:47vasketsovNote Added: 0011740
24-06-2013 00:49AlexWhiterNote Added: 0011762
24-06-2013 03:44vasketsovNote Added: 0011763
24-06-2013 04:02AlexWhiterNote Added: 0011764
24-06-2013 04:03AlexWhiterNote Edited: 0011764bug_revision_view_page.php?bugnote_id=11764#r5477
24-06-2013 04:22vasketsovNote Added: 0011765
24-06-2013 04:53AlexWhiterNote Added: 0011766
24-06-2013 04:54AlexWhiterNote Edited: 0011766bug_revision_view_page.php?bugnote_id=11766#r5479
24-06-2013 09:05most41rusNote Added: 0011767
24-06-2013 19:39vdemidovNote Added: 0011778
25-06-2013 14:32AlexWhiterNote Added: 0011802
25-06-2013 14:33AlexWhiterStatusconfirmed => resolved
25-06-2013 14:33AlexWhiterFixed in Version => 131111
25-06-2013 14:33AlexWhiterResolutionopen => fixed

Notes
(0011713)
most41rus   
20-06-2013 05:31   
Ночная сборка спотыкается всегда при экспорте "обработано 5900" см. вложение
Релиз 121010 экспортирует без ошибок. Но в релизе 121010 JNX на выходе получается пожатый с потерей качества.
(0011734)
AlexWhiter   
21-06-2013 01:28   
На последней ночной сборке (130621) подтвердить не удается.
most41rus, проверьте, пожалуйста, проявляется ли ошибка на любой выбранной области, или только на какой-то конкретной.
(0011735)
most41rus   
21-06-2013 02:59   
AlexWhiter, на последней ночной, та же ошибка с той же областью см скриншот.
Потом взял другую область с того же района, она чуть больше первой, тоже ошибка (скриншот А). Загрузил область меньше, в другом районе карты, экспорт прошёл без ошибок(скришот В). Выделил в ошибочной области меньший кусок, экспорт без ошибок (скриншот С). Может размеры области и количество сохраняемых файлов как то влияют?
(0011736)
AlexWhiter   
21-06-2013 03:41   
На прямоугольной области тоже проявляется?
Какой минимальный размер области (в тайлах), при которой экспорт начинает падать?

100000 скаченных тайлов у меня нет под рукой.
Попробую загрузить, сколько смогу. Но надо знать, на каком количестве тайлов можно уже и остановиться.
(0011737)
most41rus   
21-06-2013 05:21   
(edited on: 21-06-2013 05:41)
Вот сейчас поставил прямоугольник 76.635 , экспорт упал. На 70.310 экспортирует.
У меня получается в таких пределах.

Upd. Сейчас упал прямоугольник на 69 000 и 62 000, что то не понятное происходит. Вот только что на 50 000 выдал ошибку.

(0011739)
AlexWhiter   
21-06-2013 06:01   
Понятно.
Только что проверял на области с 71000 тайлами. Ошибка не вылетела.
Скачаю порядка 100000 тайлов, может быть, начнет воспроизводиться.
(0011740)
vasketsov   
21-06-2013 11:47   
ЕМНИП я снимками закидывал когда, там и 120 тыщ было, так что проблема может быть нев количестве тайлов как таковом
(0011762)
AlexWhiter   
24-06-2013 00:49   
Воспроизвести так и удалось.
(0011763)
vasketsov   
24-06-2013 03:44   
Я так понимаю, эта ошибка связана с отсутствием доступа (ERROR_NOACCESS).
(0011764)
AlexWhiter   
24-06-2013 04:02   
(edited on: 24-06-2013 04:03)
Не совсем так.
Если бы отсутствовал доступ, была бы ошибка 5, ERROR_ACCESS_DENIED (и именно она вылазит, если попробовать сохранить файл в каталог, для которого нет прав на запись).
А ERROR_NOACCESS - это обращение по ошибочному адресу памяти ("Invalid access to memory location").

Учитывая то, что ошибка в разных случаях происходит на различном этапе, а иногда вообще не проявляется, рискну предположить, что происходит либо что-то вроде buffer overrun'а, либо двойное разрушение какого-то объекта.

(0011765)
vasketsov   
24-06-2013 04:22   
Проблема с доступом к FFile?
Вот темка есть, может поможет:
http://www.sql.ru/forum/735297/blockread-i-o-998-error
(0011766)
AlexWhiter   
24-06-2013 04:53   
(edited on: 24-06-2013 04:54)
most41rus, сделайте, пожалуйста, следующее: повторите возникновение ошибки, при этом не закрывайте сообщение об "I/O Error" - пусть повисит.
Откройте Task Manager, в списке процессов ткните правой кнопкой мышки по процессу SasPlanet и выберите в менюшке пункт "Создать дамп памяти" (не уверен, что в русской версии Win7 он называется именно так, но смысл должен быть схожий).
Task Manager сделает дамп памяти во временном каталоге.
Пришлите архив с этим дампом мне на электронку [email protected] с указанием того, какой билд программы используется.

(0011767)
most41rus   
24-06-2013 09:05   
AlexWhiter, отправил.
(0011778)
vdemidov   
24-06-2013 19:39   
Я бы посоветовал использовать TFileStream, там на порядок более вменяемые эксепшены вылазят.
(0011802)
AlexWhiter   
25-06-2013 14:32   
vdemidov, описанная на sql.ru ситуация - результат некорректного использования blockread. blockread/blockwrite предполагают нетипизированные файлы, при открытии которых устанавливается размер блока вторым параметром reset/rewrite, который и не был указан в том случае.

С возникшей у most41rus ситуацией всё веселее - по какой-то причине в кэше оказались JPEGовые тайлы нулевой длины.
JNXLib полагается на то, что на вход поступают корректные потоки JPG, от которых перед записью откусываются первые два байта.
В случае же пустого потока получалось, что вызывается blockwrite с некорректным адресом сохраняемого буфера и отрицательной длиной, это и вызывало ошибку 998.

Для устранения я добавил в JNXLib проверку длины подсовываемого JPEGа.
most41rus уже проверил, ошибка больше не проявляется.