SASGIS - SAS.Планета  | 
| View Issue Details | 
  | 
| ID | Project | Category | View Status | Date Submitted | Last Update | 
| 0001970 | SAS.Планета | [All Projects] Баг / Bug | 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 | 
| 08-08-2025 13:22 | zed | Category | Баг => Баг / Bug | 
	| 
		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 уже проверил, ошибка больше не проявляется.			 | 
		 
		 
	 |