-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion thrown during map matching when traffic data loaded #3641
Comments
@danpat can you add traffic csv file and git sha? |
@oxidase it's with the 5.5.4 release binaries (via |
@danpat I did not reproduce exactly the assertion but some overflow that gives result:
steps to reproduce:
and But the following speed updates
are ok and result to
It can be a different issue, but it shows that something related to an updates history is broken. So just having a single csv file may be not enough and the history of updates will be needed to reproduce the assertion. |
The assertion triggering is the same as already reported in #3429. Given the involvement of negative weights, my guess would be the same problem happening. The algorithm thinks there might be a self-loop, but there isn't. This detection is based on negative weights, which we don't support right now. |
Wow finally a reproducible edge case. Some pointers on how to debug this:
If that does not yield anything the problem will be the weight of a turn edge (maybe some sort of overflow?). Tracking the updated edge-based-edge in the contractor is a little bit more nasty, I would recommend approaching it from the other side and logging the weight here and here |
The problem is still not reproducible, but the origin for the assertion in
The snapped phantom is
and at |
@oxidase that would mean the Edge is not getting updated properly. Can you find out if that edge in the query graph is a shortcut? ( If it is not a shortcut the update routine in If it is a shortcut there might be something funky in the contractor going on, that would lead to an invalid weight calculation. |
@TheMarex it is not a shortcut. Without traffic updates the edge weight is 221. With |
I have reproduced the issue with the following steps:
For query http 'http://localhost:5000/route/v1/driving/-86.250855,41.752166;-86.2508962,41.7536337'
The problem is in not in OSRM but in broken weights consistency in I will add some assertions in |
This was resolved by not running |
Why broken weights consistency leads coredump for id assert fail like this ? @oxidase |
We're hitting the following assertion:
"bt full" output from the asserting thread (click to expand)
The map-matched request in question is:
curl 'http://localhost:5000/match/v1/driving/-86.250855,41.752166;-86.250905,41.761367;-86.250677,41.774492'
but note that the assertion does not occur when no traffic data is applied and we use the plain Lua profile data.
The text was updated successfully, but these errors were encountered: