You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scnenario runner encounters a segmentation fault. The scenario to run is self-defined. Opendrive stand alone mode is used to generate the simulation world.
As the dumped core shows, the segmentation fault is due to a null pointer reference.
The last instruction is mov (%rax),%rsi, and p $rax shows %rax == 0. Then a null pointer reference is triggered.
And I find the source code location of the assembly code above. This assembly code is inside InMemoryMap::SetupRoadOption() and invokes traffic_manager::SimpleWaypoint::GetTransform(), I think it is near by InMemoryMap.cpp +431.
// Calculate the angle between the first and the last point of the junction.int16_t current_angle = static_cast<int16_t>(traversed_waypoints.front()->GetTransform().rotation.yaw);
int16_t junction_end_angle = static_cast<int16_t>(traversed_waypoints.back()->GetTransform().rotation.yaw)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
The reason of the null-pointer dereference is that traversed_waypoints.size() == 0, resulting tarversed_waypoints.front() == null.
The root cause is the wrong definition of road networks in the input OpenDrive. If two junctions are connected then the traversed_waypoints will be empty.
So fixing the OpenDrive file or adding a check by inspecting traversed_waypoints.empty() will solve this segmentation fault. The former solution is recommended because there are other components that use the OpenDrive map content like autopilot.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
version and platforms
CARLA version: 0.9.13
scenario_runner version: 0.9.13
OS: ubuntu 18.04
Memory: 64GB
GPU: NVIDIA 3070 8G
CPU: 32 cores Intel
python 3.6.9
problems
Scnenario runner encounters a segmentation fault. The scenario to run is self-defined. Opendrive stand alone mode is used to generate the simulation world.
As the dumped core shows, the segmentation fault is due to a null pointer reference.
The last instruction is
mov (%rax),%rsi
, andp $rax
shows%rax == 0
. Then a null pointer reference is triggered.And I find the source code location of the assembly code above. This assembly code is inside InMemoryMap::SetupRoadOption() and invokes traffic_manager::SimpleWaypoint::GetTransform(), I think it is near by InMemoryMap.cpp +431.
Steps to reproduce
test.xodr
andtest.xosc
in the same directory.According to my experience, the segmentation fault is not stable to reproduce. Maybe you need to run serveral times to get the segmentation fault.
The text was updated successfully, but these errors were encountered: