Skip to content

踩坑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.

解决办法 ​

  1. 临时绕过:使用sudo ./unitree_mujoco运行可避免崩溃,但需确保共享库路径配置正确以免报加载错误。
  2. 根本解决:重新编译CycloneDDS以消除与ROS2 Humble的冲突。
  3. 安装依赖ros-humble-rmw-cyclonedds-cpp和ros-humble-rosidl-generator-dds-idl。
  4. 注释掉~/.bashrc中的source /opt/ros/humble/setup.bash,确保编译时未加载ROS2环境。
  5. 创建workspace并clone rmw_cyclonedds (humble分支) 与 cyclonedds (releases/0.10.x分支)。
  6. 执行colcon build --packages-select cyclonedds单独编译DDS核心库。
  7. Source ROS2环境后执行colcon build编译完整workspace。 8.…

讨论原作者:@BeNavon 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub unitreerobotics/unitree_mujoco #46:Crash on running `./unitree_mujoco`: free(): invalid pointer访问 2026-10-23