Description
The following are list of tsan detected data races
The following happened in threadsupport package (which we should note as false positive, given we don't want to change these third party libraries.
WARNING: ThreadSanitizer: data race (pid=714)
Write of size 4 at 0x559b36f693d4 by thread T4 (mutexes: write M53):
#0 test_thread(void*) ../lib/acl_threadsupport/test/acl_threadsupport_test.cpp:105 (acl_threadsupport_test+0xa490)
Previous read of size 4 at 0x559b36f693d4 by main thread:
#0 threadsupport_threads_Test::testBody() ../lib/acl_threadsupport/test/acl_threadsupport_test.cpp:128 (acl_threadsupport_test+0xaac8)
#1 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_threadsupport_test+0x1d278)
#2 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_threadsupport_test+0x1aa94)
#3 threadsupport_threads_Test::runInThreadOnCopy() <null> (acl_threadsupport_test+0x108ef)
#4 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_threadsupport_test+0x1d7aa)
#5 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_threadsupport_test+0x1a9e7)
#6 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_threadsupport_test+0x1a8f6)
#7 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_threadsupport_test+0x1d4ba)
#8 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_threadsupport_test+0x1a873)
#9 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_threadsupport_test+0x19c4d)
#10 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_threadsupport_test+0x133ac)
#11 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_threadsupport_test+0x1354d)
#12 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_threadsupport_test+0x1367d)
#13 main ../lib/acl_threadsupport/test/acl_test.cpp:14 (acl_threadsupport_test+0x8c0b)
Location is global 'threadtest_state' of size 4 at 0x559b36f693d4 (acl_threadsupport_test+0x00000002f3d4)
Mutex M53 (0x559b36f693e0) created at:
#0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
#1 acl_mutex_init ../lib/acl_threadsupport/src/acl_threadsupport.c:97 (acl_threadsupport_test+0x120ec)
#2 threadsupport_threads_Test::testBody() ../lib/acl_threadsupport/test/acl_threadsupport_test.cpp:115 (acl_threadsupport_test+0xa529)
#3 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_threadsupport_test+0x1d278)
#4 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_threadsupport_test+0x1aa94)
#5 threadsupport_threads_Test::runInThreadOnCopy() <null> (acl_threadsupport_test+0x108ef)
#6 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_threadsupport_test+0x1d7aa)
#7 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_threadsupport_test+0x1a9e7)
#8 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_threadsupport_test+0x1a8f6)
#9 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_threadsupport_test+0x1d4ba)
#10 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_threadsupport_test+0x1a873)
#11 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_threadsupport_test+0x19c4d)
#12 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_threadsupport_test+0x133ac)
#13 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_threadsupport_test+0x1354d)
#14 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_threadsupport_test+0x1367d)
#15 main ../lib/acl_threadsupport/test/acl_test.cpp:14 (acl_threadsupport_test+0x8c0b)
Thread T4 (tid=719, running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
#1 acl_thread_create ../lib/acl_threadsupport/src/acl_threadsupport.c:50 (acl_threadsupport_test+0x11ed9)
#2 threadsupport_threads_Test::testBody() ../lib/acl_threadsupport/test/acl_threadsupport_test.cpp:121 (acl_threadsupport_test+0xa781)
#3 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_threadsupport_test+0x1d278)
#4 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_threadsupport_test+0x1aa94)
#5 threadsupport_threads_Test::runInThreadOnCopy() <null> (acl_threadsupport_test+0x108ef)
#6 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_threadsupport_test+0x1d7aa)
#7 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_threadsupport_test+0x1a9e7)
#8 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_threadsupport_test+0x1a8f6)
#9 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_threadsupport_test+0x1d4ba)
#10 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_threadsupport_test+0x1a873)
#11 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_threadsupport_test+0x19c4d)
#12 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_threadsupport_test+0x133ac)
#13 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_threadsupport_test+0x1354d)
#14 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_threadsupport_test+0x1367d)
#15 main ../lib/acl_threadsupport/test/acl_test.cpp:14 (acl_threadsupport_test+0x8c0b)
SUMMARY: ThreadSanitizer: data race ../lib/acl_threadsupport/test/acl_threadsupport_test.cpp:105 in test_thread(void*)
The following are found in our source code which is what we should care about
WARNING: ThreadSanitizer: heap-use-after-free (pid=737)
Read of size 4 at 0x7b3c000003d4 by main thread:
#0 acl_ref_count<_cl_command_queue*> ../include/acl_util.h:433 (acl_test+0x1263a8)
#1 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:677 (acl_test+0x1263a8)
#2 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#3 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#4 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#5 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#6 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#7 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#8 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#9 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#10 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#11 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#12 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#13 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#14 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Previous write of size 8 at 0x7b3c000003d0 by main thread (mutexes: write M44):
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 acl_delete<_cl_command_queue> ../include/acl_support.h:31 (acl_test+0x49040)
#2 acl_free_cl_command_queue ../src/acl_command_queue.cpp:99 (acl_test+0x49040)
#3 acl_delete_command_queue ../src/acl_command_queue.cpp:1005 (acl_test+0x49316)
#4 clReleaseCommandQueueIntelFPGA ../src/acl_command_queue.cpp:288 (acl_test+0x4a755)
#5 clReleaseCommandQueue ../src/acl_command_queue.cpp:297 (acl_test+0x4a7ad)
#6 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:675 (acl_test+0x126192)
#7 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#8 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#9 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#10 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#11 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#12 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#13 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#14 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#15 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#16 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#17 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#18 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#19 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Mutex M44 (0x55817c8c2100) created at:
#0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
#1 acl_init_condvar ../lib/acl_threadsupport/src/acl_threadsupport.c:330 (acl_test+0x54382e)
#2 l_global_lock_init ../src/acl_thread.cpp:102 (acl_test+0x102eda)
#3 __libc_csu_init <null> (acl_test+0x556acc)
SUMMARY: ThreadSanitizer: heap-use-after-free ../include/acl_util.h:433 in acl_ref_count<_cl_command_queue*>
==================
==================
WARNING: ThreadSanitizer: heap-use-after-free (pid=737)
Read of size 4 at 0x7b3c000002e4 by main thread:
#0 acl_ref_count<_cl_command_queue*> ../include/acl_util.h:433 (acl_test+0x1264c3)
#1 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:678 (acl_test+0x1264c3)
#2 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#3 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#4 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#5 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#6 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#7 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#8 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#9 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#10 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#11 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#12 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#13 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#14 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Previous write of size 8 at 0x7b3c000002e0 by main thread (mutexes: write M44):
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 acl_delete<_cl_command_queue> ../include/acl_support.h:31 (acl_test+0x49040)
#2 acl_free_cl_command_queue ../src/acl_command_queue.cpp:99 (acl_test+0x49040)
#3 acl_delete_command_queue ../src/acl_command_queue.cpp:1005 (acl_test+0x49316)
#4 clReleaseCommandQueueIntelFPGA ../src/acl_command_queue.cpp:288 (acl_test+0x4a755)
#5 clReleaseCommandQueue ../src/acl_command_queue.cpp:297 (acl_test+0x4a7ad)
#6 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:676 (acl_test+0x12629d)
#7 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#8 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#9 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#10 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#11 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#12 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#13 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#14 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#15 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#16 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#17 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#18 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#19 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Mutex M44 (0x55817c8c2100) created at:
#0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
#1 acl_init_condvar ../lib/acl_threadsupport/src/acl_threadsupport.c:330 (acl_test+0x54382e)
#2 l_global_lock_init ../src/acl_thread.cpp:102 (acl_test+0x102eda)
#3 __libc_csu_init <null> (acl_test+0x556acc)
SUMMARY: ThreadSanitizer: heap-use-after-free ../include/acl_util.h:433 in acl_ref_count<_cl_command_queue*>
==================
==================
WARNING: ThreadSanitizer: heap-use-after-free (pid=737)
Read of size 8 at 0x7b3c000003c8 by main thread (mutexes: write M44):
#0 int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&) ../include/acl_util.h:417 (acl_test+0x4a45d)
#1 acl_command_queue_is_valid(_cl_command_queue*) ../src/acl_command_queue.cpp:553 (acl_test+0x4a45d)
#2 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:680 (acl_test+0x126600)
#3 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#4 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#5 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#6 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#7 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#8 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#9 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#10 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#11 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#12 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#13 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#14 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#15 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Previous write of size 8 at 0x7b3c000003c8 by main thread (mutexes: write M44):
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 acl_delete<_cl_command_queue> ../include/acl_support.h:31 (acl_test+0x49040)
#2 acl_free_cl_command_queue ../src/acl_command_queue.cpp:99 (acl_test+0x49040)
#3 acl_delete_command_queue ../src/acl_command_queue.cpp:1005 (acl_test+0x49316)
#4 clReleaseCommandQueueIntelFPGA ../src/acl_command_queue.cpp:288 (acl_test+0x4a755)
#5 clReleaseCommandQueue ../src/acl_command_queue.cpp:297 (acl_test+0x4a7ad)
#6 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:675 (acl_test+0x126192)
#7 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#8 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#9 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#10 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#11 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#12 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#13 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#14 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#15 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#16 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#17 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#18 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#19 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Mutex M44 (0x55817c8c2100) created at:
#0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
#1 acl_init_condvar ../lib/acl_threadsupport/src/acl_threadsupport.c:330 (acl_test+0x54382e)
#2 l_global_lock_init ../src/acl_thread.cpp:102 (acl_test+0x102eda)
#3 __libc_csu_init <null> (acl_test+0x556acc)
SUMMARY: ThreadSanitizer: heap-use-after-free ../include/acl_util.h:417 in int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&)
==================
==================
WARNING: ThreadSanitizer: heap-use-after-free (pid=737)
Read of size 8 at 0x7b3c000002d8 by main thread (mutexes: write M44):
#0 int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&) ../include/acl_util.h:417 (acl_test+0x4a45d)
#1 acl_command_queue_is_valid(_cl_command_queue*) ../src/acl_command_queue.cpp:553 (acl_test+0x4a45d)
#2 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:681 (acl_test+0x12666e)
#3 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#4 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#5 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#6 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#7 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#8 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#9 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#10 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#11 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#12 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#13 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#14 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#15 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Previous write of size 8 at 0x7b3c000002d8 by main thread (mutexes: write M44):
#0 operator delete(void*) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:126 (libtsan.so.0+0x8b2c8)
#1 acl_delete<_cl_command_queue> ../include/acl_support.h:31 (acl_test+0x49040)
#2 acl_free_cl_command_queue ../src/acl_command_queue.cpp:99 (acl_test+0x49040)
#3 acl_delete_command_queue ../src/acl_command_queue.cpp:1005 (acl_test+0x49316)
#4 clReleaseCommandQueueIntelFPGA ../src/acl_command_queue.cpp:288 (acl_test+0x4a755)
#5 clReleaseCommandQueue ../src/acl_command_queue.cpp:297 (acl_test+0x4a7ad)
#6 acl_command_queue_after_context_release_Test::testBody() ../test/acl_command_queue_test.cpp:676 (acl_test+0x12629d)
#7 Utest::executePlatformSpecificTestBody() ../lib/CppUTest/src/UtestPlatformGcc.cpp:82 (acl_test+0x54e3b4)
#8 Utest::runInThread() ../lib/CppUTest/src/Utest.cpp:99 (acl_test+0x54bbd0)
#9 acl_command_queue_after_context_release_Test::runInThreadOnCopy() ../test/acl_command_queue_test.cpp:622 (acl_test+0x13c1c0)
#10 Utest::executePlatformSpecificRunInThreads() ../lib/CppUTest/src/UtestPlatformGcc.cpp:175 (acl_test+0x54e8e6)
#11 Utest::run(TestResult&) ../lib/CppUTest/src/Utest.cpp:83 (acl_test+0x54bb23)
#12 Utest::runOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:69 (acl_test+0x54ba32)
#13 Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) ../lib/CppUTest/src/UtestPlatformGcc.cpp:100 (acl_test+0x54e5f6)
#14 Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) ../lib/CppUTest/src/Utest.cpp:63 (acl_test+0x54b9af)
#15 TestRegistry::runAllTests(TestResult&) ../lib/CppUTest/src/TestRegistry.cpp:72 (acl_test+0x54ad89)
#16 CommandLineTestRunner::runAllTests() ../lib/CppUTest/src/CommandLineTestRunner.cpp:105 (acl_test+0x5444e8)
#17 CommandLineTestRunner::runAllTestsMain() ../lib/CppUTest/src/CommandLineTestRunner.cpp:81 (acl_test+0x544689)
#18 CommandLineTestRunner::RunAllTests(int, char const**) ../lib/CppUTest/src/CommandLineTestRunner.cpp:63 (acl_test+0x5447b9)
#19 main ../test/acl_test.cpp:90 (acl_test+0x4b3f45)
Mutex M44 (0x55817c8c2100) created at:
#0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
#1 acl_init_condvar ../lib/acl_threadsupport/src/acl_threadsupport.c:330 (acl_test+0x54382e)
#2 l_global_lock_init ../src/acl_thread.cpp:102 (acl_test+0x102eda)
#3 __libc_csu_init <null> (acl_test+0x556acc)
SUMMARY: ThreadSanitizer: heap-use-after-free ../include/acl_util.h:417 in int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&)
==================