One of our highest ranking crashes is a "java.lang.UnsatisfiedLinkError" crash. 
It mainly shows on the Google Play Developer console. We have a variety of bugs 
[1] [2] [3] [4] filed about it, but it still is a bit of a mystery. 

Recently, we started to think that the problem is caused by the wrong APK 
trying to run on the wrong ABI (ARM vs x86). We've had a few crash reporters 
work with us to try different APKs and the problem clears up. One reporter 
switched from the Google Play delivered APK to an explicit sideload of the 
expected-correct APK and the crash went away. 

If we continue with this hypothesis, we have a few questions/actions: 
1. How are the wrong APKs being delivered to devices by Google Play? I have not 
noticed any problems or bugs related to Google Play about this issue. Could 
this also be happening on 3rd party stores? 
2. We should start explicitly checking CPU before loading the native libraries. 
We can inform the user of the problem and even collect Telemetry. 
3. Figure out a way to fix the issue in-place, either by (a) directing the user 
to the correct APK or (b) downloading the correct libraries. 

#3a might not be effective since we have no way of forcing an APK download from 
Google Play and pointing people to a Mozilla hosted APK means that sideloading 
needs to be enabled on the device. Maybe sideloading is not the end of the 
world though. 
Google Play has no way to explicitly block x86 downloads to ARM devices (or 
vice versa) so we can't manipulate the APK/device association. 

Any other thoughts? 

Finkle 

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=989787 
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=985826 
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=976209 
[4] https://bugzilla.mozilla.org/show_bug.cgi?id=990130 

_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to