Привет, при использовании функции combine на устройствах с процессорами Mediatek (в частности на 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 в котором в целом проблема аналогична описаной выше. Предложенное там решение не решило проблему и крашится продолжает дальше.
Есть идеи как с этим можно бороться? У нас очень плохая статистика по крашам на проде из-за этого.
АХАХАХАХАХАХАХАХАХАХАХАХ
Простите, не удержался. Это просто выражение счастья при виде давнего друга, которого ты уже не ожидал когда-нибудь увидеть.
Эта бага была зарепорчена очень давно
https://github.com/Kotlin/kotlinx.coroutines/issues/1683Симптомы те же - седьмой андроид и медиатековские чипы. Что наводит на мысли, что это бага в чипе, которая была обойдена на более поздних версиях ART.
Я пытался получить хоть какое-нибудь подтверждение/опровержение данной гипотезы через бывшего коллегу, который занимается разработкой ART, но никаких подвижек. Про воркэраунд поддержу коллег из Гугла. Если его получится найти, то его можно реализовать на уровне компилятора/библиотек.