-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debug assertion fails during static linking of onetbb 2021.6.0, but does not on 2021.3.0 #920
Comments
happens when building without Conan as well. Info from lldb:
|
@kambala-decapitator how were you able to trigger it? When i compile onetbb from source in debug and static mode, i am able to run ctest with all tests without an error. So i am very curious, why this happens like in every setup of the conan tests instead. I am at the moment not able to trigger the problem here on onetbb direct compilation without conan. Can you provide steps to reproduce? |
I compiled tbb manually and then used it when building Conan's example in raw cmake invocation. btw the above stack trace is from the official Getting Started example. |
Ok in my eyes is then the interesting part here, why this fail is not part of just running cmake build and ctest in debug and static setup. So either we have discovered a problem, that should als be part of the onetbb test setup, or we do still some unintended usage with our cmake test_package project with or without conan. |
here's the Getting Started example as CMake project for testing: https://github.com/kambala-decapitator/onetbb-assert-debug-static |
Same issue here using a static build. It immediately asserts on startup when registering a task observer:
|
Same issue |
Hi @cguentherTUChemnitz, can you observe the same problem with latest release or manual build of master branch? |
This still occurs in release v2021.9.0 |
@dirkvdb Could you please check it with current master? |
Current master also still has the issue |
It reports the same stack? (Should be different) |
The stack is indeed different, it no longer asserts immediately at startup, it asserts when the parallel_for_each gets executed.
|
How is this even possible "Object with intrusive list node can be part of only one intrusive list simultaneously"? |
One parallel for loop is started. I will try to make a simple reproducer. |
I had difficulties reproducing the behavior in a simple test program until I started playing with the linker options. |
That's really strange! Do you think we can use this approach as a solution for this issue? |
@cguentherTUChemnitz is this issue still relevant? |
If anyone encounter this issue in the future please open new issue with a link to this one |
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.
conan-io/conan-center-index#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:
#297
The specific output as gathered from conan ci is:
conan-io/conan-center-index#13116 (comment)
The interesting part is:
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:
or when conan is present locally, you can also leave the docker wrapper out with (from the onetbb/all working dir):
The text was updated successfully, but these errors were encountered: