BlendArMocap icon indicating copy to clipboard operation
BlendArMocap copied to clipboard

Segfault on Ubuntu :(

Open j2l opened this issue 3 years ago • 18 comments
trafficstars

Helo, Wonderful project! What a gem! Congrats @cgtinker

But this wonderful plugin (1.4.1 and 1.5dev) in Blender 3.1.2 on Ubuntu 21.10 doesn't work as is. In today's version (1.5.0dev); on hand detection with a human full metarig:

# Blender 2.93.3, Unknown revision
bpy.data.window_managers["WinMan"].addon_filter = 'User'  # Property
bpy.context.space_data.bookmarks_active = 0  # Property
Modules Installed (BlendArMocap-release) from '/home/pm/Documents/blender/BlendArMocap-release-v141.zip' into '/home/pm/.config/blender/2.93/scripts/addons'  # Info
Modules Installed (BlendArMocap-development) from '/home/pm/Documents/blender/BlendArMocap-development.zip' into '/home/pm/.config/blender/2.93/scripts/addons'  # Info
bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.armature_human_metarig_add()  # Operator
bpy.context.scene.m_cgtinker_mediapipe.selected_rig = bpy.data.objects["metarig"]  # Property

# backtrace
blender(BLI_system_backtrace+0x37) [0x564c8d0a5497]
blender(+0xfdc443) [0x564c8b1d0443]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fd2cea79520]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x5263) [0x7fd1eeaa7263]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x548e) [0x7fd1eeaa748e]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x4ff5) [0x7fd1eeaa6ff5]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(xkb_x11_keymap_new_from_device+0x4f) [0x7fd1eeaa4caf]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(+0x3e418) [0x7fd1f0a4c418]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(_ZN14QtOpenCVPython14QXcbConnectionC1EPNS_19QXcbNativeInterfaceEbjPKc+0x264) [0x7fd1f0a47164]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/../../../../opencv_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(_ZN14QtOpenCVPython15QXcbIntegrationC1ERKNS_11QStringListERiPPc+0x2e7) [0x7fd1f0a49b47]
/usr/local/lib/python3.9/dist-packages/cv2/qt/plugins/platforms/libqxcb.so(+0x243f) [0x7fd2203c643f]
/usr/local/lib/python3.9/dist-packages/cv2/../opencv_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate25createPlatformIntegrationEv+0x5ec) [0x7fd224fd2a6c]
/usr/local/lib/python3.9/dist-packages/cv2/../opencv_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate21createEventDispatcherEv+0x30) [0x7fd224fd4010]
/usr/local/lib/python3.9/dist-packages/cv2/../opencv_python.libs/libQt5Core-39545cc7.so.5.15.0(_ZN14QtOpenCVPython23QCoreApplicationPrivate4initEv+0xab6) [0x7fd2249df2f6]
/usr/local/lib/python3.9/dist-packages/cv2/../opencv_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate4initEv+0x1b) [0x7fd224fd6a3b]
/usr/local/lib/python3.9/dist-packages/cv2/../opencv_python.libs/libQt5Widgets-e69d94fb.so.5.15.0(_ZN14QtOpenCVPython19QApplicationPrivate4initEv+0x9) [0x7fd225925979]
/usr/local/lib/python3.9/dist-packages/cv2/cv2.abi3.so(+0x12e73d8) [0x7fd228c113d8]
/usr/local/lib/python3.9/dist-packages/cv2/cv2.abi3.so(+0x12f32dd) [0x7fd228c1d2dd]
/usr/local/lib/python3.9/dist-packages/cv2/cv2.abi3.so(+0x12e17dc) [0x7fd228c0b7dc]
/usr/local/lib/python3.9/dist-packages/cv2/cv2.abi3.so(+0x4ff223) [0x7fd227e29223]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x10dc73) [0x7fd2d0fe5c73]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_MakeTpCall+0x94) [0x7fd2d0fa1034]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x866c) [0x7fd2d0f530cc]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7fd2d0f49dd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7fd2d0f51a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7fd2d0f49dd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7fd2d0f51a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7fd2d0f49dd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7fd2d0f51a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7fd2d0f49dd3]
blender(+0x199aaca) [0x564c8bb8eaca]
blender(+0x1960142) [0x564c8bb54142]
blender(+0x13c78fe) [0x564c8b5bb8fe]
blender(+0x13ca044) [0x564c8b5be044]
blender(+0x13ca27c) [0x564c8b5be27c]
blender(wm_event_do_handlers+0x3f4) [0x564c8b5be9a4]
blender(WM_main+0x20) [0x564c8b57f7d0]
blender(main+0x2cb) [0x564c8b143e1b]
/lib/x86_64-linux-gnu/libc.so.6(+0x29fd0) [0x7fd2cea60fd0]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x7d) [0x7fd2cea6107d]
blender(_start+0x25) [0x564c8b1b01c5]

