Is there a reason rosout might be started more than once?
I have a setup where I start a bunch of ROS related stuf on startup. I've been careful to put sleeps between roslaunch calls, but for some reason rosout keeps getting started more than once and its wreaking havoc on message connections at certain high traffic moments.
Context:
- ROS electric by necessity
- I start a bunch of nodes via separate roslaunch calls in separate gnuscreen sessions from an sysvinit script
All processes started as root
sleep 1
is used between roslaunch calls- I do not start roscore separately but rather rely on roslaunch to start it (though I have tried that in hopes that it would prevent the situation)
The symptoms are:
- Ps reports two copies of rosout
- One is started by roscore itself at the top level (no parent process)
- The other is started by roslaunch which intern is a top level process.
- Nodes have many many connections to rosout (sometimes hundreds!)
- continual ps grepping for rosout shows that the processes are both being created and destroyed constantly.
- At high traffic moments, certain messages just fail to arrive (reproducable, reason inferred)
TL;DR:
- Is there any known way to accidentally startup up to roscores and have them fight for dominance?
- Is there any known way to avoid this?