Crashlytics Reports Android App Crash Внутри сборщика мусора - PullRequest
2 голосов
/ 02 мая 2019

В наших данных Crashlytics мы видим множество отчетов со старых устройств, как показано ниже.Наше приложение, похоже, аварийно завершает работу, когда система отправляется на очистку памяти.

Приложение содержит собственный код, который malloc() s в куче.Ревизия каждой строки вручную невозможна.У нас нет доступа ко всему исходному коду, а база кода велика.

В настоящее время у нас нет известного способа воспроизвести это «в лаборатории».У нас есть только эти загадочные следы.

...
# OS Version: 5.0
# Device: Galaxy Note3
# RAM Free: 4.2%
# Disk Free: 34.8%

#0. Crashed: .our.app.id|
0 libart.so  0xb4d24180 (Missing)
1 libart.so  0xb4d244b7 art::gc::collector::MarkSweep::ProcessMarkStack(bool)
2 libart.so  0xb4d2454d art::gc::collector::MarkSweep::MarkReachableObjects()
3 libart.so  0xb4d25491 art::gc::collector::MarkSweep::MarkingPhase()
4 libart.so  0xb4d255bf art::gc::collector::MarkSweep::RunPhases()
5 libart.so  0xb4d1ca87 art::gc::collector::GarbageCollector::Run(art::gc::GcCause, bool)
6 libart.so  0xb4d3c43b art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool)
7 libart.so  0xb4d3d881 art::gc::Heap::ConcurrentGC(art::Thread*)
8 boot.oat   0x745b23db (Missing)

Я ищу советы о том, как подойти / отладить эту аварию.Что вызывает этот след?Какие шаги я могу предпринять, чтобы воспроизвести это локально?Что делает сборщик мусора несчастным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...