Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Crash on deallocation

vbudovski
Beginner
114 Views
Hi,

I'm having a rather strange issue with sometimes difficult to reproduce crashes.
I make use of tbb::concurrent_vector and make one parallel_for call. The rest of the accesses are done serially.
I've tried it with both scalable and cache aligned allocators with similar results.

I'm using tbb version 3.0+r147 as available in debian/ubuntu releases.

Any ideas?

Please see attached backtrace bellow:

0x00007ffff743996d in rml::internal::getBackRef (backRefIdx=...) at ../../src/tbbmalloc/backref.cpp:155
155 + sizeof(BackRefBlock)+backRefIdx.getOffset()*sizeof(void*));
(gdb) bt
#0 0x00007ffff743996d in rml::internal::getBackRef (backRefIdx=...) at ../../src/tbbmalloc/backref.cpp:155
#1 0x00007ffff7437fd0 in isLargeObject (object=0x7fffe6d79100) at ../../src/tbbmalloc/frontend.cpp:1577
#2 rml::internal::isLargeObject (object=0x7fffe6d79100) at ../../src/tbbmalloc/frontend.cpp:1570
#3 0x00007ffff7438073 in rml::internal::internalFree (object=0x7fffe6d79100) at ../../src/tbbmalloc/frontend.cpp:1724
#4 0x0000000000427242 in tbb::scalable_allocator<:GRIB2::MESSAGE>::deallocate (this=0x7fffffffdb40, p=0x7fffe6d79100) at /usr/include/tbb/scalable_allocator.h:146
#5 0x0000000000423f0c in tbb::concurrent_vector<:GRIB2::MESSAGE> >::internal_free_segments (this=0x7fffffffdb40, table=0x7ffff7fb3c00, k=9, first_block=1)
at /usr/include/tbb/concurrent_vector.h:927
#6 0x0000000000421348 in tbb::concurrent_vector<:GRIB2::MESSAGE> >::~concurrent_vector (this=0x7fffffffdb40, __in_chrg=) at /usr/include/tbb/concurrent_vector.h:823
#7 0x000000000041f880 in meteor::grib2::grib2::~grib2 (this=0x7fffffffdb40, __in_chrg=) at ../../lib/meteor/include/meteor/grib2/grib2.hpp:45
#8 0x0000000000412918 in main (argc=7, argv=0x7fffffffe048) at main.cpp:224
0 Kudos
3 Replies
Alexandr_K_Intel1
114 Views

It was a race is situation similar to your, I hope it was fixed. Could you please try fresh TBB, preferrably 4.0 u3 from http://threadingbuildingblocks.org/file.php?fid=78?

vbudovski
Beginner
114 Views
Upgrading seems to have solved the issue. Do you know which release this bug was fixed in?

Edit: Something is still not quite right, will keep looking.
vbudovski
Beginner
114 Views
Seem like I had a bug where not enough memory was allocated for output; which in combination with multiple threads produced some rather bizarre issues. TBB seems to be fine. Sorry for the noise.
Reply