Skip to content

rviz: crash when mousing over a marker when it is deleted #1572

@Saki-Chen

Description

@Saki-Chen

You can try the python script below to generate a rectangle in rviz.
When you enable focus and move the cursor to it, rviz will crash with Segmentation fault.

Screenshot from 2020-12-17 22-51-14

OS: Ubuntu 18.04
ROS Distro: Melodic
Log:
[ INFO] [1608216576.247743363]: rviz version 1.13.15
[ INFO] [1608216576.247794502]: compiled against Qt version 5.9.5
[ INFO] [1608216576.247809674]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1608216576.251226409]: Forcing OpenGl version 0.
[ INFO] [1608216576.702971734]: Stereo is NOT SUPPORTED
[ INFO] [1608216576.703038874]: OpenGl version: 4.6 (GLSL 4.6).
Segmentation fault (core dumped)

some info generated by nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.95.01 Driver Version: 440.95.01 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce MX150 Off | 00000000:01:00.0 Off | N/A |
| N/A 74C P0 N/A / N/A | 486MiB / 2002MiB | 4% Default |
+-------------------------------+----------------------+----------------------+


import rospy
from visualization_msgs.msg import Marker
from geometry_msgs.msg import Point
if __name__ == "__main__":
    rospy.init_node("test_rviz")
    publisher = rospy.Publisher('/square_marker', Marker, queue_size=3)
    marker = Marker()
    marker.header.frame_id = 'map'
    marker.action = Marker.ADD
    marker.header.stamp = rospy.Time.now()
    marker.id = 1
    marker.type = Marker.LINE_STRIP
    marker.color.a = 1
    marker.color.g = 1
    marker.color.r = marker.color.b = 0
    marker.pose.position.x = marker.pose.position.y = marker.pose.position.z = 0
    marker.pose.orientation.w = 1
    marker.pose.orientation.x = marker.pose.orientation.y = marker.pose.orientation.z = 0
    marker.scale.x = marker.scale.y = 0.1
    marker.scale.z = 0.05
    marker.points.append(Point(0,0,0))
    marker.points.append(Point(0,1,0))
    marker.points.append(Point(1,1,0))
    marker.points.append(Point(1,0,0))
    marker.points.append(Point(0,0,0))
    while not rospy.is_shutdown():
        publisher.publish(marker)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions