开发者

iPhone: App crash in MapView after 20 min

I am working on an app that tracks a users location. After about 20 minutes it seems that the app always crashes, and I am not sure why. Device logs show:

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

Thread 0 Crashed:
0   Ride                            0x00012e00 -[Route addCoordinate:] (Route.m:92)
1   Ride                            0x0000877a -[MyRidesMapViewController locationManager:didUpdateToLocation:fromLocation:] (MyRidesMapViewController.m:528)
2   CoreLocation                    0x0000931c -[CLLocationManager onClientEventLocation:] + 584
3   CoreLocation                    0x00007552 -[CLLocationManager onClientEvent:supportInfo:] + 98
4   CoreLocation                    0x000076a0 OnClientEvent + 16
5   CoreLocation                    0x00002ade CLClientInvokeCallback(__CLClient*, CLClientEvent, __CFDictionary const*) + 42
6   CoreLocation                    0x0000512c CLClientHandleDaemonDataLocation(__CLClient*, CLClientLocation const*, __CFDictionary const*) + 204
7   CoreLocation                    0x0000528a CLClientHandleDaemonData(__CFMessagePort*, long, __CFData const*, void*) + 298
8   CoreFoundation                  0x0006936a __CFMessagePortPerform + 242
9   CoreFoundation                  0x00071aa4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
10  CoreFoundation                  0x00073848 __CFRunLoopDoSource1 + 160
11  CoreFoundation                  0x00074626 __CFRunLoopRun + 514
12  CoreFoundation                  0x0001d8e4 CFRunLoopRunSpecific + 224
13  CoreFoundation                  0x0001d7ec CFRunLoopRunInMode + 52
14  GraphicsServices                0x000036e8 GSEventRunModal + 108
15  GraphicsServices                0x00003794 GSEventRun + 56
16  UIKit                           0x000062a0 -[UIApplication _run] + 396
17  UIKit                           0x00004e10 UIApplicationMain + 664
18  Ride                            0x00002a20 main (main.m:14)
19  Ride                            0x000029d4 start + 32

Looks like I am trying to release something that has already been released, but what?! I have NSZombie enabled, and it does not se开发者_如何学JAVAem to help.

It used to work, and I recently updated my class to use self. for anything that I synthesized, could this be the issue?

EDIT: I updated the error. It seems to be listing the line numbers for each line, but they do not seem to be helping to find the issue.


Do you have NSZombie enabled while you're running on the device? If so chances are you are running out of memory. As you know, NSZombie keeps released objects around so you can detect a double release.

Chances are you do have some memory issues though. Does the static analyzer show you anything? (shift-command-A).


Setting the location manager delegate to nil AND THEN releasing it fixed the crash for me.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