gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.19k stars 480 forks source link

Gazebo segfaults on launch #2330

Open osrf-migration opened 7 years ago

osrf-migration commented 7 years ago

Original report (archived issue) by Kenneth Blomqvist (Bitbucket: kekeblom).


I'm launching gazebo through roslaunch using a launch file and get the following error:

Segmentation fault (core dumped)
[gazebo-5] process has died died [pid ..., exit code 139 ...

It also mentions a log file gazebo-5*.log but it does not exist.

If I run the command using the debug flag I get into gdb and I am able to recover the following backtrace:

#0  0x00007ffff621cfab in gazebo::physics::Joint::GetAngle(unsigned int) const () from /usr/lib/x86_64-linux-gnu/libgazebo_physics.so.7
#1  0x00007fff22f81909 in gazebo::GazeboRosJointStatePublisher::publishJointStates() () from /opt/ros/lunar/lib/libgazebo_ros_joint_state_publisher.so
#2  0x00007fff22f81d96 in gazebo::GazeboRosJointStatePublisher::OnUpdate(gazebo::common::UpdateInfo const&) () from /opt/ros/lunar/lib/libgazebo_ros_joint_state_publisher.so
#3  0x00007ffff62bbd1f in ?? () from /usr/lib/x86_64-linux-gnu/libgazebo_physics.so.7
#4  0x00007ffff62a62f9 in gazebo::physics::World::Update() () from /usr/lib/x86_64-linux-gnu/libgazebo_physics.so.7
#5  0x00007ffff62b480f in gazebo::physics::World::Step() () from /usr/lib/x86_64-linux-gnu/libgazebo_physics.so.7
#6  0x00007ffff62b4c85 in gazebo::physics::World::RunLoop() () from /usr/lib/x86_64-linux-gnu/libgazebo_physics.so.7
#7  0x00007ffff3f54576 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.62.0
#8  0x00007ffff65c06da in start_thread (arg=0x7fff4dbf8700) at pthread_create.c:456
#9  0x00007ffff6bcfd7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

The launch file I used is rather simple and is as follows:

<launch>
        <arg name="model" />
        <arg name="use_gui" value="true"/>
        <arg name="paused" default="false" />
        <arg name="headless" default="false" />
        <arg name="debug" default="false" />
        <arg name="use_sim_time" default="true" />
        <arg name="rvizconfig" default="$(find ezgripper_driver)/rviz/urdf.rviz" />

        <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
        <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />

        <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" />

        <include file="$(find gazebo_ros)/launch/empty_world.launch">
                <arg name="debug" value="$(arg debug)" />
                <arg name="gui" value="$(arg use_gui)" />
                <arg name="paused" value="$(arg paused)" />
                <arg name="use_sim_time" value="$(arg use_sim_time)" />
                <arg name="headless" value="$(arg headless)" />
        </include>

        <param name="robot_description" command="xacro --inorder $(find picker)/urdf/robot.urdf.xacro" />

        <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model sh-125 " />

</launch>

Running gz sdf -p <urdf file> of my urdf model outputs this which looks fine to me:

<sdf version='1.6'>
  <model name='sh-125'>
    <link name='base_link'>
      <pose frame=''>0 0 0 0 -0 0</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>4</mass>
        <inertia>
          <ixx>0.00443333</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.00443333</iyy>
          <iyz>0</iyz>
          <izz>0.0072</izz>
        </inertia>
      </inertial>
      <collision name='base_link_fixed_joint_lump__ur5_base_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/base.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='base_link_fixed_joint_lump__ur5_base_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/base.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <link name='ur5_shoulder_link'>
      <pose frame=''>0 0 0.089159 0 -0 0</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>3.7</mass>
        <inertia>
          <ixx>0.0102675</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.0102675</iyy>
          <iyz>0</iyz>
          <izz>0.00666</izz>
        </inertia>
      </inertial>
      <collision name='ur5_shoulder_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/shoulder.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='ur5_shoulder_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/shoulder.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_shoulder_pan_joint' type='revolute'>
      <child>ur5_shoulder_link</child>
      <parent>base_link</parent>
      <axis>
        <xyz>0 0 1</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>150</effort>
          <velocity>3.15</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='ur5_upper_arm_link'>
      <pose frame=''>0 0.13585 0.089159 3.14159 1.57079 3.14159</pose>
      <inertial>
        <pose frame=''>0 0 0.28 0 -0 0</pose>
        <mass>8.393</mass>
        <inertia>
          <ixx>0.226891</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.226891</iyy>
          <iyz>0</iyz>
          <izz>0.0151074</izz>
        </inertia>
      </inertial>
      <collision name='ur5_upper_arm_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/upperarm.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='ur5_upper_arm_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/upperarm.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_shoulder_lift_joint' type='revolute'>
      <child>ur5_upper_arm_link</child>
      <parent>ur5_shoulder_link</parent>
      <axis>
        <xyz>0 1 0</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>150</effort>
          <velocity>3.15</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='ur5_forearm_link'>
      <pose frame=''>0.425 0.01615 0.089159 3.14159 1.57079 3.14159</pose>
      <inertial>
        <pose frame=''>0 0 0.25 0 -0 0</pose>
        <mass>2.275</mass>
        <inertia>
          <ixx>0.0494433</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.0494433</iyy>
          <iyz>0</iyz>
          <izz>0.004095</izz>
        </inertia>
      </inertial>
      <collision name='ur5_forearm_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/forearm.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='ur5_forearm_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/forearm.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_elbow_joint' type='revolute'>
      <child>ur5_forearm_link</child>
      <parent>ur5_upper_arm_link</parent>
      <axis>
        <xyz>0 1 0</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>150</effort>
          <velocity>3.15</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='ur5_wrist_1_link'>
      <pose frame=''>0.81725 0.01615 0.089159 3.14159 0 3.14159</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>1.219</mass>
        <inertia>
          <ixx>0.111173</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.111173</iyy>
          <iyz>0</iyz>
          <izz>0.21942</izz>
        </inertia>
      </inertial>
      <collision name='ur5_wrist_1_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/wrist1.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='ur5_wrist_1_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/wrist1.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_wrist_1_joint' type='revolute'>
      <child>ur5_wrist_1_link</child>
      <parent>ur5_forearm_link</parent>
      <axis>
        <xyz>0 1 0</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>28</effort>
          <velocity>3.2</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='ur5_wrist_2_link'>
      <pose frame=''>0.81725 0.10915 0.089159 3.14159 0 3.14159</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>1.219</mass>
        <inertia>
          <ixx>0.111173</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.111173</iyy>
          <iyz>0</iyz>
          <izz>0.21942</izz>
        </inertia>
      </inertial>
      <collision name='ur5_wrist_2_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/wrist2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='ur5_wrist_2_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/wrist2.dae</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_wrist_2_joint' type='revolute'>
      <child>ur5_wrist_2_link</child>
      <parent>ur5_wrist_1_link</parent>
      <axis>
        <xyz>0 0 -1</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>28</effort>
          <velocity>3.2</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='ur5_wrist_3_link'>
      <pose frame=''>0.81725 0.10915 -0.005491 3.14159 0 3.14159</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>0.4879</mass>
        <inertia>
          <ixx>0.0271365</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.0271365</iyy>
          <iyz>0</iyz>
          <izz>0.043822</izz>
        </inertia>
      </inertial>
      <collision name='ur5_wrist_3_link_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/collision/wrist3.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <collision name='ur5_wrist_3_link_fixed_joint_lump__tool_ezgripper_palm_link_collision_1'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Palm_Dual_Gen2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <collision name='ur5_wrist_3_link_fixed_joint_lump__ur5_ee_link_collision_2'>
        <pose frame=''>-0 0.0723 0 0 -0 1.5708</pose>
        <geometry>
          <box>
            <size>0.01 0.01 0.01</size>
          </box>
        </geometry>
      </collision>
      <visual name='ur5_wrist_3_link_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ur_description/meshes/ur5/visual/wrist3.dae</uri>
          </mesh>
        </geometry>
      </visual>
      <visual name='ur5_wrist_3_link_fixed_joint_lump__tool_ezgripper_palm_link_visual_1'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Palm_Dual_Gen2.stl</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='ur5_wrist_3_joint' type='revolute'>
      <child>ur5_wrist_3_link</child>
      <parent>ur5_wrist_2_link</parent>
      <axis>
        <xyz>0 1 0</xyz>
        <limit>
          <lower>-6.28319</lower>
          <upper>6.28319</upper>
          <effort>28</effort>
          <velocity>3.2</velocity>
        </limit>
        <dynamics>
          <damping>0</damping>
          <friction>0</friction>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='tool_ezgripper_finger_L1_1'>
      <pose frame=''>0.744681 0.13915 -0.005491 1.57079 0 1.57084</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>0.025</mass>
        <inertia>
          <ixx>0.01</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.01</iyy>
          <iyz>0</iyz>
          <izz>0.01</izz>
        </inertia>
      </inertial>
      <collision name='tool_ezgripper_finger_L1_1_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L1_Gen2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='tool_ezgripper_finger_L1_1_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L1_Gen2.stl</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='tool_ezgripper_knuckle_palm_L1_1' type='revolute'>
      <child>tool_ezgripper_finger_L1_1</child>
      <parent>ur5_wrist_3_link</parent>
      <axis>
        <xyz>-4e-06 -0 1</xyz>
        <limit>
          <lower>0</lower>
          <upper>1.94</upper>
          <effort>1</effort>
          <velocity>3.67</velocity>
        </limit>
        <dynamics>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='tool_ezgripper_finger_L2_1'>
      <pose frame=''>0.744679 0.19115 -0.005491 1.57079 0 1.57084</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>0.025</mass>
        <inertia>
          <ixx>0.01</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.01</iyy>
          <iyz>0</iyz>
          <izz>0.01</izz>
        </inertia>
      </inertial>
      <collision name='tool_ezgripper_finger_L2_1_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L2_Gen2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='tool_ezgripper_finger_L2_1_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L2_Gen2.stl</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='tool_ezgripper_knuckle_L1_L2_1' type='revolute'>
      <child>tool_ezgripper_finger_L2_1</child>
      <parent>tool_ezgripper_finger_L1_1</parent>
      <axis>
        <xyz>-4e-06 -0 1</xyz>
        <limit>
          <lower>0</lower>
          <upper>1.94</upper>
          <effort>1</effort>
          <velocity>3.67</velocity>
        </limit>
        <dynamics>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='tool_ezgripper_finger_L1_2'>
      <pose frame=''>0.744681 0.07915 -0.005491 -1.57079 0 -1.57084</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>0.025</mass>
        <inertia>
          <ixx>0.01</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.01</iyy>
          <iyz>0</iyz>
          <izz>0.01</izz>
        </inertia>
      </inertial>
      <collision name='tool_ezgripper_finger_L1_2_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L1_Gen2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='tool_ezgripper_finger_L1_2_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L1_Gen2.stl</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='tool_ezgripper_knuckle_palm_L1_2' type='revolute'>
      <child>tool_ezgripper_finger_L1_2</child>
      <parent>ur5_wrist_3_link</parent>
      <axis>
        <xyz>4e-06 -0 -1</xyz>
        <limit>
          <lower>0</lower>
          <upper>1.94</upper>
          <effort>1</effort>
          <velocity>3.67</velocity>
        </limit>
        <dynamics>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <link name='tool_ezgripper_finger_L2_2'>
      <pose frame=''>0.744679 0.02715 -0.005491 -1.57079 0 -1.57084</pose>
      <inertial>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <mass>0.025</mass>
        <inertia>
          <ixx>0.01</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.01</iyy>
          <iyz>0</iyz>
          <izz>0.01</izz>
        </inertia>
      </inertial>
      <collision name='tool_ezgripper_finger_L2_2_collision'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L2_Gen2.stl</uri>
          </mesh>
        </geometry>
      </collision>
      <visual name='tool_ezgripper_finger_L2_2_visual'>
        <pose frame=''>0 0 0 0 -0 0</pose>
        <geometry>
          <mesh>
            <scale>1 1 1</scale>
            <uri>model://ezgripper_driver/meshes/ezgripper_gen2/SAKE_Finger_L2_Gen2.stl</uri>
          </mesh>
        </geometry>
      </visual>
    </link>
    <joint name='tool_ezgripper_knuckle_L1_L2_2' type='revolute'>
      <child>tool_ezgripper_finger_L2_2</child>
      <parent>tool_ezgripper_finger_L1_2</parent>
      <axis>
        <xyz>4e-06 -0 -1</xyz>
        <limit>
          <lower>0</lower>
          <upper>1.94</upper>
          <effort>1</effort>
          <velocity>3.67</velocity>
        </limit>
        <dynamics>
          <spring_reference>0</spring_reference>
          <spring_stiffness>0</spring_stiffness>
        </dynamics>
        <use_parent_model_frame>1</use_parent_model_frame>
      </axis>
    </joint>
    <plugin name='gazebo_ros_control' filename='libgazebo_ros_control.so'/>
    <static>0</static>
    <plugin name='joint_state_publisher' filename='libgazebo_ros_joint_state_publisher.so'>
      <jointName>tool_ezgripper_knuckle_1,tool_ezgripper_knuckle_2</jointName>
    </plugin>
  </model>
</sdf>

If I greatly simplify my model by removing the gripper gazebo starts fine. However I am kind of stuck at this point and would appreciate any tips on how I can debug this further to figure out where the issue is.

Let me know if there is anything more I can do to find the problem here.

I am running gazebo version 7.5.0.

osrf-migration commented 7 years ago

Original comment by Ian Chen (Bitbucket: Ian Chen, GitHub: iche033).


in the joint_state_publisher plugin, it's looking for jointNames: tool_ezgripper_knuckle_1 and tool_ezgripper_knuckle_2. Where are they defined?

osrf-migration commented 7 years ago

Original comment by Kenneth Blomqvist (Bitbucket: kekeblom).


Ok so that turned out to be the issue. I changed those to knuckle_L1_L2_1 and knuckle_L1_L2_2 and that works.

I guess we should look into crashing with some sort of error message instead of segfaulting.

Thanks a lot! I'll have a quick look if I can somehow make the experience a little bit better in this case .

osrf-migration commented 7 years ago

Original comment by Kenneth Blomqvist (Bitbucket: kekeblom).


It appears that the Joint::GetAngle method no longer exists in the default branch and that there has been quite a lot of changes in newer versions.

What do you think we should do? Close the issue? Happy to help if someone points me in the right direction.

osrf-migration commented 7 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I think the problem is in gazebo_plugins/src/gazebo_ros_joint_state_publisher.cpp where it dereferences the joint pointer without checking that it is non-null. It should probably be checked at load time before being added to the joints_ vector. Would you be willing to make a pull request to gazebo_ros_pkgs to add a pointer check and error message if a joint by the specified name is not found?

osrf-migration commented 7 years ago

Original comment by Kenneth Blomqvist (Bitbucket: kekeblom).


I did just that. The pull request is here: https://github.com/ros-simulation/gazebo_ros_pkgs/pull/609