Failed to instantiate plugin 'ProcessPlanningInputTaskFactory'
dave992 opened this issue · 5 comments
I've installed tesseract_python using the instructions in the readme. I am using Ubuntu 20.04 (via WSL2 on Windows 11).
Once I start the listed example tesseract_planning_example_composer
I received the following error:
You can set logging level with TRAJOPT_LOG_THRESH. Valid values: FATAL ERROR WARN INFO DEBUG TRACE. Defaulting to ERROR
Error: Failed to instantiate plugin 'ProcessPlanningInputTaskFactory', Details:
Search Paths (Search System Folders: True):
- /__w/tesseract_python/tesseract_python/ws/install/lib
- /usr/local/lib
Search Libraries:
- libtesseract_task_composer_factories.so
- libtesseract_task_composer_planning_factories.so
- libtesseract_task_composer_taskflow_factories.so
at line 161 in /__w/tesseract_python/tesseract_python/ws/install/include/tesseract_common/plugin_loader.hpp
Warning: Failed to load symbol 'ProcessPlanningInputTaskFactory'
at line 273 in /__w/tesseract_python/tesseract_python/ws/src/tesseract_planning/tesseract_task_composer/core/src/task_composer_plugin_factory.cpp
Warning: Failed to load symbol 'PipelineTaskFactory', Details: Task Composer Graph 'FreespacePipeline' failed to create node 'ProcessInputTask'
at line 281 in /__w/tesseract_python/tesseract_python/ws/src/tesseract_planning/tesseract_task_composer/core/src/task_composer_plugin_factory.cpp
Segmentation fault
The other examples seem to run fine. Both tesseract_collision_example
, and tesseract_kinematics_example
run without errors and provide output to the terminal. tesseract_planning_example_no_composer
also runs as expected and provides output to the terminal. Furthermore, on localhost:8000
this example also produces a visual of a robot moving along a trajectory.
Did I miss any installation instructions or am I doing something wrong?
The plugins should automatically configure when using the Python packages from pip. I have not tested on WSL so I do not know if there are some weird behaviors that differ from normal Linux environments.
I ran the example again with:
tesseract_common.setLogLevel(tesseract_common.CONSOLE_BRIDGE_LOG_DEBUG)
This did result in some more log messages regarding a Bad file descriptor:
You can set logging level with TRAJOPT_LOG_THRESH. Valid values: FATAL ERROR WARN INFO DEBUG TRACE. Defaulting to ERROR
Debug: SRDF Parser: The version number warning can be suppressed by adding the attribute: version=1.0.0
Debug: Created collision object for link base_link
Debug: Created collision object for link link_1
Debug: Created collision object for link link_2
Debug: Created collision object for link link_3
Debug: Created collision object for link link_6
Debug: Created collision object for link link_4
Debug: Created collision object for link link_5
Debug: Created collision object for link base_link
Debug: Created collision object for link link_1
Debug: Created collision object for link link_2
Debug: Created collision object for link link_3
Debug: Created collision object for link link_6
Debug: Created collision object for link link_4
Debug: Created collision object for link link_5
Debug: Failed to find or load library: /__w/tesseract_python/tesseract_python/ws/install/lib/libtesseract_task_composer_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: /__w/tesseract_python/tesseract_python/ws/install/lib/libtesseract_task_composer_planning_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: /__w/tesseract_python/tesseract_python/ws/install/lib/libtesseract_task_composer_taskflow_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: /usr/local/lib/libtesseract_task_composer_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: /usr/local/lib/libtesseract_task_composer_planning_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: /usr/local/lib/libtesseract_task_composer_taskflow_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: libtesseract_task_composer_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: libtesseract_task_composer_planning_factories.so with error: Bad file descriptor
Debug: Failed to find or load library: libtesseract_task_composer_taskflow_factories.so with error: Bad file descriptor
Error: Failed to instantiate plugin 'ProcessPlanningInputTaskFactory', Details:
Search Paths (Search System Folders: True):
- /__w/tesseract_python/tesseract_python/ws/install/lib
- /usr/local/lib
Search Libraries:
- libtesseract_task_composer_factories.so
- libtesseract_task_composer_planning_factories.so
- libtesseract_task_composer_taskflow_factories.so
at line 161 in /__w/tesseract_python/tesseract_python/ws/install/include/tesseract_common/plugin_loader.hpp
Warning: Failed to load symbol 'ProcessPlanningInputTaskFactory'
at line 273 in /__w/tesseract_python/tesseract_python/ws/src/tesseract_planning/tesseract_task_composer/core/src/task_composer_plugin_factory.cpp
Warning: Failed to load symbol 'PipelineTaskFactory', Details: Task Composer Graph 'FreespacePipeline' failed to create node 'ProcessInputTask'
at line 281 in /__w/tesseract_python/tesseract_python/ws/src/tesseract_planning/tesseract_task_composer/core/src/task_composer_plugin_factory.cpp
Segmentation fault
Are there any checks I could do?
I also tested it on Windows 11 directly (so not using WSL2) and I am getting the exact same error. The only difference is some of the paths.
Command Prompt Output
You can set logging level with TRAJOPT_LOG_THRESH. Valid values: FATAL ERROR WARN INFO DEBUG TRACE. Defaulting to ERROR
Error: Failed to instantiate plugin 'ProcessPlanningInputTaskFactory', Details:
Search Paths (Search System Folders: True):
- /usr/local/lib
- D:/a/tesseract_python/tesseract_python/ws/install/bin
Search Libraries:
- libtesseract_task_composer_factories.dll
- libtesseract_task_composer_planning_factories.dll
- libtesseract_task_composer_taskflow_factories.dll
at line 161 in D:\a\tesseract_python\tesseract_python\ws\install\include\tesseract_common/plugin_loader.hpp
Warning: Failed to load symbol 'ProcessPlanningInputTaskFactory'
at line 273 in D:\a\tesseract_python\tesseract_python\ws\src\tesseract_planning\tesseract_task_composer\core\src\task_composer_plugin_factory.cpp
Warning: Failed to load symbol 'PipelineTaskFactory', Details: Task Composer Graph 'FreespacePipeline' failed to create node 'ProcessInputTask'
at line 281 in D:\a\tesseract_python\tesseract_python\ws\src\tesseract_planning\tesseract_task_composer\core\src\task_composer_plugin_factory.cpp
It looks like there were changes to the newer version of tesseract_planning. The configuration files are for the newer plugin system that hasn't been updated in the Python wrappers yet.
In tesseract_planning, run:
git checkout 0.18.5
This will check out a version that is compatible.
Thanks. it does not crash anymore after using the 0.18.5 version. I do not get the visual on http://localhost:8000 yet, but I first need to have a look at why that might be.