proxy not working: "Advertising with * as the md5sum is not allowed."
Bug #669782 reported by
Patrick Bouffard
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
umd-ros-pkg |
Fix Committed
|
Undecided
|
Ken |
Bug Description
C-Turtle (installed from SVN and up to date), Ubuntu 10.10 64-bit.
When I try to run the proxy node, I get an error:
$ rosrun proxy proxy
terminate called after throwing an instance of 'ros::InvalidPa
what(): Advertising with * as the md5sum is not allowed. Topic [/proxy/rosout_agg]
/home/bouffard/
The relay node from topic_tools does work in this same setup. However I have a lot of topics that I would like to relay and don't want to run a separate node for each one of them.
To post a comment you must log in.
I had asked the ros-users mailing list how to get the md5sums of the advertised topics. It turned out that you can only do so by actually subscribing to the topic, as the master doesn't track md5sums (why?? It tracks simple types). I brought up this solution of advertising a "[message_name]/*" topic type and was warned that the "*" advertisement capability would be removed in the future ... I guess that's what's happened.
To get around this, the proxy node might have to do fake subscriptions to each of the new topics as they appear, sending its own md5="[something incorrect]" subscription to each of the publishers, before advertising the proxied topics. Unfortunately, it looks like roscpp publishers only ever send a "no, the md5sum is [...]" message in human-readable form (connection: :sendHeaderErro r), so that would have to be intercepted somehow. roscpp's UDPROS negotiation implementation (requestTopic) does provide the advertised md5sum, but I'm not sure if that'll work for non-cpp publishers.