-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Contract bug leading to "Impossible route between points" #7054
Description
Issue
Hi, I used a customized OSM file with 6 ways(117024096, 866851050, 210884329, 1079725575, 1094715491, 1094715088). I just tagged way 117024096 as a toll road (toll=yes). I used default car.lua and CH algo to build an OSRM server. When I called route API without any params, it returned a route with toll:

But when I added exclude=toll, an error occurred: {"NoRoute", "Impossible route between points"}.
However, after I modified the car.lua and deleted motorway and ferry from excludable, I can get the correct result:

To check this issue, I also set all these ways as not oneway road, this issue also can be fixed. MLD is ok too. So this is a specific issue in CH algo I think. The most perhaps function is contractGraph.
I'm still checking the code but I would appreciate if any guy could help me and point out the reason.
Steps to reproduce
check the data on https://www.openstreetmap.org/#map=18/13.884394/100.650848
Please provide the steps required to reproduce your problem.
osrm-backendversion being used: commit d71e2830- OSM extract that was processed
- Processing commands: CH processing
- Server queries
http://localhost:5001/route/v1/driving/100.65271,13.884891;100.64929,13.882496
http://localhost:5001/route/v1/driving/100.65271,13.884891;100.64929,13.882496?exclude=toll
Specifications
not an env-related issue.