Post

Replies

Boosts

Views

Activity

How to debug EXC_BAD_ACCESS KERN_INVALID_ADDRESS crash
We are lately seeing this crash happen randomly to our users. Though the numbers are not high, we still want to address this issue. Our stack trace is from Crashlytics is: Crashed: com.apple.main-thread 0&#9;CityVideo&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x100698834 specialized HeadlessStateAPI.getParamsForEpisode(_:) + 4302817332 (VideoAPISearchParams.swift:4302817332) 1&#9;CityVideo&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x10068cf64 @objc HeadlessStateAPI.downloadVideosForShow(showInfo:completionBlock:) + 4302770020 (<compiler-generated>:4302770020) 2&#9;CityVideo&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x100637bf4 -[ctvvShowPageViewController2 ctvvReloadData] + 862 (ctvvShowPageViewController2.m:862) 3&#9;CityVideo&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x100632c90 -[ctvvShowPageViewController2 viewDidLoad] + 174 (ctvvShowPageViewController2.m:174) 4&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5bfa224 -[UIViewController loadViewIfRequired] + 1012 5&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5bfa628 -[UIViewController view] + 28 6&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5b57724 -[UINavigationController _startCustomTransition:] + 1072 7&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5b6b714 -[UINavigationController _startDeferredTransitionIfNeeded:] + 708 8&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5b6cb3c -[UINavigationController __viewWillLayoutSubviews] + 164 9&#9;UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b5b4fd4c -[UILayoutContainerView layoutSubviews] + 224 10 UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b663b170 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1292 11 QuartzCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18e477c60 -[CALayer layoutSublayers] + 184 12 QuartzCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18e47cc08 CA::Layer::layout_if_needed(CA::Transaction*) + 332 13 QuartzCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18e3df3e4 CA::Context::commit_transaction(CA::Transaction*) + 348 14 QuartzCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18e40d620 CA::Transaction::commit() + 640 15 QuartzCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18e40e15c CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92 16 CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x189ecb4fc CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 32 17 CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x189ec6224 __CFRunLoopDoObservers + 412 18 CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x189ec67a0 __CFRunLoopRun + 1228 19 CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x189ec5fb4 CFRunLoopRunSpecific + 436 20 GraphicsServices&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x18c0c779c GSEventRunModal + 104 21 UIKitCore&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1b61a3c38 UIApplicationMain + 212 22 CityVideo&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x10062f8f4 main + 19 (main.m:19) 23 libdyld.dylib&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x1899898e0 start + 4 We use mix of Objc and Swift. Here is the swift method, that is shown in crash report: &#9;&#9;@objc     func downloadVideosForShow(showInfo: ShowsAPI, completionBlock:@escaping(() -> Void)) { var videos = [VideoAPIVideo]()         self.downloadVideosViaVIDEOAPI(searchParams: getParamsForEpisode(showInfo)) { results in             if !results.isEmpty {                 videos.append(contentsOf: results)             }             self.downloadVideosViaVIDEOAPI(searchParams: self.getParamsForClips(showInfo)) { results in                 if !results.isEmpty {                     videos.append(contentsOf: results)                 }                 self.videoData = videos                 completionBlock()             }         } } func getParamsForEpisode(_ showInfo: ShowsAPI) -> VideoAPISearchParams {         let searchParameters = VideoAPISearchParams()         searchParameters.show_id = NSNumber(value: showInfo.showId)         searchParameters.sort = "%5Eepisode"         searchParameters.type = .episode         if let seasons = showInfo.seasons {             if seasons.count > 1 {                 searchParameters.season = NSNumber(value: showInfo.getChosenSeasonNumber())             }         }         return searchParameters     } So far we never able to reproduce this crash on our side. We tried on both debug and Release build configurations though Xcode. And zombies instrument didn't catch anything related to this. We are not sure, if this bug is worth spending more time. We use the latest Xcode version from App Store.
1
0
1.1k
Oct ’20
ITMS-90338: Non-public API usage with Nanopb framework
I have the nanopb.xcframework in my project that is used by FirebaseAnalytics. This issue is reported recently, and never before. ITMS-90338: Non-public API usage - The app references non-public symbols in CitytvVideoStaging: pbdecode, pbencode, pbistreamfrombuffer, pbostreamfrombuffer. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/ What is the possible solution for this nanopb issue?
0
0
757
Sep ’20