Похоже, что модуль расширения утверждает, что ему не хватает памяти - правда это или ложь, конечно, невозможно определить, не глядя на источники расширения. На всякий случай, если это правда, так что нехватка памяти может помешать обратному отслеживанию, старый трюк состоит в том, чтобы получить немного памяти раньше и отбросить ее в случае ошибки, прежде чем ререйзировать ее, например:
reserve = [None] * 10000
try: amodule.somecall()
except MemoryError:
del reserve
raise
Это не скажет вам намного больше, чем то, какая Python-видимая функция вызвала ошибку (и какая функция Python ее назвала и т. Д.). Чтобы пойти дальше, вам нужно скомпилировать исходные коды расширения C для отладки и использовать некоторые инструменты, такие как gdb.