# Python backtrace
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_utils/stream.py", line 52 in draw
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_detection/abs_detector.py", line 63 in exec_detection
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_detection/detect_hands.py", line 16 in image_detection
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 140 in modal

All is installed using Blender deb package: image

j2l avatar May 20 '22 08:05 j2l

seems like you have selected a 'meta rig' and not a 'generated rig' which is required to transfer the data.

make sure to select the metarig, then navigate to either to rigify > generate rig or armature > rigify buttons > generate rig and use the generated rig as target.

ed: or did you just generate a metarig, and started the detection without pressing the transfer button? Also consider to test the current development branch version, I've changed up how the detection functions over the time which also could cause the error. as stated, the webcam seems to run - as I don't see any "mediapipe" issues in the stacktrace I'm not sure if it's an issue with mediapipe.

cgtinker avatar May 25 '22 14:05 cgtinker

Thanks @cgtinker but I'm trying to start the webcam after generating the rig and deleting the metarig. Screenshot from 2022-05-25 16-46-23

the crash dump of Blender 2.9.3 doesn't explicitly states that I generated a rig (like in the 3.1.2 from snap) but I did.

j2l avatar May 25 '22 14:05 j2l

The rig should only matter when you already transferred before. That's excluded. So it's either an issue with open-cv, mediapipe, your system or privileges. Did you start blender using the terminal / as admin? (Not sure if that's required on Linux, it is on MacOS...)

Does the error occurs upon starting detection while there are no hands in frame? If so, it is an issue with open-cv. Probably it's worth to downgrade the version.

cgtinker avatar May 25 '22 17:05 cgtinker

Hmmm, investigating more and re-installing everything (2.93.3 deb package, not snap), I finally noticed that the plugin cannot see the installed dependencies while on the same path:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
Dependency(module='opencv-python', package=None, name='cv2')

while mediapipe for instance is installed:

pip install mediapipe
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: mediapipe in /usr/local/lib/python3.9/dist-packages (0.8.10)
Requirement already satisfied: attrs>=19.1.0 in /usr/lib/python3/dist-packages (from mediapipe) (20.3.0)
Requirement already satisfied: absl-py in /usr/local/lib/python3.9/dist-packages (from mediapipe) (1.0.0)
Requirement already satisfied: opencv-contrib-python in /usr/local/lib/python3.9/dist-packages (from mediapipe) (4.5.5.64)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from mediapipe) (1.19.5)
Requirement already satisfied: protobuf>=3.11.4 in /usr/lib/python3/dist-packages (from mediapipe) (3.12.4)
Requirement already satisfied: matplotlib in /home/pm/.local/lib/python3.9/site-packages (from mediapipe) (3.5.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from absl-py->mediapipe) (1.16.0)
Requirement already satisfied: pyparsing>=2.2.1 in /usr/lib/python3/dist-packages (from matplotlib->mediapipe) (2.4.7)
Requirement already satisfied: packaging>=20.0 in /usr/lib/python3/dist-packages (from matplotlib->mediapipe) (20.9)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (1.3.2)
Requirement already satisfied: fonttools>=4.22.0 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (4.29.1)
Requirement already satisfied: pillow>=6.2.0 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (8.1.1)
Requirement already satisfied: cycler>=0.10 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (0.11.0)
Requirement already satisfied: python-dateutil>=2.7 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (2.8.2)

Starting as sudo, addon > install dependencies is greyed out: image

