Как устранить сегфайты, которые возникают в рабочем коде только при отладке с помощью ipdb?
Я использую:
- Python: 3.11.0
- Django: 4.2.8
- djangorestframework 3.14.0
- sqlite: 3.38.5
Когда я отлаживаю и использую 'n' для перехода к методу, я иногда получаю segfault там, где нет проблем с нормальным выполнением кода. Я могу переместить 'ipdb.set_trace()' сразу после вызова, вызвавшего segfault, повторно запустить тест и продолжить отладку, но это утомительно.
Одна из причин, которую я отследил, кроется в функции django reverse. Здесь <URLResolver <module 'rest_framework.urls' from '/home/paul/wk/cliosoft/sosmgrweb/venv/lib/python3.11/site-packages/rest_framework/urls.py'> (rest_framework:rest_framework) 'api-auth/'>
вызывает сегфолт, когда вызывается его метод _populate.
Я мог бы начать обновлять все, но это большое приложение с множеством зависимостей, и я хотел бы быть уверенным, что эта проблема будет устранена, если я пойду по этому пути.
Кто-нибудь знает, в чем причина и как ее устранить?
Python 3.11.0 вызывал эту проблему. Обновление venv до использования python 3.11.8 избавило меня от этой проблемы, и теперь я могу использовать ipdb без сбоев (пока что это проверено).