views:

53

answers:

0

I have an app that is exhibiting an intermittent crash. The crash logs are showing a stack trace that is tough for me to decipher, so hoping that someone else has seen this and can point me in the right direction.

Basically the app does a reverse geocoding request at startup to show the user's location in a label. Additionally, I do another reverse geocoding request for a specific API call.

What's happening is that sometimes this MKReverseGeocoder takes a really long time to come back. Eventually I assume that I'll get a failure callback, and sometimes I do, but it can be minutes before this happens.

Since the API call is also issuing another MKReverseGeocoder request, I think perhaps there is an issue with multiple concurrent calls?

Here is my stacktrace:

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) backtrace
#0  0x30c237a0 in -[MKPlacemark _mapkit_cache_heapTime] ()
#1  0x30bffe60 in compareTimes ()
#2  0x32403b24 in CFBinaryHeapAddValue ()
#3  0x30c0030c in -[MKCache setObject:forKey:] ()
#4  0x30c2aa48 in -[MKReverseGeocodeCache addPlacemark:forCoordinate:] ()
#5  0x30c2251c in -[MKReverseGeocoder requester:didReceiveResponse:forRequest:] ()
#6  0x3388cc1c in -[PBRequester _tryParseData] ()
#7  0x3388b288 in -[PBRequester connection:didReceiveData:] ()
#8  0x337490ce in -[NSURLConnection(NSURLConnectionReallyInternal) sendDidReceiveData:originalLength:] ()
#9  0x33748ff0 in _NSURLConnectionDidReceiveData ()
#10 0x30899ff8 in URLConnectionClient::_clientDidReceiveData ()
#11 0x3088ca3e in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#12 0x3088cb40 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#13 0x3088cb40 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#14 0x3088c8ce in URLConnectionClient::processEvents ()
#15 0x3088c878 in URLConnection::multiplexerClientPerform ()
#16 0x3088c7f8 in MultiplexerSource::perform ()
#17 0x3088c798 in MultiplexerSource::_perform ()
#18 0x323f4f48 in CFRunLoopRunSpecific ()
#19 0x323f4c1e in CFRunLoopRunInMode ()
#20 0x335051c8 in GSEventRunModal ()
#21 0x324a6c30 in -[UIApplication _run] ()
#22 0x324a5230 in UIApplicationMain ()
#23 0x000024f8 in main (argc=1, argv=0x2ffff504) at /Users/ben/projects/ABC/iphone/ABC/main.m:14

Since it doesn't look like it's even calling my callback method I don't know where to look for this EXC_BAD_ACCESS issue. My delegate is certainly still active (I'm staring at the View Controller that launched the request).

1 last note: It has only appeared so far on iOS 3.1.3. I haven't seen it happen for iOS 4.0 yet.u