-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[android] Instrumentation run failed due to 'Process crashed.' #14910
Comments
Thank you for the ticket @friedbunny. This is indeed a weird issue as I'm not seeing any crashes in the logging of firebase 🤔 |
Saw another job report “0 test cases failed” but crash on firebase. This one has a bit more information:
|
Will run tests locally on older handset to try symbolicating the crashtrace. Will schedule CI runs with and without 685a9e5 on a variety of devices on Firebase test lab. |
|
@tobrun thanks for cutting square/okhttp#5198. After reading the linked ticket square/okhttp#2679, these are two things we should try next:
|
Did a batch of tests with: @NonNull
private static Dispatcher getDispatcher() {
Dispatcher dispatcher = new Dispatcher();
// Matches core limit set on
// https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/src/http_file_source.cpp#L192
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
dispatcher.setMaxRequestsPerHost(20);
}
return dispatcher;
} not seeing any improvement
Validated that the devices I'm using for testing on Firebase are running the latest available update. |
Final follow up about this ticket: This rare bug that was discovered via instrumented unit tests on Android 4.4 (aka KitKat). This bug isn’t tied to a code change in the Mapbox Maps SDK for Android. Rather, the root cause is on the Android OS (and how it interacts with OkHttp). The Maps SDK doesn’t directly communicate with this system library that the bug originates from, but goes through an external dependency that handles the http communication for the Maps SDK. Capturing from the upstream repository that the code path to this system library isn’t thread safe in Android 4.4 and can result in the native crash above. The only way to fix this issue is by upgrading the end-user device to Android 5.0 or higher which isn’t possible if the device manufacturer hasn’t released an update for it. #14971 and #14986 address this ticket in the best way we can at this current moment. |
In this
android-gnustl-arm-v7
job (for #14591), instrumentation tests appear to have completed successfully:... but the ultimate result on firebase was a failure with "Instrumentation run failed due to 'Process crashed.’"
I don’t see any obvious clues as to why this happened and maybe it’s just provider instability, but I figured I’d ticket it nonetheless.
/cc @mapbox/maps-android
The text was updated successfully, but these errors were encountered: