2013-06-12 14 views
5

In meiner App bekomme ich gelegentlich einen Absturz beim Navigieren weg von einer Ansicht mit einem GMSMapView drin (popping es von meinem UINavigationController). Es stürzt auf Gewinde 10, und hier ist der Absturz Info:Google Maps iOS SDK gelegentlich Absturz beim Zerstören von GMSMapView

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

Und das Stack-Trace für diesen Thread:

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` 

jemand wie diese Abstürze von GMSMapView oder Google Maps SDK gesehen hat?

+0

Können Sie uns zeigen, was Sie in diesem Thread tun, wenn es Ihr ist? Ich hatte einen ähnlichen Absturz in Code, den ich schrieb, und das Problem war das: Ich postete einen Block in die globale gleichzeitige Warteschlange; Dieser Block hat einen neuen Kontext für verwaltete Objektdaten erstellt, eine Menge Dinge erledigt und ist beendet. Der Absturz ist aufgetreten, weil einige verwaltete Objekte diesen Kontext überleben konnten, indem sie im Autorelease-Pool saßen - vermutlich habe ich einen als Ergebnis zurückgegeben. Die Lösung bestand also darin, alles zwischen dem Kontext, der gerade erstellt und explizit zerstört wurde, in einem @ autoreasepool einzubinden. – Tommy

+0

Der Thread gehört mir nicht. Ich nehme an, dass Google Maps Kacheln abruft oder aktualisiert. –

Antwort

0

Ich hatte dieses Problem mit Xcode 5 - DP 5 und einer früheren Version des Google Maps SDK. Ich habe das SDK aktualisiert und die Dinge schienen wegzugehen.

Verwandte Themen