There are multiple paths in my install: /usr/local/lib/python3.9/dist-packages, /usr/lib/python3/dist-packages, ~/.local/lib/python3.9/site-packages I tried uninstalling and sudo install mediapipe but it reinstalls in the local/ directory (and it's a bad practice to sudo install anyway).

Not sure where BlendarMocap reads the depencencies, so in Blender I tried:

>>> import importlib; importlib.import_module('mediapipe')

and in terminals sudo cp -r for six-1.16.0.egg-info, six.py, attrs-20.3.0.egg-info, numpy-1.19.5.egg-info, numpy, matplotlib-3.3.4-nspkg.pth, matplotlib-3.3.4.egg-info, matplotlib, google, cv2, opencv_python-4.5.5.64.dist-info, opencv_python.libs, opencv_contrib_python-4.5.5.64.dist-info, opencv_contrib_python.libs, absl_py-1.0.0.dist-info, absl, mediapipe-0.8.10.dist-info, mediapipe to /usr/share/blender/scripts/modules until I get no error

Now, I have a partial install:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
Dependency(module='opencv-python', package=None, name='cv2')

starting the camera (device=1 now) results in:

RUNNING MP AS TIMER DETECTION MODAL
INITIALIZING HAND DETECTION
[ WARN:[email protected]] global /io/opencv/modules/videoio/src/cap_v4l.cpp (889) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Python: Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 39, in execute
    self.init_detector(detection_type)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 59, in init_detector
    self.tracking_handler.stream = stream.Webcam(camera_index=camera_index)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_utils/stream.py", line 22, in __init__
    raise IOError("Cannot open webcam")
OSError: Cannot open webcam

location: <unknown location>:-1
Error: Python: Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 39, in execute
    self.init_detector(detection_type)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 59, in init_detector
    self.tracking_handler.stream = stream.Webcam(camera_index=camera_index)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_utils/stream.py", line 22, in __init__
    raise IOError("Cannot open webcam")
OSError: Cannot open webcam

location: <unknown location>:-1


RUNNING MP AS TIMER DETECTION MODAL
INITIALIZING HAND DETECTION
OBSERVER ATTACHED FROM UPDATE LISTENER
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Writing: /tmp/blender.crash.txt
Segmentation fault (core dumped)

j2l avatar May 26 '22 13:05 j2l

retrying to sudo blender, now it's not greyed out! and install dependencies passes:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
REGISTRATION FAILED: REQUIRED MODULE NOT FOUND
accessing pip installer
/usr/bin/python3.9 -m pip --version
pip 22.1 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)
['/usr/bin/python3.9', '-m', 'pip', 'install', '--upgrade', 'pip']
Requirement already satisfied: pip in /usr/local/lib/python3.9/dist-packages (22.1)
Collecting pip
  Downloading pip-22.1.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 23.2 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.1
    Uninstalling pip-22.1:
      Successfully uninstalled pip-22.1
Successfully installed pip-22.1.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Try to install: mediapipe
/usr/bin/python3.9 -m pip install mediapipe
Requirement already satisfied: mediapipe in /usr/lib/python3/dist-packages (0.8.10)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from mediapipe) (1.19.5)
Requirement already satisfied: protobuf>=3.11.4 in /usr/lib/python3/dist-packages (from mediapipe) (3.12.4)
Requirement already satisfied: opencv-contrib-python in /usr/lib/python3/dist-packages (from mediapipe) (4.5.5.64)
Requirement already satisfied: absl-py in /usr/lib/python3/dist-packages (from mediapipe) (1.0.0)
Requirement already satisfied: attrs>=19.1.0 in /usr/lib/python3/dist-packages (from mediapipe) (20.3.0)
Requirement already satisfied: matplotlib in /usr/lib/python3/dist-packages (from mediapipe) (3.3.4)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from absl-py->mediapipe) (1.16.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Installation process finished

BUT, when launching blender as user:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
REGISTRATION FAILED: REQUIRED MODULE NOT FOUND

And the panel is now claiming nothing is installed ... image :cry:

j2l avatar May 26 '22 13:05 j2l

BTW, face/hands/pose are working in Windows but I still get the message:: image not sure why

BlendArMocap-release - Dependencies installed: False
...
package=None

so I guess, I had it working at some point on linux but not anymore

j2l avatar May 26 '22 14:05 j2l

BTW, face/hands/pose are working in Windows but I still get the message:: image not sure why

BlendArMocap-release - Dependencies installed: False
...
package=None

so I guess, I had it working at some point on linux but not anymore

the print itself was wrong, will soon publish an update which also covers the print (oups).

Hmmm, investigating more and re-installing everything (2.93.3 deb package, not snap), I finally noticed that the plugin cannot see the installed dependencies while on the same path:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
Dependency(module='opencv-python', package=None, name='cv2')

while mediapipe for instance is installed:

pip install mediapipe
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: mediapipe in /usr/local/lib/python3.9/dist-packages (0.8.10)
Requirement already satisfied: attrs>=19.1.0 in /usr/lib/python3/dist-packages (from mediapipe) (20.3.0)
Requirement already satisfied: absl-py in /usr/local/lib/python3.9/dist-packages (from mediapipe) (1.0.0)
Requirement already satisfied: opencv-contrib-python in /usr/local/lib/python3.9/dist-packages (from mediapipe) (4.5.5.64)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from mediapipe) (1.19.5)
Requirement already satisfied: protobuf>=3.11.4 in /usr/lib/python3/dist-packages (from mediapipe) (3.12.4)
Requirement already satisfied: matplotlib in /home/pm/.local/lib/python3.9/site-packages (from mediapipe) (3.5.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from absl-py->mediapipe) (1.16.0)
Requirement already satisfied: pyparsing>=2.2.1 in /usr/lib/python3/dist-packages (from matplotlib->mediapipe) (2.4.7)
Requirement already satisfied: packaging>=20.0 in /usr/lib/python3/dist-packages (from matplotlib->mediapipe) (20.9)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (1.3.2)
Requirement already satisfied: fonttools>=4.22.0 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (4.29.1)
Requirement already satisfied: pillow>=6.2.0 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (8.1.1)
Requirement already satisfied: cycler>=0.10 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (0.11.0)
Requirement already satisfied: python-dateutil>=2.7 in /home/pm/.local/lib/python3.9/site-packages (from matplotlib->mediapipe) (2.8.2)

