Ситуация такая — при некотором условии в методе генерируется (raise) исключение. Этот метод вызывается из другого, где он завернут в try ... finally, который в свою очередь вызывается из третьего, где завернут в try ... except. Но до блока finally управление не доходит — где-то возникает Access Violation. До raise доходит точно — проверено отладочным выводом.
Что интересно, если raise закомментировать и просто возвращать некое специфическое значение, всё проходит на ура, т.е. повреждений стека перед ним нет.
Локализовать в минимальном примере не получается. Закомментированная проблемная строка на гитхабе — вот.
Может быть, кто-то сталкивался уже с подобным — куда копать-то вообще?