Конфликт между тензорным потоком и pyopenglPython

Программы на Python
Ответить
Anonymous
 Конфликт между тензорным потоком и pyopengl

Сообщение Anonymous »

Используя Python 3.13, я получаю ошибку сегментации с кодом, который раньше (с использованием Python 3.10, tensorflow-cpu 2.12, PyOpenGl 3.1.0 и pygame 2.5.0) работал нормально.
Теперь происходит сбой сегментации в том месте, где OpenGL фактически выполняет некоторую работу (при вызове glCallList), что это я думаю первая часть, где мы собственно и выполняем работу). Трассировка стека, предоставленная gdb, показывает:

Код: Выделить всё

#0  0x00007701f41d08e1 in llvm::raw_svector_ostream::write_impl(char const*, unsigned long) ()
from /usr/local/lib/python3.13/site-packages/tensorflow/python/platform/../../libtensorflow_framework.so.2
#1  0x00007701b9ed80f3 in llvm::raw_ostream::write(char const*, unsigned long) ()
from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#2  0x00007701b9ea7f08 in llvm::Twine::printOneChild(llvm::raw_ostream&, llvm::Twine::Child, llvm::Twine::NodeKind) const () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#3  0x00007701b9ea7c27 in ?? () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#4  0x00007701b9ea7a75 in llvm::Twine::str[abi:cxx11]() const ()
from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#5  0x00007701bcae6818 in ?? () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#6  0x00007701ba218c2a in llvm::LLVMTargetMachine::initAsmInfo() ()
from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#7  0x00007701bca9471f in ?? () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#8  0x00007701bca962a2 in ?? () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#9  0x00007701bb95c156 in llvm::EngineBuilder::selectTarget(llvm::Triple const&, llvm::StringRef, llvm::StringRef, llvm::SmallVectorImpl const&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#10 0x00007701bb95bc64 in llvm::EngineBuilder::selectTarget() ()
from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#11 0x00007701c643795c in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#12 0x00007701c6433487 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#13 0x00007701c64ab946 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#14 0x00007701c649c7e8 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#15 0x00007701c6480ae8 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#16 0x00007701c60f2f86 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#17 0x00007701c5fe6fca in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#18 0x00007701c6014a05 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#19 0x00007703ce73af7a in ?? () from /lib/x86_64-linux-gnu/libffi.so.8
#20 0x00007703ce73a40e in ?? () from /lib/x86_64-linux-gnu/libffi.so.8
#21 0x00007703ce73ab0d in ffi_call () from /lib/x86_64-linux-gnu/libffi.so.8
#22 0x00007703ce75e86b in ?? ()
from /usr/local/lib/python3.13/lib-dynload/_ctypes.cpython-313-x86_64-linux-gnu.so
#23 0x00007703ce75c7a1 in ?? ()
from /usr/local/lib/python3.13/lib-dynload/_ctypes.cpython-313-x86_64-linux-gnu.so
#24 0x00007703d2541469 in ?? () from /usr/local/bin/../lib/libpython3.13.so.1.0
т.е. он дает сбой в общей библиотеке тензорного потока. Сегфолты исчезают, когда я удаляю импорт из тензорного потока из Python.
текущие версии:

Код: Выделить всё

    pygame                  2.6.1
PyOpenGL                3.1.10
tensorflow_cpu          2.20.0
python:3.13-slim-bookworm (basic docker)
libgl1-mesa-dri/oldstable,now 22.3.6-1+deb12u1 amd64 [installed,automatic]
libllvm15/oldstable,now 1:15.0.6-4+b1 amd64 [installed,automatic]
Я подозреваю, что между libllvm, opengl и tensorflow каким-то образом существует несоответствие версий. Так ли это и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/798 ... d-pyopengl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»