Details
-
Bug
-
Resolution: Fixed
-
Critical
-
5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 6.0.0, 6.0.1, 6.5.0
-
Triaged
-
No
Description
See CBSE-6444.
We should not throw in CoreStore.get().
- We should never throw in a noexcept function, and CoreStore.get() is called from delete (noexcept on linux)
- If we attempt to allocate memory for an exception because a core is out of range, then we will call new which will call CoreStore.get() again and so on, resulting in a stack overflow.
Fix this by doing some modulo of the initially created array. This will ensure we can deal with increasing or decreasing core counts.