conda-forge / conda-forge/ompl-feedstock
Fix tests with boost 1.86 on macos
- Dominant language
- Shell
- Stars
- 3
- Forks
- 14
- Avg merge
- 11d 14h
- Merged PRs (30d)
- 2
Description
### Solution to issue cannot be found in the documentation.
- [x] I checked the documentation.
### Issue
There are plenty of discussion on this, but they are spread over multiple PRs, that typically get outdated. Let's use this to keep track of everything.
This is quite important as it is now blocking:
* robostack rebuilds https://github.com/RoboStack/ros-humble/pull/206
* conda-forge migrations https://github.com/conda-forge/ompl-feedstock/pull/42
## Detailed description
Since boost 1.84 migration (see https://github.com/conda-forge/ompl-feedstock/pull/35, the previous pinned version was 1.82) two tests are failing:
~~~
13/21 Test #13: test_planner_data ................***Failed 56.65 sec
Running 6 test cases...
Error: Failed to load PlannerData: input stream error
at line 140 in $SRC_DIR/src/ompl/base/src/PlannerDataStorage.cpp
$SRC_DIR/tests/base/planner_data.cpp:530: error: in "Serialization": check data2.numVertices() == states.size() has failed [0 != 1000]
$SRC_DIR/tests/base/planner_data.cpp:531: error: in "Serialization": check data2.numEdges() == num_edges_to_add has failed [0 != 10000]
$SRC_DIR/tests/base/planner_data.cpp:534: error: in "Serialization": check data2.numStartVertices() == 3 has failed
$SRC_DIR/tests/base/planner_data.cpp:535: error: in "Serialization": check data2.numGoalVertices() == 2 has failed
$SRC_DIR/tests/base/planner_data.cpp:536: error: in "Serialization": check data2.isStartVertex(0) has failed
$SRC_DIR/tests/base/planner_data.cpp:537: error: in "Serialization": check data2.isStartVertex(states.size()/2) has failed
$SRC_DIR/tests/base/planner_data.cpp:538: error: in "Serialization": check data2.isStartVertex(states.size()-1) has failed
$SRC_DIR/tests/base/planner_data.cpp:539: error: in "Serialization": check data2.isGoalVertex(1) has failed
$SRC_DIR/tests/base/planner_data.cpp:540: error: in "Serialization": check data2.isGoalVertex(states.size()-2) has failed
unknown location:0: fatal error: in "Serialization": memory access violation at address: 0x8: no mapping at fault address
$SRC_DIR/tests/base/planner_data.cpp:544: last checkpoint
*** 10 failures are detected in the test module "PlannerData"
~~~
and
~~~
21/21 Test #21: test_planner_data_control ........***Failed 48.40 sec
Running 5 test cases...
Debug: Storing 10000 PlannerDataEdgeControl objects
Error: Failed to load PlannerData: input stream error
at line 112 in $SRC_DIR/src/ompl/control/src/PlannerDataStorage.cpp
$SRC_DIR/tests/control/planner_data.cpp:549: error: in "Serialization": check data2.numVertices() == states.size() has failed [0 != 1000]
$SRC_DIR/tests/control/planner_data.cpp:550: error: in "Serialization": check data2.numEdges() == num_edges_to_add has failed [0 != 10000]
unknown location:0: fatal error: in "Serialization": memory access violation at address: 0x8: no mapping at fault address
$SRC_DIR/tests/control/planner_data.cpp:555: last checkpoint
*** 3 failures are detected in the test module "PlannerDataControl"
~~~
Contributor guide
Research direction
Start with tests/base/planner_data.cpp and tests/control/planner_data.cpp, especially the Serialization cases reported in the issue, then inspect the corresponding PlannerDataStorage.cpp load paths. Run test_planner_data and test_planner_data_control with Boost 1.86 on macOS; done means both serialization tests pass without input-stream errors or memory-access failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, macos
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100