I'm encountering a rare crash that is likely the result of something I'm doing but I thought I'd see if anyone else had ideas.
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00000010
Here's the stacktrace
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x00000001950ac0b4 objc_retain + 20
1 ETM iOS App 0x000000010018f02c -[GHWalkThroughView crossDissolveForOffset:] (GHWalkThroughView.m:251)
2 ETM iOS App 0x000000010018ee20 -[GHWalkThroughView scrollViewDidScroll:] (GHWalkThroughView.m:219)
3 UIKit 0x000000018858fbbc -[UIScrollView(UIScrollViewInternal) _notifyDidScroll] + 72
4 UIKit 0x00000001882ccdb4 -[UIScrollView setContentOffset:] + 500
5 UIKit 0x000000018845b140 -[UIScrollView _updatePanGesture] + 1684
6 UIKit 0x00000001884470dc _UIGestureRecognizerSendActions + 276
7 UIKit 0x00000001882e0720 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 580
8 UIKit 0x00000001887514fc ___UIGestureRecognizerUpdate_block_invoke662 + 60
9 UIKit 0x00000001882a4484 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 292
10 UIKit 0x00000001882a2830 _UIGestureRecognizerUpdate + 2504
11 UIKit 0x00000001882de898 -[UIWindow _sendGesturesForEvent:] + 1044
12 UIKit 0x00000001882ddf50 -[UIWindow sendEvent:] + 660
13 UIKit 0x00000001882b118c -[UIApplication sendEvent:] + 264
14 UIKit 0x0000000188552324 _UIApplicationHandleEventFromQueueEvent + 15424
15 UIKit 0x00000001882af6a0 _UIApplicationHandleEventQueue + 1716
16 CoreFoundation 0x0000000183828240 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
17 CoreFoundation 0x00000001838274e4 __CFRunLoopDoSources0 + 264
18 CoreFoundation 0x0000000183825594 __CFRunLoopRun + 712
19 CoreFoundation 0x00000001837512d4 CFRunLoopRunSpecific + 396
20 GraphicsServices 0x000000018cf676fc GSEventRunModal + 168
21 UIKit 0x0000000188316fac UIApplicationMain + 1488
22 ETM iOS App 0x00000001000d7918 main (main.m:16)
23 libdyld.dylib 0x0000000195712a08 start + 4
We have a tab view controller in our app with several walkthroughs in different tabs and based on logging of the 2 times it's happened it's been when users view multiple walkthroughs in different tabs. I suspect crossDissolveForOffset is getting called on the wrong walkthrough object that has already been deallocated however if that was the case I would've expected it to crash on [GHWalkThroughView scrollViewDidScroll:] when it tried to access the walkthrough object the first time. The issue is extremely rare and I've been unable to repro so maybe it's a race condition when switching tabs with walkthroughs.
Any ideas/advice would be appreciated :)