Parse crash when calling [PFFacebookUtils initializeFacebook] - semaphore_wait_trap

爱⌒轻易说出口 提交于 2019-12-04 11:44:30

问题


Since the latest Parse release (v1.6.3) my app gets stuck at launch, and the last breakpoint it hits is [PFFacebookUtils initializeFacebook]; If I hit pause and look at the debugger, the stack trace looks like this:

I'm calling [PFFacebookUtils initializeFacebook] in - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions as advised.

From googling the semaphore_wait_trap issue, it seems to be related to clashing background threads(?) in Core Data. But I've tried commenting out all my background Parse queries and it still occurs.

I tried updating pods (this occurred before updating, incidentally). I can also run the app from a clean install, until I log in to Facebook, at which point the crash happens every time I try to launch. The PFUser appears to be returning fine when queried. I've also cleared out my entire database but it didn't make a difference.

Anyone know what might be going on?


回答1:


I was seeing this same issue and found that changing the order of this initialization sequence (I am using swift) got me past it (notably commenting out the local data store also unblocks it):

This gets caught in semaphore_wait_trap:

// Parse integration initialization
Parse.enableLocalDatastore()
Parse.setApplicationId("<my app id>", clientKey: "<my client key>")
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
PFFacebookUtils.initializeFacebook()

This does not:

// Parse integration initialization
Parse.enableLocalDatastore()
Parse.setApplicationId("<my app id>", clientKey: "<my client key>")
PFFacebookUtils.initializeFacebook()
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)

Not sure of the underlying issue but hope it helps.




回答2:


Seems to be fixed with parse 1.7.2

According to v1.7.2 — April 27, 2015

New: Local Data Sharing for Extensions and WatchKit. Improved nullability annotations for ParseFacebookUtils.
Fixed: logOutInBackground with block callback not called on main thread. Fixed: Potential compilation error with using imports for PFSubclassing.h.
Fixed: Not persistent currentUser if saving automatic user via saveEventually.
Fixed: Rare deadlock scenario with using ParseFacebookUtils and currentUser.
Fixed: Rare issue with pinning multiple objects in a row to the same pin.
Fixed: Rare scenario when user could be not linked with Facebook.
Improved performance and reliability of Local Datastore. Performance improvements.
Other small bug fixes.



来源:https://stackoverflow.com/questions/28701077/parse-crash-when-calling-pffacebookutils-initializefacebook-semaphore-wait-t

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!