Description
Hi,
I faced a deadlock on 5 background threads which got stocked on @synchronized(lock) when running parse queries. I didn't run at the same moment all the 5 queries, but since the user hasn't received a response, the user left the page and return it (which cause the query to run once again).
This is not the first time I faced a deadlock in Parse SDK.
I also find out that calling to PFUser.currentUser() can cause a deadlock on main thread because BFTask use semaphore with "wait for ever"
One more deadlock I faced is which accessing a Parse object from the main thread to read one of its properties while a background thread is updating the object from a query result
The two last deadlocks I've mentioned are locking the main thread, therefore the app is freeze and after a short time the OS terminating it.
The first deadlock is only on background thread, so the app isn't freeze, but the user won't receive any data from server.