Starting as sudo, addon > install dependencies is greyed out: image

There are multiple paths in my install: /usr/local/lib/python3.9/dist-packages, /usr/lib/python3/dist-packages, ~/.local/lib/python3.9/site-packages I tried uninstalling and sudo install mediapipe but it reinstalls in the local/ directory (and it's a bad practice to sudo install anyway).

Not sure where BlendarMocap reads the depencencies, so in Blender I tried:

>>> import importlib; importlib.import_module('mediapipe')

and in terminals sudo cp -r for six-1.16.0.egg-info, six.py, attrs-20.3.0.egg-info, numpy-1.19.5.egg-info, numpy, matplotlib-3.3.4-nspkg.pth, matplotlib-3.3.4.egg-info, matplotlib, google, cv2, opencv_python-4.5.5.64.dist-info, opencv_python.libs, opencv_contrib_python-4.5.5.64.dist-info, opencv_contrib_python.libs, absl_py-1.0.0.dist-info, absl, mediapipe-0.8.10.dist-info, mediapipe to /usr/share/blender/scripts/modules until I get no error

Now, I have a partial install:

BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
Dependency(module='opencv-python', package=None, name='cv2')

starting the camera (device=1 now) results in:

RUNNING MP AS TIMER DETECTION MODAL
INITIALIZING HAND DETECTION
[ WARN:[email protected]] global /io/opencv/modules/videoio/src/cap_v4l.cpp (889) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Python: Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 39, in execute
    self.init_detector(detection_type)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 59, in init_detector
    self.tracking_handler.stream = stream.Webcam(camera_index=camera_index)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_utils/stream.py", line 22, in __init__
    raise IOError("Cannot open webcam")
OSError: Cannot open webcam

location: <unknown location>:-1
Error: Python: Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 39, in execute
    self.init_detector(detection_type)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_blender/interface/stream_detection_operator.py", line 59, in init_detector
    self.tracking_handler.stream = stream.Webcam(camera_index=camera_index)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-release/src/cgt_utils/stream.py", line 22, in __init__
    raise IOError("Cannot open webcam")
OSError: Cannot open webcam

location: <unknown location>:-1


RUNNING MP AS TIMER DETECTION MODAL
INITIALIZING HAND DETECTION
OBSERVER ATTACHED FROM UPDATE LISTENER
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Writing: /tmp/blender.crash.txt
Segmentation fault (core dumped)

sudo installs pip installs are a bad pratice, sadly there's no proper way around it when working with blender. Usually Blender uses it's own version of python, own site packages (removed the access from user sitepackages in 2.8+ afaik) and doesn't provide virtual envs. Basically there is not really a proper way of installing and uninstalling dependencies. However on linux blenders python.exe and sitepackages is in the "/usr/bin", as I'm not to familiar with linux so I'm not certain how that interacts. Maybe it's actually possible to use the "--user" flag on linux to bypass the "sudo" privileges. This won't change any compatibility issues but would less dangerous.

To be honest it's quiet confusing that it seems to install properly on linux while the packages don't get found. In my current development version (which I'm planning to publish soon), I've added some better visualization of the dependencies in the settings and also a bunch of other features. However, the "sudo" still remains for now, I plan to test more on debian systems in the future, maybe it's possible to get rid of it (at least for linux).

https://github.com/cgtinker/BlendArMocap/tree/development

cgtinker avatar Jun 07 '22 15:06 cgtinker

That's cool! Thank you for taking the time to test it on linux.

I might be wrong, but I think the crash happens when it tries to open the camera window. An it didn't have the time to write to the log.

The BlendArMocap-release - Dependencies installed: False might led me to the wrong conclusion.

j2l avatar Jun 07 '22 15:06 j2l

That's cool! Thank you for taking the time to test it on linux.

I might be wrong, but I think the crash happens when it tries to open the camera window. An it didn't have the time to write to the log.

The BlendArMocap-release - Dependencies installed: False might led me to the wrong conclusion.

Understandably, really bad print. :/ Could U try version v1.5.0 and give video tracking a try to check if it isn't due to camera permissions?

Would be a great hint :)

cgtinker avatar Jun 08 '22 12:06 cgtinker

Could U try version v1.5.0 and give video tracking a try to check if it isn't due to camera permissions?

I gave 1.5.0 a try and install fails with a weird message: Screenshot from 2022-06-09 09-35-42 Anvil is not related to your plugin right?

Here's the log of the install:

sudo blender
[sudo] password for user: 
Color management: using fallback mode for management
Color management: Error could not find role data role.
Read prefs: /root/.config/blender/2.93/config/userpref.blend
Color management: scene view "Filmic" not found, setting default "Standard".
BlendArMocap-release - Initializing...
PACKAGE: BlendArMocap-release
binary: /usr/bin/blender
blender version: (2, 93, 3) exe: /usr/bin/python3.9
BlendArMocap-release - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
Dependency(module='mediapipe', package=None, name=None)
REGISTRATION FAILED: REQUIRED MODULE NOT FOUND
reloading addon: BlendArMocap-release 1653572829.547163 1654786744.3036675 '/root/.config/blender/2.93/scripts/addons/BlendArMocap-release/__init__.py'
Modules Installed () from '/home/pm/Documents/blender/BlendArMocap-release-v150.zip' into '/root/.config/blender/2.93/scripts/addons'
accessing pip installer
/usr/bin/python3.9 -m pip --version
pip 22.1.1 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)
['/usr/bin/python3.9', '-m', 'pip', 'install', '--upgrade', 'pip']
Requirement already satisfied: pip in /usr/local/lib/python3.9/dist-packages (22.1.1)
Collecting pip
  Downloading pip-22.1.2-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 21.9 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.1.1
    Uninstalling pip-22.1.1:
      Successfully uninstalled pip-22.1.1
