Diagnostic aggregator not reading messages from new publishers on /diagnostics topic [closed]
Here's the situation:
- Start roscore
- Start diagnostic aggregator
- Start node A
- Start node B
- Start node C
- Start node D
And keep starting up to 20 nodes.
All the nodes publish to the /diagnostics topic, which is read by the aggregator, and republished to /diagnostics_agg. The problem is that the aggregator is only reading messages from node A and B, but marks the rest of the nodes as stale.
If I kill the aggregator and restart it, the issue is solved, so it's not a problem with the aggregator yaml file or with the topic publication of the nodes.
Furthermore, if I take a look at the /diagnostics topic, I see messages from all the nodes being published there. And rostopic info /diagnostics displays 20 publishers and 1 subscriber (the aggregator).
Here's the log of the diagnostic_aggregator:
[roscpp_internal] [2011-09-02 11:31:43,575] [thread 0xb5ac3930]: [DEBUG] UDPROS server listening on port [59791]
[roscpp_internal] [2011-09-02 11:31:43,580] [thread 0xb5ac3930]: [DEBUG] Started node [/my_diagnostic_aggregator], pid [2125], bound on [robot], xmlrpc port [54121], tcpros port [33420], logging to [/tmp/5d1153a4-d546-11e0-8b8e-00e0f41fb340/my_diagnostic_aggregator-1.log], using [real] time
[roscpp_internal] [2011-09-02 11:31:43,817] [thread 0xb5ab6b70]: [DEBUG] Accepted connection on socket [7], new socket [12]
[roscpp_internal] [2011-09-02 11:31:43,817] [thread 0xb5ab6b70]: [DEBUG] TCPROS received a connection from [127.0.1.1:43084]
[roscpp_internal] [2011-09-02 11:31:43,817] [thread 0xb5ab6b70]: [DEBUG] Connection: Creating TransportSubscriberLink for topic [/rosout] connected to [callerid=[/rosout] address=[TCPROS connection to [127.0.1.1:43084 on socket 12]]]
[roscpp_internal] [2011-09-02 11:31:44,020] [thread 0xb5ac3930]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/my_diagnostic_aggregator/analyzers/Common/analyzers/guiServer/remove_prefix] is not set]
[roscpp_internal] [2011-09-02 11:31:44,021] [thread 0xb5ac3930]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/my_diagnostic_aggregator/analyzers/Common/analyzers/guiServer/startswith] is not set]
[roscpp_internal] [2011-09-02 11:31:44,022] [thread 0xb5ac3930]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/my_diagnostic_aggregator/analyzers/Common/analyzers/guiServer/name] is not set]
[roscpp_internal] [2011-09-02 11:31:44,023] [thread 0xb5ac3930]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/my_diagnostic_aggregator/analyzers/Common/analyzers/guiServer/contains] is not set]
[roscpp_internal] [2011-09-02 11:31:44,024] [thread 0xb5ac3930]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/my_diagnostic_aggregator/analyzers/Common/analyzers/guiServer/expected] is not set]
[roscpp_internal] [2011-09-02 11:31:45,277] [thread 0xb5ac3930]: [DEBUG] Publisher update for [/diagnostics]: http://robot:44143/, http://robot:59731/, already have these connections:
[roscpp_internal] [2011-09-02 11:31:45,277] [thread 0xb5ac3930]: [DEBUG] Began asynchronous xmlrpc connection to [robot:44143]
[roscpp_internal] [2011-09-02 11:31:45,277] [thread 0xb5ac3930]: [DEBUG] Began asynchronous xmlrpc connection to [robot:59731]
[roscpp_internal] [2011-09-02 11:31:45,423] [thread 0xb52b5b70]: [DEBUG] Connecting via tcpros to topic [/diagnostics] at host [robot:56835]
[roscpp_internal] [2011-09-02 11:31:45,423] [thread 0xb52b5b70]: [DEBUG] Resolved publisher host [robot] to [127.0.1.1] for socket [14]
[roscpp_internal] [2011-09-02 11:31:45,423] [thread 0xb52b5b70]: [DEBUG] Async connect() in progress to [robot:56835] on socket [14]
[roscpp_internal] [2011-09-02 ...
If this is still an issue please open a ticket on https://github.com/ros/ros_comm