Skip to content

Conversation

@m-anthony
Copy link
Contributor

The fix for using -Daffinity.reserved with more than 64 core (#68) has an issue : to compute the bitset representing that mask, it uses under the hood Long.parseLong(substring, 16) where substring is at most 16 hexadecimal digits. Unfortunately, if the highest bit is set (so if core 63 is selected in the mask), it will cause a NumberFormatException because there is an overflow (because Java types are all signed).

This PR fixes that by splitting the parsing into 2 ints and combining them into a long

@JerryShea
Copy link
Contributor

Thanks @m-anthony - could I suggest you add a test that would have failed with the old behaviour?

@JerryShea JerryShea changed the base branch from ea to develop June 21, 2023 05:34
@JerryShea
Copy link
Contributor

Hi @m-anthony this sounds useful. Could you add a test that would have failed with the old behaviour?

@peter-lawrey-admin
Copy link
Contributor

Used Long.parseUnsignedLong instead.
Thank you for picking up on the issue

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.

4 participants