кроме того, следует убедиться что массив данных не меняется нигде в обход методов обновлений. то есть что перед обновлением он соответствует текущему состоянию таблицы
У меня unidirectional архитектура и абсолютно всё иммутабельное, ничего нигде точно не меняется) Грешил только на то, что метод обновления вызывается хоть и на мейн потоке, но асинхронно. Пробовал для надежности сделать очередь или примитивные мьютексы, ничего не изменилось, да и по логам/дебаггеру всё норм, всё идёт последовательно, ошибка просто возникает сама по себе рандомно