UBCSailbot / raye-global-pathfinding

UBC Sailbot's Global Pathfinding Repository: A* pathfinding that creates sailing paths with minimized length and desirable wind speeds throughout.
MIT License
5 stars 1 forks source link

Set north,south,east,west correctly to avoid segfault #35

Closed tylerlum closed 3 years ago

tylerlum commented 3 years ago

Problem: From Alex "we were just testing global pathfinding and noticed that using a starting location of 8 8 causes a segfault"

Previous behavior: ./configure then ./build/bin/pathfinder_cli -p 8 --navigate 8 8 20 206 results in segfault.

Now: ./configure then ./build/bin/pathfinder_cli -p 8 --navigate 8 8 20 206 results in working path.

How I found it: I found the segfault happens on this exact line: CODES_CHECK(codes_set_double(lib_handle, "missingValue", kMissing), 0);

This likely meant there was some bug with the grib file.

From there, I tried reversing the order ./build/bin/pathfinder_cli -p 8 --navigate 20 206 8 8 worked fine.

I tested ./build/bin/pathfinder_cli -p 8 --navigate 19 205 20 206 which segfaulted, and ./build/bin/pathfinder_cli -p 8 --navigate 20 206 19 205 which worked. I realized we assume that the start is north east with respect to the end, which is not always true. Made the change and it works