behavior_path_planner
needs to lock planner_data_
mutex before calling getTurnSignal
#2422
Closed
3 tasks done
Labels
component:planning
Route planning, decision-making, and navigation. (auto-assigned)
Checklist
Description
This line is outside the
mutex_pd_
lock guard:autoware.universe/planning/behavior_path_planner/src/behavior_path_planner_node.cpp
Line 645 in 17f1b95
This means the
planner_data_
content may be modified when thegetTurnSignal
function is trying to access it.For example I have modified the
route_handler::getClosestLaneletWithinRoute
to crash if the route handler is not ready:Then I run the planning simulator and set the goal pose with Rviz, many times. After many tries (it's all about timing), the exception is thrown:
By the time I print
is_handler_ready_
in gdb it is already back to true.Expected behavior
planner data read/write requires a mutex lock.
Actual behavior
route_handler may be read/written simulataneously.
Steps to reproduce
add a printf or an exception in the
route_handler
function above, and set the goal pose many times in the planning simulator.Versions
No response
Possible causes
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: