mapbox / mapbox/mapbox-vision-ios
Vision crashes on iOS 14 with an unhandled exception when starting VisionManager in Apex
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 63
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
If you enable AR Navigation in Apex and attempt to use it by rotating your phone, the app will crash when Vision is starting up.
## Configuration
- Device: iPhone Xs Max
- OS: 14.0.1
- Frameworks versions (leave the ones you're using):
From the Apex Podfile.lock:
- MapboxVision (0.13.0):
- MapboxMobileEvents (~> 0.10.2)
- MapboxVisionNativeAll/Vision (= 0.13.0)
- ZIPFoundation (~> 0.9.9)
- MapboxVisionAR (0.13.0):
- MapboxVision (= 0.13.0)
- MapboxVisionNativeAll/AR (= 0.13.0)
- MapboxVisionNativeAll (0.13.0):
- MapboxVisionNativeAll/AR (= 0.13.0)
- MapboxVisionNativeAll/Safety (= 0.13.0)
- MapboxVisionNativeAll/Vision (= 0.13.0)
- MapboxVisionNativeAll/AR (0.13.0):
- MapboxVisionNativeAll/Vision
- MapboxVisionNativeAll/Safety (0.13.0):
- MapboxVisionNativeAll/Vision
- MapboxVisionNativeAll/Vision (0.13.0):
- MapboxAccounts (~> 2.2)
- OpenCV (~> 2.4.13.6)
## Additional context
Backtrace from crash:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
frame #0: 0x000000010db958d0 MapboxVisionNative`cva::Core::Shutdown() + 56
frame #1: 0x000000010dafdb84 MapboxVisionNative`i.2163 + 92
frame #2: 0x000000010daa264c MapboxVisionNative`mapbox::vision::ios::onIssueDetected() + 28
frame #3: 0x000000010db70880 MapboxVisionNative`i.2300 + 86928
frame #4: 0x000000010d7c330c MapboxVision`@nonobjc MBVVisionManagerNative.start() at :0
frame #5: 0x000000010d7c32d4 MapboxVision`protocol witness for VisionManagerNativeProtocol.start() in conformance MBVVisionManagerNative at :0
* frame #6: 0x000000010d7bf610 MapboxVision`VisionManager.resume(self=0x0000000280455e10) at VisionManager.swift:234:29
frame #7: 0x000000010d7bf470 MapboxVision`VisionManager.start(self=0x0000000280455e10) at VisionManager.swift:69:9
frame #8: 0x0000000104633690 Apex`VisionNavigationViewController.startVision(self=0x00000001319107a0) at VisionNavigationViewController.swift:109:55
frame #9: 0x000000010463254c Apex`VisionNavigationViewController.viewDidAppear(animated=false, self=0x00000001319107a0) at VisionNavigationViewController.swift:50:9
frame #10: 0x0000000104632594 Apex`@objc VisionNavigationViewController.viewDidAppear(_:) at :0
frame #11: 0x0000000190347764 UIKitCore`-[UIViewController _setViewAppearState:isAnimating:] + 876
frame #12: 0x000000019034811c UIKitCore`-[UIViewController __viewDidAppear:] + 172
frame #13: 0x0000000190349ca8 UIKitCore`__64-[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]_block_invoke + 48
frame #14: 0x0000000190348aa0 UIKitCore`-[UIViewController _executeAfterAppearanceBlock] + 96
frame #15: 0x0000000190a4c500 UIKitCore`_runAfterCACommitDeferredBlocks + 556
frame #16: 0x0000000190a3b1bc UIKitCore`_cleanUpAfterCAFlushAndRunDeferredBlocks + 204
frame #17: 0x0000000190a6e648 UIKitCore`_afterCACommitHandler + 80
frame #18: 0x000000018e09e444 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 36
frame #19: 0x000000018e098858 CoreFoundation`__CFRunLoopDoObservers + 576
frame #20: 0x000000018e098e08 CoreFoundation`__CFRunLoopRun + 1056
frame #21: 0x000000018e0984bc CoreFoundation`CFRunLoopRunSpecific + 600
frame #22: 0x00000001a4b1d820 GraphicsServices`GSEventRunModal + 164
frame #23: 0x0000000190a3c734 UIKitCore`-[UIApplication _run] + 1072
frame #24: 0x0000000190a41e10 UIKitCore`UIApplicationMain + 168
frame #25: 0x00000001047c0760 Apex`main at AppDelegate.swift:16:7
frame #26: 0x000000018dd5fe60 libdyld.dylib`start + 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash using the Apex AR Navigation flow on iOS 14.0.1 with the listed Mapbox Vision 0.13.0 dependencies, then inspect VisionNavigationViewController.swift at lines 50 and 109 and VisionManager.swift at lines 69 and 234 alongside the backtrace. Done means starting Vision no longer produces the reported EXC_BAD_ACCESS during VisionManager startup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, opencv, swift
- Domain
- computer-vision, mobile-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100