[ros-users] [Discourse.ros.org] [Quality Assurance] Design By Contract

tyagikunal ros.discourse at gmail.com
Fri Feb 16 01:34:56 UTC 2018



[quote="asmodehn, post:44, topic:2405"]
maybe we should have a library bagging each message, and keeping it for a certain amount of time
[/quote]

We could use rosbag for this purpose, except instead of storing the topics in a file, it instead stores in a buffer (might be a file) of fixed size/time duration.

[quote="asmodehn, post:44, topic:2405"]
some instrumentation that node writer could add to their code, so that when one node crash, we can get the log of all messages received (and sent) by that node ?
[/quote]
In the worst case scenario of seg-fault, we can't get all the messages that the affected node published/received, but we can certainly get the messages from the "publisher queue" from the memory dump (If we know where to look at). Getting subscriber messages might also be possible in a similar manner (after changes in current subscriber code). The bigger issue would be finding where the the relevant memory sections are given the dump. It would require some tooling, on top of my head something like a gdb plugin CfViz.

Maybe we could run the chaos node and the modified rosbag style logging node together. We could check the number of nodes at user dictated frequency (similar to rosnode list) and store only those messages permanently which originate on topics subscribed/published by a node going off the radar without publishing on a certain topic (only because ROS2 bring in the concept of managed nodes)





---
[Visit Topic](https://discourse.ros.org/t/design-by-contract/2405/45) or reply to this email to respond.




More information about the ros-users mailing list