Successfully installed pip-22.1.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Try to install: mediapipe
/usr/bin/python3.9 -m pip install mediapipe
Requirement already satisfied: mediapipe in /usr/lib/python3/dist-packages (0.8.10)
Requirement already satisfied: attrs>=19.1.0 in /usr/lib/python3/dist-packages (from mediapipe) (20.3.0)
Requirement already satisfied: opencv-contrib-python in /usr/lib/python3/dist-packages (from mediapipe) (4.5.5.64)
Requirement already satisfied: matplotlib in /usr/lib/python3/dist-packages (from mediapipe) (3.3.4)
Requirement already satisfied: absl-py in /usr/lib/python3/dist-packages (from mediapipe) (1.0.0)
Requirement already satisfied: protobuf>=3.11.4 in /usr/lib/python3/dist-packages (from mediapipe) (3.12.4)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from mediapipe) (1.19.5)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from absl-py->mediapipe) (1.16.0)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Installation process finished
Unable to save '/tmp/quit.blend': Permission denied
Writing userprefs: '/root/.config/blender/2.93/config/userpref.blend' ok
Unregister BlendArMocap

Blender quit

After restarting Blender as normal user, I have both the "please install" and the confirmation it has the deps in the console: image

but not in the settings: image

j2l avatar Jun 09 '22 07:06 j2l

