Skip to content

Instantly share code, notes, and snippets.

@garaemon
Created July 20, 2015 17:01
Show Gist options
  • Select an option

  • Save garaemon/a67e025f1018f492c1eb to your computer and use it in GitHub Desktop.

Select an option

Save garaemon/a67e025f1018f492c1eb to your computer and use it in GitHub Desktop.
ConnectionBasedNodelet race condition bug

terminal 1

roslaunch test_connection2.launch RESPAWN:=true

terminal 2

rostopic hz relay_19/output -w 10

terminal 3

watch -n 20 rosnode kill relay_10
<launch>
<arg name="RESPAWN" default="false" />
<node pkg="rostopic" type="rostopic" name="input"
args="pub /input std_msgs/String '{data: input}' -r 10">
</node>
<node pkg="nodelet" type="nodelet" name="manager" args="manager" output="screen"/>
<node pkg="nodelet" type="nodelet" name="relay_0" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="input" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_1" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_0/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_2" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_1/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_3" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_2/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_4" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_3/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_5" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_4/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_6" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_5/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_7" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_6/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_8" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_7/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_9" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_8/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_10" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_9/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_11" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_10/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_12" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_11/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_13" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_12/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_14" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_13/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_15" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_14/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_16" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_15/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_17" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_16/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_18" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_17/output" />
</node>
<node pkg="nodelet" type="nodelet" name="relay_19" respawn="$(arg RESPAWN)"
args="load jsk_topic_tools/StringRelay manager" output="screen">
<remap from="~input" to="relay_18/output" />
</node>
</launch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment