mapbox / mapbox/mapbox-maps-android

SIGABRT - Native crash on Samsung devices running Android 12

Open
#1,697 45 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

auto-triaged bug :beetle:
Dominant language
Kotlin
Stars
578
Forks
161
PR merge metrics
No merged PRs in 30d

Description

## Environment

- Android OS version: Android 12
- Devices affected: Only Samsung devices (SM-S908U, SM-G996U, SM-S901U, SM-N986U, SM-F711U, SM-F936U, ...)
- Maps SDK Version: 10.7.0, 10.8.0

## Observed behavior and steps to reproduce
- We could not reproduce the crash but we can see the analytics events fired before the crash:
- 1. User launches the app. The initial screen is a fragment with a MapView.
- 2. The crash happens either at the app launch (before the fragment with MapView is loaded) or right after the fragment is loaded.

`
SIGABRT Abort program
/apex/com.android.runtime/lib64/bionic/libc.so:334716 abort
/apex/com.android.runtime/lib64/bionic/libc.so:267876 scudo::die()
/apex/com.android.runtime/lib64/bionic/libc.so:269692 scudo::ScopedErrorReport::~ScopedErrorReport()
/apex/com.android.runtime/lib64/bionic/libc.so:270288 scudo::reportInvalidChunkState(scudo::AllocatorAction, void*)
/apex/com.android.runtime/lib64/bionic/libc.so:276076 scudo::Allocator::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3049648 0x7949f238b0
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3053908 0x7949f24954
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3046420 0x7949f22c14
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3042340 0x7949f21c24
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3040696 0x7949f215b8
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:3010112 0x7949f19e40
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:2688456 0x7949ecb5c8
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libmapbox-maps.so:2301556 0x7949e6ce74
/data/app/~~_2--0h93ACPR9pHhIGV-6w==/com.example.app-ZtmHjD0tXEcUUikBUwc_FQ==/oat/arm64/base.odex:2831344 art_jni_trampoline
`

## Expected behavior

The app should not crash after being launched.

## Notes / preliminary analysis
This is currently our top crash in the app.

## Additional links and references

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the SIGABRT stack trace in libmapbox-maps.so and the app launch path involving the initial MapView fragment. Investigate whether the crash can be reproduced on the listed Samsung devices running Android 12 with Maps SDK 10.7.0 or 10.8.0; done means identifying and fixing the native allocator crash so the app launches without aborting.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.