2013-06-12 3 views
5

В моем приложении я иногда получаю сбой при навигации вдали от вида с помощью GMSMapView (выталкивает его из моего UINavigationController). Это сбой на нить 10, а вот крах информация:Google Maps iOS SDK случайный сбой при уничтожении GMSMapView

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x00000004 
Crashed Thread: 10 

И трассировки стека для этой нити:

Thread 10 name: Dispatch queue: URLConnection 
Thread 10 Crashed: 
0 libsystem_c.dylib    0x39ef897c OSAtomicAdd32 + 0 
1 CoreData      0x31bf3de4 _PFfastQueueRelease + 24 
2 CoreData      0x31bd3ee8 -[NSManagedObject release] + 224 
3 CoreFoundation     0x31d2d30c CFRelease + 96 
4 CoreFoundation     0x31d47e96 -[__NSDictionaryM dealloc] + 130 
5 Trail Tracker GPS    0x00206076 -[GMSTileDataCache .cxx_destruct] + 162 
6 libobjc.A.dylib     0x39a90f3a object_cxxDestructFromClass(objc_object*, objc_class*) + 54 
7 libobjc.A.dylib     0x39a8e0ce objc_destructInstance + 30 
8 libobjc.A.dylib     0x39a8e3a2 object_dispose + 10 
9 Trail Tracker GPS    0x00201810 -[GMSTileDataCache dealloc] + 172 
10 Trail Tracker GPS    0x0030da12 -[GMSDASHTileService .cxx_destruct] + 318 
11 libobjc.A.dylib     0x39a90f3a object_cxxDestructFromClass(objc_object*, objc_class*) + 54 
12 libobjc.A.dylib     0x39a8e0ce objc_destructInstance + 30 
13 libobjc.A.dylib     0x39a8e3a2 object_dispose + 10 
14 Trail Tracker GPS    0x00309786 -[GMSDASHTileService dealloc] + 182 
15 libobjc.A.dylib     0x39a90f3a object_cxxDestructFromClass(objc_object*, objc_class*) + 54 
16 libobjc.A.dylib     0x39a8e0ce objc_destructInstance + 30 
17 libobjc.A.dylib     0x39a8e3a2 object_dispose + 10 
18 CoreFoundation     0x31d2d30c CFRelease + 96 
19 CoreFoundation     0x31d37a0e -[__NSArrayI dealloc] + 74 
20 Trail Tracker GPS    0x00230e84 -[GMSDASHStreamingBody .cxx_destruct] + 40 
21 libobjc.A.dylib     0x39a90f3a object_cxxDestructFromClass(objc_object*, objc_class*) + 54 
22 libobjc.A.dylib     0x39a8e0ce objc_destructInstance + 30 
23 libobjc.A.dylib     0x39a8e3a2 object_dispose + 10 
24 CoreFoundation     0x31d2d30c CFRelease + 96 
25 CFNetwork      0x31aececa CoreReadStreamFromCFReadStream::~CoreReadStreamFromCFReadStream() + 38 
26 CFNetwork      0x31aece8a CoreReadStreamFromCFReadStream::~CoreReadStreamFromCFReadStream() + 6 
27 CoreFoundation     0x31d2d3ce CFRelease + 290 
28 CFNetwork      0x31a4f7be HTTPRequest::~HTTPRequest() + 74 
29 CFNetwork      0x31a4f76a HTTPRequest::~HTTPRequest() + 6 
30 CoreFoundation     0x31d2d3ce CFRelease + 290 
31 CFNetwork      0x31a54992 URLRequest::~URLRequest() + 106 
32 CFNetwork      0x31a5491e URLRequest::~URLRequest() + 6 
33 CoreFoundation     0x31d2d3ce CFRelease + 290 
34 CFNetwork      0x31a4464c __CFURLCacheNode::~__CFURLCacheNode() + 40 
35 CFNetwork      0x31a429de __CFURLCacheNode::~__CFURLCacheNode() + 6 
36 CFNetwork      0x31a4f57e __CFURLCache::RemoveResponseFromCacheContainers(__CFURLCacheNode*, _CFCachedURLResponse const*, __CFString const*, bool) + 158 
37 CFNetwork      0x31a4d71e __CFURLCache::AddResponseIntoCacheContainers(__CFString const*, __CFURLCacheNode*, bool) + 102 
38 CFNetwork      0x31a4d652 __CFURLCache::CreateAndStoreCacheNode(__CFURLCacheNode*, _CFCachedURLResponse const*, __CFString const*, _CFURLRequest const*, void const*, bool, bool&) + 186 
39 CFNetwork      0x31a900c8 __CFURLCache::AddCacheTask0(__CFURLCacheNode*) + 320 
40 CFNetwork      0x31a8ff78 __CFURLCache::AddCacheTask(__CFURLCacheNode*) + 28 
41 CFNetwork      0x31a4d55e CFURLCacheAddCachedResponseForRequest + 622 
42 CFNetwork      0x31ac7ac4 ___internalEvent_WillCacheResponse_block_invoke_0 + 28 
43 CFNetwork      0x31ac91ca URLConnectionClient_Classic::_delegate_willCacheResponse(_CFCachedURLResponse const*, void()(_CFCachedURLResponse const*) block_pointer) + 42 
44 CFNetwork      0x31ac7a96 URLConnectionClient::_internalEvent_WillCacheResponse() + 586 
45 CFNetwork      0x31ac7b8c URLConnectionClient::_clientEvent_DidFinishLoading() + 172 
46 CFNetwork      0x31acdaa8 ___withClientAsync_block_invoke_0 + 20 
47 CFNetwork      0x31ac6426 ___withWorkQueueAsync_block_invoke_0 + 10 
48 CFNetwork      0x31af0e34 ___performAsync_block_invoke_0 + 24 
49 libdispatch.dylib    0x39ea911c _dispatch_call_block_and_release + 8 
50 libdispatch.dylib    0x39ea8996 _dispatch_queue_drain$VARIANT$up + 142 
51 libdispatch.dylib    0x39ea8890 _dispatch_queue_invoke$VARIANT$up + 32 
52 libdispatch.dylib    0x39eb7212 _dispatch_root_queue_drain + 190 
53 libdispatch.dylib    0x39eb73b4 _dispatch_worker_thread2 + 80 
54 libsystem_c.dylib    0x39edda0e _pthread_wqthread + 358 
55 libsystem_c.dylib    0x39edd8a0 start_wqthread + 4` 

Кто-нибудь видел аварии, как это из GMSMapView или Google Maps SDK?

+0

Можете ли вы показать нам, что вы делаете в этой ветке, если она ваша? У меня был аналогичный сбой в коде, который я написал, и проблема в этом: я отправил блок в глобальную параллельную очередь; этот блок создал новый контекст управляемых объектов Core Data, сделал кучу вещей и вышел. Сбой произошел из-за того, что некоторые управляемые объекты смогли пережить этот контекст, сидя в пуле авторесурсов - предположительно я поставил его как результат возврата. Таким образом, решение заключалось в том, чтобы обернуть все между создаваемым контекстом и явно уничтоженным в '@ autoreleasepool'. – Tommy

+0

Нить не моя. Я предполагаю, что Google Maps извлекает или обновляет плитки. –

ответ

0

У меня была эта проблема с Xcode 5 - DP 5 и предыдущей версией SDK Google Maps. Я обновил SDK, и все, казалось, исчезло.

Смежные вопросы