You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm seeing strange behaviour of range() called on empty containers of type tbb::concurrent_map() and tbb::concurrent_unordered_map leading to crashes or infinite loops. Is that expected?
In the following minimal working example an assert is triggered in Debug mode and an infinite loop occurs in Release:
Assertion bucket != 0 failed (located in the get_parent function, line in file: 1445)
Detailed description: Unable to get_parent of the bucket 0
If I uncomment the line map[1] = 2;, it runs fine. If I switch to tbb::concurrent_map, I get a segfault somewhere in _concurrent_skip_list.h.
This is on macOS 10.15 (Catalina) with TBB 2021.4.0 from Homebrew. Same behaviour with Apple clang version 12.0.0 from XCode or clang 13 from Homebrew.
The text was updated successfully, but these errors were encountered:
Thank you for reporting the issue! It seems like the oneTBB C++11 implementation of both ordered and unordered containers contains an issue in case of empty ranges. We will work on this issue and provide the solution in one of the future oneTBB releases. Thank you once again.
Ranges can be empty, right?
I'm seeing strange behaviour of
range()
called on empty containers of typetbb::concurrent_map()
andtbb::concurrent_unordered_map
leading to crashes or infinite loops. Is that expected?In the following minimal working example an assert is triggered in Debug mode and an infinite loop occurs in Release:
Assert:
If I uncomment the line
map[1] = 2;
, it runs fine. If I switch totbb::concurrent_map
, I get a segfault somewhere in_concurrent_skip_list.h
.This is on macOS 10.15 (Catalina) with TBB
2021.4.0
from Homebrew. Same behaviour with Apple clang version 12.0.0 from XCode or clang 13 from Homebrew.The text was updated successfully, but these errors were encountered: