Skip to content

Fix bit-shift overflow in MLD partition step for Windows builds#5878

Merged
akashihi merged 1 commit intoProject-OSRM:masterfrom
mjjbell:mbell/fix_windows_partition
Nov 9, 2020
Merged

Fix bit-shift overflow in MLD partition step for Windows builds#5878
akashihi merged 1 commit intoProject-OSRM:masterfrom
mjjbell:mbell/fix_windows_partition

Conversation

@mjjbell
Copy link
Copy Markdown
Member

@mjjbell mjjbell commented Nov 7, 2020

Issue

For very large graphs, generation of MLD level masks fail on Windows due to bit shift overflow of unsigned long values. Correct by using unsigned long long literals, which are 64 bit on all major systems.

Difficult to add a test case given the size of graph required. The existing asserts should detect any future overflow issues.

Fixes #5872
Fixes #5227

Tasklist

@mjjbell mjjbell force-pushed the mbell/fix_windows_partition branch 2 times, most recently from 79f7370 to 95d3e4c Compare November 7, 2020 22:43
For very large graphs, generation of MLD level masks fail on Windows
due to bit shift overflow of unsigned long values.

Correct by using unsigned long long literals, which are 64 bit on
all major systems.
@mjjbell mjjbell force-pushed the mbell/fix_windows_partition branch from 95d3e4c to b840c0b Compare November 8, 2020 03:51
@akashihi akashihi merged commit 21444ce into Project-OSRM:master Nov 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[windows | example.cpp] MLD route algorithm always returns no path while CH returns path Could not find any metrics for MLD in the data.

2 participants