This repository was archived by the owner on Jun 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 33
This repository was archived by the owner on Jun 21, 2023. It is now read-only.
"wrong type writer" error if topics with same token have different types #234
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingreadyWork is about to start (Kanban column)Work is about to start (Kanban column)
Description
I have a node which subscribes to topic data and publishes reception rate data on topic reception_rate/data. Those topics have different types.
I get a TDataWriter::narrow:ERROR: Bad parameter: wrong type writer error when I try to publish, but only if it's publishing to */data. If it publishes to reception_rate/data_ there's no error. I suspect that the typesupport is being mixed up with the other topic's.
Here's how to reproduce it with two publishers in the same node:
import sys
from time import sleep
import rclpy
from std_msgs.msg import Int64, String
def main(args=None):
if args is None:
args = sys.argv
rclpy.init(args=args)
node = rclpy.create_node('talker')
chatter_pub = node.create_publisher(String, 'chatter')
chatter_pub2 = node.create_publisher(Int64, 'test/chatter')
msg = String()
msg2 = Int64()
i = 1
while True:
msg.data = 'Hello World: {0}'.format(i)
msg2.data = i
i += 1
print('Publishing: "{0}"'.format(msg.data))
chatter_pub.publish(msg)
chatter_pub2.publish(msg2)
sleep(1)
if __name__ == '__main__':
main()
Behaviour with fastrtps (matches expected behaviour):
$ RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run demo_nodes_py talker
Publishing: "Hello World: 1"
Publishing: "Hello World: 2"
Publishing: "Hello World: 3"
Publishing: "Hello World: 4"
$ ros2 topic list --show-types
/chatter [std_msgs/String]
/test/chatter [std_msgs/Int64]
Behaviour with connext (fresh daemon):
$ RMW_IMPLEMENTATION=rmw_connext_cpp ros2 run demo_nodes_py talker
RTI Data Distribution Service EVAL License issued to OSRF dhood@osrfoundation.org For non-production use only.
Expires on 16-Jul-2017 See www.rti.com for more information.
Publishing: "Hello World: 1"
TDataWriter::narrow:ERROR: Bad parameter: wrong type writer
$ ros2 topic list --show-types
/chatter [std_msgs/String]
/test/chatter [std_msgs/String]
That last output showing /test/chatter having type std_msgs/String is suspicious.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingreadyWork is about to start (Kanban column)Work is about to start (Kanban column)