Hey front-end folks. I could use your help with the #7 top crasher! In particular, if you have some expertise with Loaders, it'd be good to get your eyes on this! https://bugzilla.mozilla.org/show_bug.cgi?id=760956
TopSitesLoader (which uses our customization of CursorLoader under the hood) is re-using an already closed Cursor, which throws an Exception, causing the crash. TopSitesLoader uses TopSitesCursorWrapper as its Cursor, which is a wrapper around three separate Cursors. Some thoughts on where the problem could be coming from: - Our custom CursorLoader implementation pushes the query outside of the CursorLoader, allowing us to do operations before and after the query. However, we took the CursorLoader code straight from the framework and it may be written to assume the query happens in one call - We're using the TopSitesLoader incorrectly (i.e. we're not managing its lifecycle correctly with the LoaderManager) - There is a bug in the Android framework around Loaders I started to investigate and came up with some speculative fixes, seeing that the framework used `CancellationSignal`s, but I later discovered the framework has two implementations (one built-in and one in the support library), one of which does not use the `CancellationSignal`s so I think the implementation with the signals is an optimization and I lost confidence in my solution. Some of my previous investigations provide more context: see comments 12 [1] - 15 (and ignore the comments on cancelling). Thanks in advance! - Mike [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=760956#c12
_______________________________________________ mobile-firefox-dev mailing list mobile-firefox-dev@mozilla.org https://mail.mozilla.org/listinfo/mobile-firefox-dev