Closed corot closed 1 year ago
We need the lock because otherwise you're modifying a field of the config object outside the protection of the mutex.
The other fields are protected by the mutex inside TebConfig::reconfigure
, but robot_model
is not since you set it outside in TebLocalPlannerROS::reconfigureCB
.
It's the same problem we had with DWA a while ago
We need the lock because otherwise you're modifying a field of the config object outside the protection of the mutex. The other fields are protected by the mutex inside
TebConfig::reconfigure
, butrobot_model
is not since you set it outside inTebLocalPlannerROS::reconfigureCB
.It's the same problem we had with DWA a while ago
added
This is the exact problem I have in my research. When I reconfigure the parameters, the segfault occurs occasionally, but not from the beginning, this has confused me a long time. I prove this is helpful!
This is the exact problem I have in my research. When I reconfigure the parameters, the segfault occurs occasionally, but not from the beginning, this has confused me a long time. I prove this is helpful!
Thanks for reporting. Merged
Resurrecting #255:
We found exactly the same issue #245, reproduced in the same way, and I can confirm that @dorezyuk's PR #255 fixes it
I open a new PR because:
About @amakarow's comment, I think the code becomes cleaner now (if nothing else, we have almost 4 to 1 deletions!)
@dorezyuk, can u explain why the lock is needed? Thanks, and thanks for the fix!