Open blabla-my opened 1 year ago
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.