SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001970 | SAS.Планета | [All Projects] Баг | public | 19-06-2013 08:39 | 25-06-2013 14:33 |
|
Reporter | most41rus | |
Assigned To | AlexWhiter | |
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | |
Platform | Windows | OS | 7 | OS Version | Ultimate |
Product Version | .Nightly | |
Target Version | 131111 | Fixed in Version | 131111 | |
|
Summary | 0001970: I/O error 998 при экспорте в JNX |
Description | При экспорте в *.jnx на определённом этапе (после экспорта некоторого количества тайлов) выскакивает ошибка "I/O error 998", причём экспорт этой же области в sas4winCe/sas4android, rmaps(sqlite) и в ogf2 происходит без ошибок. Ошибка проявляется на последних ночных сборках. |
Steps To Reproduce | |
Additional Information | |
Tags | jnx, экспорт |
Relationships | |
Attached Files | SASPlanet.Debug.elf (97,152) 19-06-2013 08:39 http://www.sasgis.org/mantis/file_download.php?file_id=1385&type=bug sas 130618.7297Nightly.jpg (287,049) 20-06-2013 05:26 http://www.sasgis.org/mantis/file_download.php?file_id=1386&type=bug sas 121010.jpg (311,767) 20-06-2013 05:27 http://www.sasgis.org/mantis/file_download.php?file_id=1387&type=bug SAS.Planet.Nightly.130621.7298.jpg (284,879) 21-06-2013 02:47 http://www.sasgis.org/mantis/file_download.php?file_id=1388&type=bug SAS.Planet.Nightly.130621.7298A.jpg (291,450) 21-06-2013 02:48 http://www.sasgis.org/mantis/file_download.php?file_id=1389&type=bug SAS.Planet.Nightly.130621.7298B.jpg (346,343) 21-06-2013 02:50 http://www.sasgis.org/mantis/file_download.php?file_id=1390&type=bug SAS.Planet.Nightly.130621.7298C.jpg (280,116) 21-06-2013 02:50 http://www.sasgis.org/mantis/file_download.php?file_id=1391&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
19-06-2013 08:39 | most41rus | New Issue | |
19-06-2013 08:39 | most41rus | File Added: SASPlanet.Debug.elf | |
19-06-2013 09:02 | vasketsov | Summary | I/O error 998 => I/O error 998 при экспорте в JNX |
19-06-2013 09:03 | vasketsov | Project | Домен, сайт, форум, багтрекер => SAS.Планета |
20-06-2013 05:26 | most41rus | File Added: sas 130618.7297Nightly.jpg | |
20-06-2013 05:27 | most41rus | File Added: sas 121010.jpg | |
20-06-2013 05:31 | most41rus | Note Added: 0011713 | |
20-06-2013 05:51 | vdemidov | Tag Attached: jnx | |
20-06-2013 05:51 | vdemidov | Tag Attached: экспорт | |
20-06-2013 05:52 | vdemidov | Assigned To | => AlexWhiter |
20-06-2013 05:52 | vdemidov | Status | new => confirmed |
20-06-2013 05:53 | vdemidov | Product Version | => .Nightly |
20-06-2013 05:53 | vdemidov | Target Version | => 131111 |
21-06-2013 01:28 | AlexWhiter | Note Added: 0011734 | |
21-06-2013 02:47 | most41rus | File Added: SAS.Planet.Nightly.130621.7298.jpg | |
21-06-2013 02:48 | most41rus | File Added: SAS.Planet.Nightly.130621.7298A.jpg | |
21-06-2013 02:50 | most41rus | File Added: SAS.Planet.Nightly.130621.7298B.jpg | |
21-06-2013 02:50 | most41rus | File Added: SAS.Planet.Nightly.130621.7298C.jpg | |
21-06-2013 02:59 | most41rus | Note Added: 0011735 | |
21-06-2013 03:41 | AlexWhiter | Note Added: 0011736 | |
21-06-2013 05:21 | most41rus | Note Added: 0011737 | |
21-06-2013 05:35 | most41rus | Note Edited: 0011737 | bug_revision_view_page.php?bugnote_id=11737#r5470 |
21-06-2013 05:41 | most41rus | Note Edited: 0011737 | bug_revision_view_page.php?bugnote_id=11737#r5471 |
21-06-2013 06:01 | AlexWhiter | Note Added: 0011739 | |
21-06-2013 11:47 | vasketsov | Note Added: 0011740 | |
24-06-2013 00:49 | AlexWhiter | Note Added: 0011762 | |
24-06-2013 03:44 | vasketsov | Note Added: 0011763 | |
24-06-2013 04:02 | AlexWhiter | Note Added: 0011764 | |
24-06-2013 04:03 | AlexWhiter | Note Edited: 0011764 | bug_revision_view_page.php?bugnote_id=11764#r5477 |
24-06-2013 04:22 | vasketsov | Note Added: 0011765 | |
24-06-2013 04:53 | AlexWhiter | Note Added: 0011766 | |
24-06-2013 04:54 | AlexWhiter | Note Edited: 0011766 | bug_revision_view_page.php?bugnote_id=11766#r5479 |
24-06-2013 09:05 | most41rus | Note Added: 0011767 | |
24-06-2013 19:39 | vdemidov | Note Added: 0011778 | |
25-06-2013 14:32 | AlexWhiter | Note Added: 0011802 | |
25-06-2013 14:33 | AlexWhiter | Status | confirmed => resolved |
25-06-2013 14:33 | AlexWhiter | Fixed in Version | => 131111 |
25-06-2013 14:33 | AlexWhiter | Resolution | open => fixed |
Notes |
|
|
Ночная сборка спотыкается всегда при экспорте "обработано 5900" см. вложение
Релиз 121010 экспортирует без ошибок. Но в релизе 121010 JNX на выходе получается пожатый с потерей качества. |
|
|
|
На последней ночной сборке (130621) подтвердить не удается.
most41rus, проверьте, пожалуйста, проявляется ли ошибка на любой выбранной области, или только на какой-то конкретной. |
|
|
|
AlexWhiter, на последней ночной, та же ошибка с той же областью см скриншот.
Потом взял другую область с того же района, она чуть больше первой, тоже ошибка (скриншот А). Загрузил область меньше, в другом районе карты, экспорт прошёл без ошибок(скришот В). Выделил в ошибочной области меньший кусок, экспорт без ошибок (скриншот С). Может размеры области и количество сохраняемых файлов как то влияют? |
|
|
|
На прямоугольной области тоже проявляется?
Какой минимальный размер области (в тайлах), при которой экспорт начинает падать?
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 выдал ошибку.
|
|
|
|
Понятно.
Только что проверял на области с 71000 тайлами. Ошибка не вылетела.
Скачаю порядка 100000 тайлов, может быть, начнет воспроизводиться. |
|
|
|
ЕМНИП я снимками закидывал когда, там и 120 тыщ было, так что проблема может быть нев количестве тайлов как таковом |
|
|
|
Воспроизвести так и удалось. |
|
|
|
Я так понимаю, эта ошибка связана с отсутствием доступа (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'а, либо двойное разрушение какого-то объекта.
|
|
|
|
Проблема с доступом к 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] с указанием того, какой билд программы используется.
|
|
|
|
|
|
|
Я бы посоветовал использовать TFileStream, там на порядок более вменяемые эксепшены вылазят. |
|
|
|
vdemidov, описанная на sql.ru ситуация - результат некорректного использования blockread. blockread/blockwrite предполагают нетипизированные файлы, при открытии которых устанавливается размер блока вторым параметром reset/rewrite, который и не был указан в том случае.
С возникшей у most41rus ситуацией всё веселее - по какой-то причине в кэше оказались JPEGовые тайлы нулевой длины.
JNXLib полагается на то, что на вход поступают корректные потоки JPG, от которых перед записью откусываются первые два байта.
В случае же пустого потока получалось, что вызывается blockwrite с некорректным адресом сохраняемого буфера и отрицательной длиной, это и вызывало ошибку 998.
Для устранения я добавил в JNXLib проверку длины подсовываемого JPEGа.
most41rus уже проверил, ошибка больше не проявляется. |
|