ros / dynamic_reconfigure

BSD 3-Clause "New" or "Revised" License
48 stars 111 forks source link

update_configuration needs timeout #100

Open lucasw opened 6 years ago

lucasw commented 6 years ago

If a dynamic reconfigure server locks up update_configuration never returns.

My client ( https://github.com/lucasw/dynamic_reconfigure_tools/blob/master/rqt_dr_single ) runs update_configuration out of a rospy Timer update callback, this locks up the whole rqt window and turns it gray when the dynamic reconfigure server locks up (does that mean Timer is running in the Qt thread and if so why?).

rqt_reconfigure doesn't have the same locking up problem but it is creating a thread to run update_configuration within- I can copy that but maybe solving the timeout here would be better.

I'll make https://github.com/lucasw/dynamic_reconfigure_tools/blob/master/rqt_dr_single/scripts/example_server.py demonstrate the problem (e.g. first reconfigure callback works, second waits forever) and post the code here.

130s commented 2 years ago

My client (...) runs update_configuration out of a rospy Timer update callback, this locks up the whole rqt window and turns it gray when the dynamic reconfigure server locks up

I'm also seeing a rospy client hanging up as well. My client isn't running in Timer callback either. In rqt_reconfigure I don't find it called from Timer's callback either though (it's a shame as an original author almost 10 years ago what was my thought in doing that).

@lucasw Do you remember how you ended up solving/working this around?