oneTBB: Debug assertion fails during static linking of onetbb 2021.6.0, but does not on 2021.3.0
Hi there,
i am trying to get an onetbb conan package update through. The ci-testing system ensures working different configurations and environments. As far as i can the the problem is not restricted to specific compiler versions and i was able to reproduce this assert fail on different gcc and clang versions. https://github.com/conan-io/conan-center-index/pull/13116
As far as i can see the problematic behavior gets triggered by the Debug mode (assuming that Release just disables the assertions and potentially hides the problem) in combination the shared=False option going for an static linkage.
maybe related to, since this is only triggered in shared=False and build_type=Debug sitatuion: https://github.com/oneapi-src/oneTBB/issues/297
The specific output as gathered from conan ci is: https://github.com/conan-io/conan-center-index/pull/13116#issuecomment-1259306027 The interesting part is:
Assertion node(val).my_prev_node == &node(val) && node(val).my_next_node == &node(val) failed (located in the push_front function, line in file: 135)
Detailed description: Object with intrusive list node can be part of only one intrusive list simultaneously
Does someone lighten me up here how to cope with such static linkage Debug asserts problems?Is this indicating a bigger issue? Is the old version just working because of missing assert statements, or is there in the meantime really something problematic introduced?
steps to reproduce:
git clone --branch onetbb/2021.6.0 https://github.com/cguentherTUChemnitz/conan-center-index.git
cd conan-center-index/recipes/onetbb/all
docker run --rm -it -v$(pwd):/home/conan/project conanio/gcc11 /bin/bash -c "cd project && conan create . onetbb/2021.6.0@ -pr:b=default -pr:h=default -o onetbb:shared=False -s build_type=Debug"
or when conan is present locally, you can also leave the docker wrapper out with (from the onetbb/all working dir):
conan create . onetbb/2021.6.0@ -pr:b=default -pr:h=default -o onetbb:shared=False -s build_type=Debug
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 3
- Comments: 17 (5 by maintainers)
Commits related to this issue
- avoid running the built test executable for debug+static build to avoid assertion error https://github.com/oneapi-src/oneTBB/issues/920 — committed to kambala-decapitator/conan-center-index by kambala-decapitator 2 years ago
- avoid running the built test executable for debug+static build to avoid assertion error https://github.com/oneapi-src/oneTBB/issues/920 — committed to kambala-decapitator/conan-center-index by kambala-decapitator 2 years ago
- avoid running the built test executable for debug+static build to avoid assertion error https://github.com/oneapi-src/oneTBB/issues/920 — committed to kambala-decapitator/conan-center-index by kambala-decapitator 2 years ago
Same issue here using a static build. It immediately asserts on startup when registering a task observer:
here’s the Getting Started example as CMake project for testing: https://github.com/kambala-decapitator/onetbb-assert-debug-static