Sadly something went wrong with the dependencies in v1.5.0. but this looks like something else... Can U get the current version 1.5.1 from the development branch?

cgtinker avatar Jun 10 '22 11:06 cgtinker

Ok, I tried dev version and install (not sudo this timebecause packages are already there): Screenshot from 2022-06-10 21-04-36

and still not seeing them: image

console:

Modules Installed (BlendArMocap-development) from '/home/pm/Documents/blender/BlendArMocap-development.zip' into '/home/pm/.config/blender/2.93/scripts/addons'
BlendArMocap-development - Initializing...
BlendArMocap-development - add-on path: /home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development
BlendArMocap-development - blender bin: /usr/bin/blender, blender version: (2, 93, 3)
BlendArMocap-development - python exe: /usr/bin/python3.9
trying to load Dependency(module='opencv-python==4.5.5.64', package='opencv-python==4.5.5.64', name='cv2', pkg='opencv_python')
trying to load Dependency(module='protobuf==3.19.1', package='protobuf==3.19.1', name='google.protobuf', pkg='protobuf')
No module named 'anvil'
BlendArMocap-development - Dependencies installed: False
Registing BlendArMocap

Try to access dependencies
opencv-python==4.5.5.64 ('4.5.5.64', '/usr/share/blender/scripts/modules/opencv-python')
protobuf==3.19.1 ('3.12.4', '/usr/lib/python3/dist-packages/protobuf')
mediapipe==0.8.10 ('0.8.10', '/usr/share/blender/scripts/modules/mediapipe')
```

j2l avatar Jun 10 '22 19:06 j2l

CAD Sketcher add-on as a module installer within the settings using pip: https://github.com/hlorus/CAD_Sketcher It's working for linux too. Might worth a look :)

j2l avatar Jun 13 '22 10:06 j2l

https://github.com/hlorus/CAD_Sketcher

ty, sadly it's an issue with the package itself, not with the cmd command. not sure how to fix this. google protobuf seemingly tries to import from anvil. No module named 'anvil'

however, protobufs gets installed in "google/anvil". fixing this bug may be possible by moving the "google" folder in a folder named "anvil" in the site packages - but I'm not sure if it will fix the issue also it might doesn't work with mediapipe (afaik they import from .google.protobuf). or maybe something is different on ubuntu with the packages... no idea.

from my research, the segmentation fault most likely is caused by open-cv. either the version (4.5.5.64) is corrupted on linux which could be fixed by down- or upgrading the version. If the version is not corrupted, it could also be caused by missing dlls as open-cv python is b.e. using qt5.

cgtinker avatar Jun 13 '22 15:06 cgtinker

Looks like a lot to fix. Too much for me for sure. I'll have to run windows to use it :(

j2l avatar Jun 13 '22 17:06 j2l

Looks like a lot to fix. Too much for me for sure. I'll have to run windows to use it :(

It's weird ... Will investigate that and hopefully find a proper fix/ workaround.

I am mainly using Manjaro, didn't encounter issues there. So U are not forced to use Windows.

cgtinker avatar Jun 13 '22 17:06 cgtinker

I have a dual boot. Happily running Ubuntu 99% of the time except for this kind of situations.

j2l avatar Jun 14 '22 19:06 j2l

I tried the version 1.5.1 with a file as input and got a crash, so there's something with opening the video window or a python module, here's the full capture.crash content:

# Blender 2.93.3, Unknown revision
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.scene.exclude = True  # Property
bpy.ops.outliner.collection_objects_select()  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.collection_drop()  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.collection_drop()  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.scene.exclude = False  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.object.empty_display_type = 'ARROWS'  # Property
bpy.context.space_data.filter_text = ""  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.collection_objects_select()  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.space_data.filter_text = ""  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_rename(use_active=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.space_data.context = 'CONSTRAINT'  # Property
bpy.context.space_data.context = 'PHYSICS'  # Property
bpy.context.space_data.context = 'OBJECT'  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_rename()  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_rename(use_active=True)  # Operator
bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.armature_human_metarig_add()  # Operator
bpy.context.space_data.context = 'DATA'  # Property
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.duplicate()  # Operator
bpy.ops.object.join()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.delete(use_global=False, confirm=False)  # Operator
Deleted 1 object(s)  # Info
bpy.data.window_managers["WinMan"].addon_filter = 'User'  # Property
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
Python: [ERROR] mpfb.init ..............................: Unhandled crash 
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]

'NoneType' object is not subscriptable

Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]
TypeError: 'NoneType' object is not subscriptable

location: <unknown location>:-1
  # Error
bpy.context.scene.m_cgtinker_mediapipe.overwrite_drivers_bool = True  # Property
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
Python: [ERROR] mpfb.init ..............................: Unhandled crash 
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]

'NoneType' object is not subscriptable

Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]
TypeError: 'NoneType' object is not subscriptable

location: <unknown location>:-1
  # Error
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
Python: [ERROR] mpfb.init ..............................: Unhandled crash 
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]

'NoneType' object is not subscriptable

Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]
TypeError: 'NoneType' object is not subscriptable

location: <unknown location>:-1
  # Error
bpy.ops.object.delete(use_global=False, confirm=False)  # Operator
Deleted 1 object(s)  # Info
bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.armature_human_metarig_add()  # Operator
bpy.context.scene.m_cgtinker_mediapipe.selected_rig = bpy.data.objects["metarig"]  # Property
Python: [ERROR] mpfb.init ..............................: Unhandled crash 
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 139, in __init__
    self.remove_bone_constraints(bone_names)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 135, in remove_bone_constraints
    constraints.remove_constraints(self.pose_bones[bone_name])  # pair 0 = bone name in dict

'bpy_prop_collection[key]: key "torso" not found'

Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 139, in __init__
    self.remove_bone_constraints(bone_names)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 135, in remove_bone_constraints
    constraints.remove_constraints(self.pose_bones[bone_name])  # pair 0 = bone name in dict
KeyError: 'bpy_prop_collection[key]: key "torso" not found'

location: <unknown location>:-1
  # Error
bpy.context.space_data.filter_text = ""  # Property
bpy.ops.object.delete(use_global=False, confirm=False)  # Operator
Deleted 1 object(s)  # Info
bpy.context.scene.m_cgtinker_mediapipe.selected_rig = None  # Property
bpy.context.scene.m_cgtinker_mediapipe.selected_rig = bpy.data.objects["rig"]  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.scene.exclude = False  # Property
bpy.context.scene.exclude = True  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.delete(hierarchy=True)  # Operator
bpy.context.scene.exclude = False  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.context.space_data.context = 'CONSTRAINT'  # Property
bpy.context.space_data.context = 'PHYSICS'  # Property
bpy.context.space_data.context = 'OBJECT'  # Property
bpy.ops.outliner.item_activate(extend=False, deselect_all=True)  # Operator
bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.armature_human_metarig_add()  # Operator
bpy.context.space_data.context = 'DATA'  # Property
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.duplicate()  # Operator
bpy.ops.object.join()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.delete(use_global=False, confirm=False)  # Operator
Deleted 1 object(s)  # Info
bpy.ops.object.posemode_toggle()  # Operator
bpy.ops.object.posemode_toggle()  # Operator
bpy.context.scene.m_cgtinker_mediapipe.experimental_feature_bool = False  # Property
bpy.context.space_data.filter_text = "hip"  # Property
bpy.context.space_data.filter_text = ""  # Property
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
bpy.ops.object.editmode_toggle()  # Operator
Python: [ERROR] mpfb.init ..............................: Unhandled crash 
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]

'NoneType' object is not subscriptable

Traceback (most recent call last):
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 33, in execute
    input_manager.transfer_animation()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/input_manager.py", line 45, in transfer_animation
    col_mapping[col](armature, driver_objects)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/rigify_pose.py", line 169, in __init__
    self.apply_driver(self.bone_center_drivers)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/cgt_rig/abs_rigging.py", line 107, in apply_driver
    drivers_types[i](props[i])
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 89, in __init__
    self.is_custom_property_assigned()
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/driver_interface.py", line 81, in is_custom_property_assigned
    self.assigned = objects.set_custom_property(self.target_object, self.property_name, True)
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 283, in set_custom_property
    if get_custom_property(obj, prop_name) is None or overwrite is True:
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/utils/objects.py", line 276, in get_custom_property
    value = target_obj[prop_name]
TypeError: 'NoneType' object is not subscriptable

location: <unknown location>:-1
  # Error
bpy.context.scene.m_cgtinker_mediapipe.detection_input_type = 'movie'  # Property

# backtrace
blender(BLI_system_backtrace+0x37) [0x561cf330c497]
blender(+0xfdc443) [0x561cf1437443]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f4b6297d520]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x5263) [0x7f4a51821263]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x548e) [0x7f4a5182148e]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(+0x4ff5) [0x7f4a51820ff5]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0(xkb_x11_keymap_new_from_device+0x4f) [0x7f4a5181ecaf]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(+0x3e418) [0x7f4a537c6418]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(_ZN14QtOpenCVPython14QXcbConnectionC1EPNS_19QXcbNativeInterfaceEbjPKc+0x264) [0x7f4a537c1164]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/../../../../opencv_contrib_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0(_ZN14QtOpenCVPython15QXcbIntegrationC1ERKNS_11QStringListERiPPc+0x2e7) [0x7f4a537c3b47]
/usr/share/blender/scripts/modules/cv2/qt/plugins/platforms/libqxcb.so(+0x243f) [0x7f4ab764843f]
/usr/share/blender/scripts/modules/cv2/../opencv_contrib_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate25createPlatformIntegrationEv+0x5ec) [0x7f4a84ec8a6c]
/usr/share/blender/scripts/modules/cv2/../opencv_contrib_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate21createEventDispatcherEv+0x30) [0x7f4a84eca010]
/usr/share/blender/scripts/modules/cv2/../opencv_contrib_python.libs/libQt5Core-39545cc7.so.5.15.0(_ZN14QtOpenCVPython23QCoreApplicationPrivate4initEv+0xab6) [0x7f4a849402f6]
/usr/share/blender/scripts/modules/cv2/../opencv_contrib_python.libs/libQt5Gui-ba0a2070.so.5.15.0(_ZN14QtOpenCVPython22QGuiApplicationPrivate4initEv+0x1b) [0x7f4a84ecca3b]
/usr/share/blender/scripts/modules/cv2/../opencv_contrib_python.libs/libQt5Widgets-e69d94fb.so.5.15.0(_ZN14QtOpenCVPython19QApplicationPrivate4initEv+0x9) [0x7f4a8581b979]
/usr/share/blender/scripts/modules/cv2/cv2.abi3.so(+0x16be558) [0x7f4a88e4b558]
/usr/share/blender/scripts/modules/cv2/cv2.abi3.so(+0x16ca45d) [0x7f4a88e5745d]
/usr/share/blender/scripts/modules/cv2/cv2.abi3.so(+0x16b895c) [0x7f4a88e4595c]
/usr/share/blender/scripts/modules/cv2/cv2.abi3.so(+0x779433) [0x7f4a87f06433]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x10dc73) [0x7f4b64ee9c73]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_MakeTpCall+0x94) [0x7f4b64ea5034]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x866c) [0x7f4b64e570cc]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7f4b64e4ddd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7f4b64e55a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7f4b64e4ddd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7f4b64e55a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7f4b64e4ddd3]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6fd6) [0x7f4b64e55a36]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x71dd3) [0x7f4b64e4ddd3]
blender(+0x199aaca) [0x561cf1df5aca]
blender(+0x1960142) [0x561cf1dbb142]
blender(+0x13c78fe) [0x561cf18228fe]
blender(+0x13ca044) [0x561cf1825044]
blender(+0x13ca27c) [0x561cf182527c]
blender(wm_event_do_handlers+0x3f4) [0x561cf18259a4]
blender(WM_main+0x20) [0x561cf17e67d0]
blender(main+0x2cb) [0x561cf13aae1b]
/lib/x86_64-linux-gnu/libc.so.6(+0x29fd0) [0x7f4b62964fd0]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x7d) [0x7f4b6296507d]
blender(_start+0x25) [0x561cf14171c5]

# Python backtrace
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_utils/stream.py", line 69 in draw
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_detection/detector_interface.py", line 100 in exec_detection
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_detection/detect_pose.py", line 35 in image_detection
  File "/home/pm/.config/blender/2.93/scripts/addons/BlendArMocap-development/src/cgt_blender/interface/ui_operators.py", line 107 in modal

j2l avatar Jun 23 '22 11:06 j2l

I've been working on an update and setting up dependencies on ubuntu probably still cause issues. I guess installing them manually is the way to go. The update will be up next week, you can checkout the main branch if you like. Please refer to #129 if you face any issues

cgtinker avatar Feb 22 '23 12:02 cgtinker