По мере написания парсера python сталкивался всё с новыми и новыми ошибками в процедуре восстановления парсера после ошибки. В который раз устранив все проблемы и дописав ещё пару тестов, принялся впиливать его в остальной проект - и обнаружил тривиальную ошибку в восстановлении после кода
def )foo()
pass
Погоняв тест внимательнее, обнаружил, что крах возникает на слове
Debian
!432цеп
В связи с этим возникло непонимание - как ловятся такие гейзенбаги, в принципе, есть ли общие рецепты, теория? В данном случае проблема не с памятью, потребляет 66кб на в точке вылета.