"undefined symbol" error occured while importing tf2 ros packages in Isaac-Sim 2022.2.0

Hello everyone, whenever we try to run the Isaac Cortex block stacking with ROS synchronization demo in Isaac-Sim 2022.2.0, we will encounter the following error:

[12.503s] [ext: omni.isaac.cortex_sync-0.1.4] startup
Traceback (most recent call last):
** File “example_cortex_sync_main.py”, line 39, in **
** from omni.isaac.cortex_sync.cortex_ros import (**
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/exts/omni.isaac.cortex_sync/omni/isaac/cortex_sync/cortex_ros.py”, line 31, in **
** import tf2_ros**
** File “/opt/ros/noetic/lib/python3/dist-packages/tf2_ros/init.py”, line 38, in **
** from tf2_py import ***
** File “/opt/ros/noetic/lib/python3/dist-packages/tf2_py/init.py”, line 38, in **
** from ._tf2 import ***
ImportError: /opt/ros/noetic/lib/python3/dist-packages/tf2_py/_tf2.so: undefined symbol: _ZNK3tf210BufferCore12_frameExistsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
Exception ignored in: <function _make_registry.._Registry.del at 0x7f6a48e87dd0>
Traceback (most recent call last):
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py”, line 103, in del**
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py”, line 98, in destroy**
TypeError: ‘NoneType’ object is not callable
Exception ignored in: <function _make_registry.._Registry.del at 0x7f6a48e87dd0>
Traceback (most recent call last):
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py”, line 103, in del**
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py”, line 98, in destroy**
TypeError: ‘NoneType’ object is not callable
Exception ignored in: <function SettingChangeSubscription.del at 0x7f6c7a72acb0>
Traceback (most recent call last):
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/kit/kernel/py/omni/kit/app/_impl/init.py”, line 114, in del**
AttributeError: ‘NoneType’ object has no attribute ‘get_settings’
Exception ignored in: <function RegisteredActions.del at 0x7f5da1dbb560>
Traceback (most recent call last):
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/extscache/omni.kit.viewport.menubar.lighting-104.0.8/omni/kit/viewport/menubar/lighting/actions.py”, line 345, in del**
** File “/home/haozhe/.local/share/ov/pkg/isaac_sim-2022.2.0/extscache/omni.kit.viewport.menubar.lighting-104.0.8/omni/kit/viewport/menubar/lighting/actions.py”, line 350, in destroy**
TypeError: ‘NoneType’ object is not callable
2023-02-14 14:41:26 [13,563ms] [Warning] [carb.audio.context] 1 contexts were leaked
…/…/…/python.sh: line 41: 2913129 Segmentation fault (core dumped) $python_exe “$@” $args
There was an error running python

Previously, we have also used ROS Noetic to run a very similar ROS synchronization demo in Isaac-Sim 2022.1.1 and no errors occured. Therefore, we do not suspect that it is a ROS issue.

We are running the programs on Ubuntu 20.04 using either RTX3090 or RTX4090 GPUs. All our computers run ROS Noetic. We run the demos by following the instructions in the Isaac Sim tutorial.

Could anyone please advise on possible solutions to this problem? Thank you very much!

Hi @wang_haozhe

It seems that ROS has been sourced in the terminal where the simulation is running and this generates a symbol conflict.

Can you run the simulator without sourcing ROS in the terminal?

2 Likes

Thank you @toni.sm ! That was indeed the problem. I can run the demo now.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.