外观
踩坑GitHub unitreerobotics/unitree_mujoco2025-10-14
unitree_mujoco运行崩溃free(): invalid pointer报错
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Crash on running
./unitree_mujoco: free(): invalid pointer(GitHub unitreerobotics/unitree_mujoco #46)
状态:有绕过办法
问题
在Ubuntu 22.04下运行./unitree_mujoco时,程序打印MuJoCo版本及数据准备信息后崩溃,报错free(): invalid pointer并触发SIGABRT信号。该问题在MuJoCo 3.2.7及3.3.1版本均复现,通常发生在安装ros-humble-cyclonedds之后,卸载该包或使用sudo运行时异常消失,确认为DDS库冲突导致的内存错误。
环境
OS: Ubuntu 22.04; MuJoCo: 3.2.7/3.3.1; unitree_mujoco: f5b7837; DDS: Cyclone DDS 0.10.5-2jammy; RMW: ros-humble-rmw-cyclonedds-cpp 1.3.
解决办法
- 临时绕过:使用
sudo ./unitree_mujoco运行可避免崩溃,但需确保共享库路径配置正确以免报加载错误。 - 根本解决:重新编译CycloneDDS以消除与ROS2 Humble的冲突。
- 安装依赖
ros-humble-rmw-cyclonedds-cpp和ros-humble-rosidl-generator-dds-idl。 - 注释掉
~/.bashrc中的source /opt/ros/humble/setup.bash,确保编译时未加载ROS2环境。 - 创建workspace并clone
rmw_cyclonedds(humble分支) 与cyclonedds(releases/0.10.x分支)。 - 执行
colcon build --packages-select cyclonedds单独编译DDS核心库。 - Source ROS2环境后执行
colcon build编译完整workspace。 8.…
讨论原作者:@BeNavon 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。