(в частности на Android 7.0, 7.1) происходят нативные краши: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 7756. Проблема возникает, когда в передаваемом списке свыше 5-6 элементов, если менее, то приложение работает без сбоев, либо эти сбои происходят очень редко.
Был найден issue https://github.com/Kotlin/kotlinx.coroutines/issues/1683 в котором в целом проблема аналогична описаной выше. Предложенное там решение не решило проблему и крашится продолжает дальше.
Есть идеи как с этим можно бороться? У нас очень плохая статистика по крашам на проде из-за этого.
ну стабильный репродьюсер нужен. без него жб все равно ничего не сделать
если на эмуляторе зарепродьюсилось, то можно подебажить
На эмуляторе не воспроизводится. Только на определенном скоупе реальных устройств. Их всех объединяет версия Android 7 и Mediatek процессоры.
АХАХАХАХАХАХАХАХАХАХАХАХ Простите, не удержался. Это просто выражение счастья при виде давнего друга, которого ты уже не ожидал когда-нибудь увидеть. Эта бага была зарепорчена очень давно https://github.com/Kotlin/kotlinx.coroutines/issues/1683 Симптомы те же - седьмой андроид и медиатековские чипы. Что наводит на мысли, что это бага в чипе, которая была обойдена на более поздних версиях ART. Я пытался получить хоть какое-нибудь подтверждение/опровержение данной гипотезы через бывшего коллегу, который занимается разработкой ART, но никаких подвижек. Про воркэраунд поддержу коллег из Гугла. Если его получится найти, то его можно реализовать на уровне компилятора/библиотек.
Обсуждают сегодня