Why does OSRM an Graphhopper not route the Vrijdagmarkt in Gent?

I see no reason why this route should not take the Vrijdagmarkt.

https://www.openstreetmap.org/directions?engine=graphhopper_car&route=51.0569%2C3.7262%3B51.0573%2C3.7261#map=19/51.05710/3.72625

If you move the start and end slightly, the router seems to totally ignore the Vrijdagmarkt and start of the Baudelotstraat. Why is that?
https://www.openstreetmap.org/directions?engine=graphhopper_car&route=51.05709%2C3.72629%3B51.05774%2C3.72678#map=19/51.05763/3.72659

Strange indeed… planner seems to have problem with highway=service ???
attention here is a small segment one way
https://www.openstreetmap.org/way/227923881

I’m not sure, but this relation looks suspicious:
https://www.openstreetmap.org/relation/3340986
It’s highway=pedestrian, so motor vehicles are excluded by default. There are roads inside it. Try to reduce the area of highway=pedestrian so that the areas do not overlap. Just delete this relation and create a polygon.

Interesting. That’s new for me that routers also use relations for routing.
I’ve added motor_vehicle=yes to the relation to see if that helps. All orbiting roads are living_street and residential anyway so I don’t think that should create a fundamental problem.

I think highways and squares shouldn’t be connected that way. Every road segment is a part of relation which is also a street. I’ve never seen anything like this. It will be better to remove that relation because in few years someone will ask a similar question.
Adding motor_vehicle=yes to highway=pedestrian has the same sense as adding motor_vehicle=no to highway=motorway.

After some experimenting with routing on different highways, I have found that, in car profile, Graphhopper currently ignores all ways which have a maxheight-tag set lower than 2 (meters). The highway classification (tertiary, service, etc.) or tunnel=yes/no/building_passage don’t seem to matter. The pedestrian area doesn’t cause the problem either. The tag maxheight=1.9 appears to be the issue here.

I suspect that because of oneway tags, several streets nearby are deemed unreachable, considering the maxheight set for the way in the underground parking. To save resources, these streets are removed from the graph which the routing algorithm uses to calculate the route. These streets are considered useless for the selected vehicle, and therefore ignored in the calculations, just as footways and cycleways.

The same situation can be seen here, the entrance road to the parking (maxheight=1.95) is ignored for routing: https://www.openstreetmap.org/directions?engine=graphhopper_car&route=51.82566%2C4.41318%3B51.82586%2C4.41363#map=19/51.82571/4.41336

These are apparently not caused by mapping errors, but an issue with the car profile routing at Graphhopper.
I don’t know what the best place is to report this issue, Graphhopper’s github is probably not entirely appropriate.

P.S. The proposed route includes a u-turn at Joremaaie. I suspect OSM mapping could use some improvement here to avoid this illegal/impossible manoeuvre.

I am aware of that annoying fixed and IMHO unnecessarily low height limit, but the route does not take those ways so it should not be affected by it.