Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

core dump on Assertion failure

Lucan_C_
Novice
698 Views

Hi,

I saw a core dump due to such assertion failure. I start having this failure after integrate some third party libraries into my system. I suspect that third-party library is using some native thread. But still it does not make sense to crash tbb.

I'm using Tbb on fedora20 x86-64.

Assertion block->checkFreePrecond(object) failed on line 2396 of file ../../src/tbbmalloc/frontend.cpp
Detailed description: Possible double free or heap corruption.

My question is: what does this failure mean?

 

0 Kudos
1 Solution
Lucan_C_
Novice
698 Views

@Vladimir, @Alexandr, Thanks for your suggestions.

I'm able to track down the problem. It's not related to tbb, though the runtime reported error on tbb assertion. Other libraries cause this problem.

View solution in original post

5 Replies
Vladimir_P_Intel2
698 Views

Hello Lucan,

Do you have a backtrace to understand where this second scalable_free() is called from?

--Vladimir

Vladimir_P_Intel2
698 Views

This might be related to this forum thread https://software.intel.com/en-us/forums/topic/520693.

--Vladimir

Lucan_C_
Novice
698 Views

Hi Vladimir,

Thanks for the suggestion.

Here's my super simple example which's having this assertion failure.

#include <iostream>

#include "tbb/task_scheduler_init.h"

int main() {
  tbb::task_scheduler_init t;

  	std::cout << "Hello World!!!" << std::endl;
  	return 0;
}

build script:

g++ src/*.cc -g -pthread -L"tbb43_20140724oss/lib/intel64/gcc4.4/" -L"aap/lib/" -ltbb_debug -ltbbmalloc_debug -ltbbmalloc_proxy_debug -laapapi1 -laapapi2 -I"tbb43_20140724oss/include/" -o execute

Note:

aap is my third-party library, I linked with aapapi1 and aapapi2. In the example, I only initialize tbb and did not even use aap.

backtrace:(please see attached file, if I paste the bt here, my submission will trigger the system spam filter. I uploaded a screenshot)

Vladimir Polin (Intel) wrote:

This might be related to this forum thread https://software.intel.com/en-us/forums/topic/520693.

--Vladimir

Alexandr_K_Intel1
698 Views
Lucan, Could you try build your small reproducer without -ltbbmalloc_debug and -ltbbmalloc_proxy_debug? And than run resulted executable (do not dependent on libtbbmalloc_debug) under tool like Valgrind to check double-free presence?
Lucan_C_
Novice
699 Views

@Vladimir, @Alexandr, Thanks for your suggestions.

I'm able to track down the problem. It's not related to tbb, though the runtime reported error on tbb assertion. Other libraries cause this problem.

Reply