conda-forge / conda-forge/ompl-feedstock

Fix tests with boost 1.86 on macos

Open
#43 56 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.