| The issue is still open here: https://developers.facebook.com/bugs/838833329491346/?search... I think the guy on the ticket didn't really understand what I was saying. I'm happy to provide any extra info necessary (what I can remember anyway). From looking through the code, the issue still appears to exist. [1] is called on the Main Thread. It eventually calls to a synchronized block [2]. [3] is called from a background thread and uses the same synchronised lock. --> Main Thread + Background Thread using same lock == Trouble One other annoying issue I reported (#937744189590638 - private) was not being able to update the GCM token. The field is readonly, even though the GCM docs explicitly state that the key changes over time. Meaning you have to delete and recreate the Installation - and what happens if you have other objects linked to that installation? Super annoying. Could be easily solved by making that field writable. [1]: https://github.com/ParsePlatform/Parse-SDK-Android/blob/mast... [2]: https://github.com/ParsePlatform/Parse-SDK-Android/blob/mast... [3]: https://github.com/ParsePlatform/Parse-SDK-Android/blob/mast... |
WRT the ParseCommandCache links you sent, you're right that there is some trouble using the same lock on a background thread and UI thread. It would possibly cause some UI stuttering, but it wouldn't necessarily cause a deadlock on it's own. There's probably a bit more to it and I'd love to dig deeper and find out why.