Я бы рискнул предположить, что ваш код где-то переполняет массив (или заставляет Python сделать это).
Вы обнаружите, что отладка этого будет сложной, если вы не можете надежно воспроизвести ее, поэтому вам может понадобиться явно заполнить генератор случайных чисел и попытаться найти начальное число, с помощью которого вы можете воспроизвести искажение. Вы также можете обнаружить, что использование такого инструмента, как valgrind , полезно для отслеживания того, когда вы записываете за пределы выделения - возможно, даже больше, когда вы можете воспроизводить его каждый раз.