Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Crash on long running process with melodic #13

Closed
mark-goodall opened this issue Aug 7, 2019 · 7 comments
Closed

Crash on long running process with melodic #13

mark-goodall opened this issue Aug 7, 2019 · 7 comments

Comments

@mark-goodall
Copy link

It looks like this file has been changed since the melodic release, but here is the error I am getting

Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_robot_monitor/inspector_window.py", line 106, in message_updated
self.disp.write_status.emit(status)
TypeError: StatusSnapshot.write_status[DiagnosticStatus].emit(): argument 1 has unexpected type 'NoneType'
[robot_monitor-3] process has died [pid 27434, exit code -6, cmd /opt/ros/melodic/lib/rqt_robot_monitor/rqt_robot_monitor __name:=robot_monitor

@mark-goodall
Copy link
Author

I also see this when dragging through rqt_bag with a diagnostics window open and the panel open frequently, It appears to happen when the diagnostics message that is jumped to is not from the same component as the one currently open

@arne48
Copy link
Member

arne48 commented Aug 7, 2019

Thank you very much for posting this issue. I will have a look into it.

@arne48
Copy link
Member

arne48 commented Aug 10, 2019

I am sorry but I can't reproduce this issue.
Meanwhile we also have a newer version which should be distributed via the repository soon.
Could you try out the master branch from this repo and report if the issue is also present in 0.5.9?

@mark-goodall
Copy link
Author

I've just tried the master branch, its behaving similarly, although I think this is for a different reason. I get the same crash whenever analyzers which have been added using diagnostic_aggregator add_analyzers are closed while the panel showing their output is open, or when I attempt to open a panel while the magnifying glass is not on the latest message

Traceback (most recent call last):
  File "/home/user/catkin_ws/src/rqt_robot_monitor/src/rqt_robot_monitor/inspector_window.py", line 125, in _signal_queue_updated
    status = self.timeline.get_all_status_by_name(self._name)
  File "/home/user/catkin_ws/src/rqt_robot_monitor/src/rqt_robot_monitor/timeline.py", line 173, in get_all_status_by_name
    return [status[name] for status in list(self._queue)]
KeyError: '/added_diag'

The magnifying glass now does not automatically stay on the newest message either on startup

@arne48
Copy link
Member

arne48 commented Sep 21, 2019

Thank you very much for the traceback.
With your additional information I could reproduce the crash.
I will check out the root cause.

@remod
Copy link

remod commented Dec 4, 2019

I experience the same issues. As a quick fix, I added a mutex, None checks, and exception catching:
https://github.com/remod/rqt_robot_monitor
The magnifying glass issue is not fixed yet.

I checked the other forks of the repo, https://github.com/chrisspen/rqt_robot_monitor also added mutexes, but his master branch is behind.

@arne48
Copy link
Member

arne48 commented Dec 6, 2019

@remod Thanks for pointing out this approach to mitigate this issue.
I will have a closer look and then publish an update.
The issue about the magnifying glass will be separate into another issue from here on.
Thank you everybody.

@arne48 arne48 closed this as completed in 2f14d34 Mar 31, 2020
arne48 added a commit that referenced this issue Mar 31, 2020
added mutex and checks to fix #13
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

3 participants