Импорт readline segfaults после импорта TVM в Ubuntu
Я работаю с TVM, компилятором глубокого обучения. В моем рабочем процессе полезно иметь возможность использовать import pdb; pdb.set_trace()
и перейдите в отладчик. Тем не мение, pdb.set_trace()
вызывает segfault в любое время после импорта TVM.
Моя текущая настройка - Ubuntu 16.04 (работает в подсистеме Windows для Linux, но это происходит и на моей машине 16.04!) - Python 3.6
Эта проблема не возникает на Windows или Mac.
Эта проблема возникает только при запуске сценария из командной строки (т.е. python3 minimum-reproducible-example.py
), а не при запуске от python3
Отв.
Я сделал некоторую отладку с помощью gdb и сузил ее: ошибка возникает, когда readline
пакет импортирован.
Минимальный воспроизводимый пример:
import tvm
import readline
После отладки с помощью gdb я отследил его до определенной строки в cpython:
Program received signal SIGSEGV, Segmentation fault.
PyModule_GetState (m=0x0) at Objects/moduleobject.c:558
558 if (!PyModule_Check(m)) {
В этом случае, m
является 0x0
, которого, похоже, функция не ожидает.
Если бы кто-то мог просто указать мне на более полезные способы отладки этого, это было бы полезно!