-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
osrm-extract assert triggering on manoeuvre override relation #6126
Description
With the Kentucky OSM extract.
osrm-extract with the default bike profile triggers an assertion when compressing a manoeuvre override.
| BOOST_ASSERT(ptr->via == to); |
The override is applied at an intersection between a private and public road: https://www.openstreetmap.org/relation/10547836#map=16/39.0284/-84.5417

The private road is not accessible to the bike profile, so the node has degree two, allowing it to be compressed.
The via node of manoeuvre overrides are not exempt from being compressed, although the code appears to expect this to be the case. This inconsistency leads to the triggering of the assertion.
Furthermore, manoeuvre overrides do not support non-compressible nodes as part of the paths, meaning many are skipped or ignored. This was fixed for turn restrictions, a similar change is required for manoeuvres.
Other than fixing debug builds, there are only ~100 overrides in OSM data, so the impact on routing will be low.