Just by curiosity, does anyone ever saw that one?
I don’t think (and hope) I will ever reproduce this one…
So I’m not really looking for a fix, more posting this if someone encounters this one day.
EDIT : This is not related to a memory issue releasing the MKMApView. the map was displayed, i was scrolling it. (and I only release it on VC deallocation)
I “just” tapped a lil’ fast on a MKMapView on iOS 4.3.1 during some monkey testing…
I’m in a zone with TONS of wifi networks and not much GPS signal, my guess is that MapView went nuts with all Location events in combination with all the events I triggered. Probably also combined with using MKReverseGeocoder at the same time.
FYI, a MKDotBounce is related to user location blue dot… and crash initiated by MKUserLocationAccuracyAnimation… while resuming blue halo…
Btw I already noticed many times that this halo easily get stuck (even on Apple Maps)
Submitted a bugreport with that crash report to Apple…
#0 0x35d82698 in ___CFBasicHashFindBucket_Linear ()
#1 0x35cd5654 in CFBasicHashFindBucket ()
#2 0x35cd74a0 in CFDictionaryGetValue ()
#3 0x346b961a in -[NSObject(NSKeyValueObservingCustomization) observationInfo] ()
#4 0x346b95da in _NSKeyValueRetainedObservationInfoForObject ()
#5 0x346b94d8 in -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] ()
#6 0x356622d2 in CAAnimation_setter ()
#7 0x35662572 in CAAnimation_setter_kCAValueRetainedPointer ()
#8 0x3566258e in -[CAAnimation setDelegate:] ()
#9 0x35420456 in -[MKUserLocationViewInternal(Animations) dotBounceAnimation] ()
#10 0x3541e2ea in -[MKUserLocationViewInternal(Animations) actionForLayer:forKey:] ()
#11 0x35421bd2 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#12 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#13 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#14 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#15 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
>>> not a joke, really occured 22k times before EXC_BAD_ACCESS!
>>> smells an endless loop until pool exhaust
#22537 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#22538 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:] ()
#22539 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:] ()
#22540 0x35422134 in -[MKUserLocationViewInternal resumeHalo] ()
#22541 0x35422480 in -[MKUserLocationViewInternal updateHalo] ()
#22542 0x3541ec02 in -[MKUserLocationAccuracyAnimation animationDidStop:finished:] ()
#22543 0x3566771c in run_animation_callbacks ()
#22544 0x35656632 in CA::timer_callback ()
#22545 0x35d46a46 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
#22546 0x35d48eca in __CFRunLoopDoTimer ()
#22547 0x35d49844 in __CFRunLoopRun ()
#22548 0x35cd9ec2 in CFRunLoopRunSpecific ()
#22549 0x35cd9dca in CFRunLoopRunInMode ()
#22550 0x356f941e in GSEventRunModal ()
#22551 0x356f94ca in GSEventRun ()
#22552 0x35940d68 in -[UIApplication _run] ()
#22553 0x3593e806 in UIApplicationMain ()
#22554 0x00003a0a in main
2 weeks later, I have not reproduced that bug.
Answering to my own question, since obviously no one seen that one…
EDIT : Many weeks later:
Had an answer from Apple on my bug report, it is supposed to be fixed in iOS5. Not reproduced anyway, and that, on any iOS version. My guess it is a very rare bug in extreme race conditions.