UIKit _wrapRunLoopWithAutoreleasePoolHandler + 36: sometimes happens from Crashlytics report

I received this crash report from Crashlytics

UIKit _wrapRunLoopWithAutoreleasePoolHandler + 36 

And this happened only once from all users of my application, and I had never seen this crash before when it is in the debug version.

From the search, this is due to too much β€œrelease”, but my project actually uses ARC and the entire third-party module, all of them ARC. Only one module that I found that still has non-ARC is MBProgressHUD. But it calls "release" in dealloc () and C # ifdef! _has_feature (obj_arc). Therefore, the release should not be called at all. Here is the code

 - (void)dealloc { [self unregisterFromNotifications]; [self unregisterFromKVO]; #if !__has_feature(objc_arc) [color release]; [indicator release]; [label release]; [detailsLabel release]; [labelText release]; [detailsLabelText release]; [graceTimer release]; [minShowTimer release]; [showStarted release]; [customView release]; [labelFont release]; [labelColor release]; [detailsLabelFont release]; [detailsLabelColor release]; #if NS_BLOCKS_AVAILABLE [completionBlock release]; #endif [super dealloc]; #endif } 

Can I conclude that this crash accidentally happens? Because not my code calls "release" (my application still has a relatively small user base)

Thanks in advance

+5
source share

Source: https://habr.com/ru/post/1203743/


All Articles