(In reply to Matt Tighe [:matt-tighe] from comment #10) > - The underlying issue that Samsung has caused here is liable to appear in other places throughout the app, so we either Thanks Matt! Chris, I want to emphasize this point of Matt's: we will just be moving the problem to the next place in the code base where we need to use `AtomicIntegerFieldUpdater` in any of our libraries (everything kotlin with a `suspend` function). (In reply to Chris Peterson [:cpeterson] from comment #9) > Also, if this exception has been a known Kotlin issue since 2018, why did we only start hitting it in Fx 117? Did we rewrite our wallpapers code to use coroutines in 117? That's a good question, I forgot to reconsider that again. The [kotlinx.coroutines 1.7.0 update][2] had a [new API implementation][0] for `Channel` (coroutine API that is used internally) which is faster, but touches on this buggy code in Samsung API 21 devices whenever it needs to access the java `Atomic*FieldUpdater`. One of the library author's have a better explanation of the problem [here][1]. I don't think backing it out is feasible because we have to do this update eventually (our dependencies are also updating their dependencies to it too). The wordpress app seems to have faced [this issue too][4] and updated their min SDK version to 24. Bumping up to API 22 alone would solve a lot of bugs like this for us (even in our native rust components). [0]: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.7.0 [1]: https://github.com/Kotlin/kotlinx.coroutines/issues/490#issuecomment-412586899 [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1826590 [3]: https://github.com/wordpress-mobile/WordPress-Android/issues/13044#issuecomment-899523856
Bug 1851704 Comment 11 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Matt Tighe [:matt-tighe] from comment #10) > - The underlying issue that Samsung has caused here is liable to appear in other places throughout the app, so we either Thanks Matt! Chris, I want to emphasize this point of Matt's: we will just be moving the problem to the next place in the code base where we need to use `AtomicIntegerFieldUpdater` in any of our libraries (everything kotlin with a `suspend` function). (In reply to Chris Peterson [:cpeterson] from comment #9) > Also, if this exception has been a known Kotlin issue since 2018, why did we only start hitting it in Fx 117? Did we rewrite our wallpapers code to use coroutines in 117? That's a good question, I forgot to reconsider that again. The [kotlinx.coroutines 1.7.0 update][2] had a [new API implementation][0] for `Channel` (coroutine API that is used internally) which is faster, but touches on this buggy code in Samsung API 21 devices whenever it needs to access the java `Atomic*FieldUpdater`. One of the library author's have a better explanation of the problem [here][1]. I don't think backing it out is feasible because we have to do this update eventually (our dependencies are also updating their dependencies to it too). The wordpress app seems to have faced [this issue too][3] and updated their min SDK version to 24. Bumping up to API 22 alone would solve a lot of bugs like this for us (even in our native rust components). [0]: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.7.0 [1]: https://github.com/Kotlin/kotlinx.coroutines/issues/490#issuecomment-412586899 [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1826590 [3]: https://github.com/wordpress-mobile/WordPress-Android/issues/13044#issuecomment-899523856