Skip to content

Pass runtime tests with address sanitizer #120

@pcolberg

Description

@pcolberg

From Ubuntu 22.04 debug build with address sanitizer:

TEST(from_source, offline_mode_build_failure)=================================================================
==706==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdc71f1300 at pc 0x55812c50b4c3 bp 0x7ffdc71f0ab0 sp 0x7ffdc71f0aa0
READ of size 8 at 0x7ffdc71f1300 thread T0
    #0 0x55812c50b4c2 in clGetProgramInfoIntelFPGA /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_program.cpp:871
    #1 0x55812c50e5ab in clGetProgramInfo /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_program.cpp:1015
    #2 0x55812ccac8c8 in from_source_offline_mode_build_failure_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_program_test.cpp:1151
    #3 0x55812ce2e6e9 in Utest::executePlatformSpecificTestBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:82
    #4 0x55812ce2a74d in Utest::runInThread() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:99
    #5 0x55812ccda3c3 in from_source_offline_mode_build_failure_Test::runInThreadOnCopy() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_program_test.cpp:1117
    #6 0x55812ce2eab2 in Utest::executePlatformSpecificRunInThreads() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:175
    #7 0x55812ce2a685 in Utest::run(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:83
    #8 0x55812ce2a56f in Utest::runOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:69
    #9 0x55812ce2e83b in Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:100
    #10 0x55812ce2a4d1 in Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:63
    #11 0x55812ce2864d in TestRegistry::runAllTests(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/TestRegistry.cpp:72
    #12 0x55812ce1e1c1 in CommandLineTestRunner::runAllTests() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:105
    #13 0x55812ce1e57b in CommandLineTestRunner::runAllTestsMain() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:81
    #14 0x55812ce1e7ef in CommandLineTestRunner::RunAllTests(int, char const**) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:63
    #15 0x55812cdde9f3 in main /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_test.cpp:90
    #16 0x7f60eab05d8f  (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
    #17 0x7f60eab05e3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f)
    #18 0x55812c2a3224 in _start (/__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/build/test/acl_test+0x9c224)

Address 0x7ffdc71f1300 is located in stack of thread T0 at offset 48 in frame
    #0 0x55812ccaacb9 in from_source_offline_mode_build_failure_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_program_test.cpp:1117

  This frame has 38 object(s):
    [48, 49) 'bins' (line 1146) <== Memory access at offset 48 partially overflows this variable
    [64, 72) '<unknown>'
    [96, 104) '<unknown>'
    [128, 136) '<unknown>'
    [160, 168) '<unknown>'
    [192, 200) 'size_ret' (line 1136)
    [224, 232) '<unknown>'
    [256, 264) '<unknown>'
    [288, 296) '<unknown>'
    [320, 328) '<unknown>'
    [352, 360) '<unknown>'
    [384, 392) '<unknown>'
    [416, 424) '<unknown>'
    [448, 456) '<unknown>'
    [480, 488) '<unknown>'
    [512, 520) '<unknown>'
    [544, 552) '<unknown>'
    [576, 584) '<unknown>'
    [608, 616) '<unknown>'
    [640, 648) '<unknown>'
    [672, 680) '<unknown>'
    [704, 712) '<unknown>'
    [736, 744) '<unknown>'
    [768, 776) '<unknown>'
    [800, 808) '<unknown>'
    [832, 840) '<unknown>'
    [864, 904) '_f' (line 1127)
    [944, 984) '_f' (line 1131)
    [1024, 1064) '_f' (line 1137)
    [1104, 1144) '_f' (line 1139)
    [1184, 1224) '_f' (line 1141)
    [1264, 1304) '_f' (line 1143)
    [1344, 1384) '_f' (line 1148)
    [1424, 1464) '_f' (line 1150)
    [1504, 1544) '_f' (line 1151)
    [1584, 1624) '_f' (line 1154)
    [1664, 1704) '_f' (line 1156)
    [1744, 1784) '_f' (line 1158)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_program.cpp:871 in clGetProgramInfoIntelFPGA
Shadow bytes around the buggy address:
  0x100038e36210: 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00
  0x100038e36220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100038e36230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100038e36240: 00 00 00 00 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00
  0x100038e36250: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1
=>0x100038e36260:[01]f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e36270: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e36280: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e36290: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e362a0: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e362b0: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
CreateBuffer
CreateBuffer Finished:  62300003b900
CreateBuffer
CreateBuffer Finished:  62300003d500
 - 110 ms
TEST(acl_kernel, set_kernel_arg)=================================================================
==706==ERROR: AddressSanitizer: unknown-crash on address 0x7ffdc71efe80 at pc 0x55812c37256d bp 0x7ffdc71ef620 sp 0x7ffdc71ef610
READ of size 8 at 0x7ffdc71efe80 thread T0
    #0 0x55812c37256c in clSetKernelArgIntelFPGA /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_kernel.cpp:353
    #1 0x55812c3761b3 in clSetKernelArg /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_kernel.cpp:732
    #2 0x55812c9c28cd in acl_kernel_set_kernel_arg_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_kernel_test.cpp:932
    #3 0x55812ce2e6e9 in Utest::executePlatformSpecificTestBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:82
    #4 0x55812ce2a74d in Utest::runInThread() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:99
    #5 0x55812cacfdb6 in acl_kernel_set_kernel_arg_Test::runInThreadOnCopy() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_kernel_test.cpp:864
    #6 0x55812ce2eab2 in Utest::executePlatformSpecificRunInThreads() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:175
    #7 0x55812ce2a685 in Utest::run(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:83
    #8 0x55812ce2a56f in Utest::runOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:69
    #9 0x55812ce2e83b in Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:100
    #10 0x55812ce2a4d1 in Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:63
    #11 0x55812ce2864d in TestRegistry::runAllTests(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/TestRegistry.cpp:72
    #12 0x55812ce1e1c1 in CommandLineTestRunner::runAllTests() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:105
    #13 0x55812ce1e57b in CommandLineTestRunner::runAllTestsMain() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:81
    #14 0x55812ce1e7ef in CommandLineTestRunner::RunAllTests(int, char const**) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:63
    #15 0x55812cdde9f3 in main /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_test.cpp:90
    #16 0x7f60eab05d8f  (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
    #17 0x7f60eab05e3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f)
    #18 0x55812c2a3224 in _start (/__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/build/test/acl_test+0x9c224)

Address 0x7ffdc71efe80 is located in stack of thread T0 at offset 64 in frame
    #0 0x55812c9be80b in acl_kernel_set_kernel_arg_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_kernel_test.cpp:864

  This frame has 149 object(s):
    [48, 52) 'status' (line 866)
    [64, 68) 'int_arg' (line 906) <== Memory access at offset 64 partially overflows this variable
    [80, 88) '<unknown>'
    [112, 120) '<unknown>'
    [144, 152) 'src_mem' (line 872)
    [176, 184) '<unknown>'
    [208, 216) '<unknown>'
    [240, 248) 'dest_mem' (line 875)
    [272, 280) '<unknown>'
    [304, 312) '<unknown>'
    [336, 344) 'pipe' (line 880)
    [368, 376) '<unknown>'
    [400, 408) '<unknown>'
    [432, 440) 'image_format' (line 884)
    [464, 472) 'image' (line 887)
    [496, 504) '<unknown>'
    [528, 536) '<unknown>'
    [560, 568) '<unknown>'
    [592, 600) '<unknown>'
    [624, 632) '<unknown>'
    [656, 664) '<unknown>'
    [688, 696) '<unknown>'
    [720, 728) '<unknown>'
    [752, 760) '<unknown>'
    [784, 792) '<unknown>'
    [816, 824) '<unknown>'
    [848, 856) '<unknown>'
    [880, 888) '<unknown>'
    [912, 920) '<unknown>'
    [944, 952) '<unknown>'
    [976, 984) '<unknown>'
    [1008, 1016) '<unknown>'
    [1040, 1048) '<unknown>'
    [1072, 1080) '<unknown>'
    [1104, 1112) '<unknown>'
    [1136, 1144) '<unknown>'
    [1168, 1176) '<unknown>'
    [1200, 1208) '<unknown>'
    [1232, 1240) '<unknown>'
    [1264, 1272) '<unknown>'
    [1296, 1304) '<unknown>'
    [1328, 1336) '<unknown>'
    [1360, 1368) '<unknown>'
    [1392, 1400) '<unknown>'
    [1424, 1432) '<unknown>'
    [1456, 1464) 'host_mem' (line 941)
    [1488, 1496) '<unknown>'
    [1520, 1528) '<unknown>'
    [1552, 1560) '<unknown>'
    [1584, 1592) '<unknown>'
    [1616, 1624) '<unknown>'
    [1648, 1656) '<unknown>'
    [1680, 1688) '<unknown>'
    [1712, 1720) '<unknown>'
    [1744, 1752) '<unknown>'
    [1776, 1784) '<unknown>'
    [1808, 1816) 'host_use_mem' (line 952)
    [1840, 1848) '<unknown>'
    [1872, 1880) '<unknown>'
    [1904, 1912) '<unknown>'
    [1936, 1944) '<unknown>'
    [1968, 1976) '<unknown>'
    [2000, 2008) '<unknown>'
    [2032, 2040) '<unknown>'
    [2064, 2072) '<unknown>'
    [2096, 2104) '<unknown>'
    [2128, 2136) '<unknown>'
    [2160, 2168) '<unknown>'
    [2192, 2200) '<unknown>'
    [2224, 2232) '<unknown>'
    [2256, 2264) '<unknown>'
    [2288, 2296) '<unknown>'
    [2320, 2328) '<unknown>'
    [2352, 2360) 'null_mem' (line 973)
    [2384, 2392) '<unknown>'
    [2416, 2424) '<unknown>'
    [2448, 2456) '<unknown>'
    [2480, 2488) '<unknown>'
    [2512, 2520) '<unknown>'
    [2544, 2552) '<unknown>'
    [2576, 2584) '<unknown>'
    [2608, 2616) '<unknown>'
    [2640, 2648) '<unknown>'
    [2672, 2680) '<unknown>'
    [2704, 2712) '<unknown>'
    [2736, 2744) '<unknown>'
    [2768, 2776) '<unknown>'
    [2800, 2808) '<unknown>'
    [2832, 2840) '<unknown>'
    [2864, 2872) '<unknown>'
    [2896, 2904) '<unknown>'
    [2928, 2936) '<unknown>'
    [2960, 2968) '<unknown>'
    [2992, 3000) '<unknown>'
    [3024, 3032) '<unknown>'
    [3056, 3064) '<unknown>'
    [3088, 3096) '<unknown>'
    [3120, 3128) '<unknown>'
    [3152, 3160) '<unknown>'
    [3184, 3192) '<unknown>'
    [3216, 3224) '<unknown>'
    [3248, 3256) '<unknown>'
    [3280, 3320) '_f' (line 869)
    [3360, 3400) '_f' (line 873)
    [3440, 3480) '_f' (line 877)
    [3520, 3560) '_f' (line 882)
    [3600, 3640) '_f' (line 889)
    [3680, 3720) '_f' (line 894)
    [3760, 3800) '_f' (line 898)
    [3840, 3880) '_f' (line 899)
    [3920, 3960) '_f' (line 903)
    [4000, 4040) '_f' (line 907)
    [4080, 4120) '_f' (line 909)
    [4160, 4200) '_f' (line 917)
    [4240, 4280) '_f' (line 919)
    [4320, 4360) '_f' (line 922)
    [4400, 4440) '_f' (line 925)
    [4480, 4520) '_f' (line 928)
    [4560, 4600) '_f' (line 932)
    [4640, 4680) '_f' (line 934)
    [4720, 4760) '_f' (line 936)
    [4800, 4840) '_f' (line 943)
    [4880, 4920) '_f' (line 944)
    [4960, 5000) '_f' (line 946)
    [5040, 5080) '_f' (line 947)
    [5120, 5160) '_f' (line 948)
    [5200, 5240) '_f' (line 955)
    [5280, 5320) '_f' (line 956)
    [5360, 5400) '_f' (line 959)
    [5440, 5480) '_f' (line 960)
    [5520, 5560) '_f' (line 961)
    [5600, 5640) '_f' (line 965)
    [5680, 5720) '_f' (line 970)
    [5760, 5800) '_f' (line 971)
    [5840, 5880) '_f' (line 974)
    [5920, 5960) '_f' (line 977)
    [6000, 6040) '_f' (line 979)
    [6080, 6120) '_f' (line 982)
    [6160, 6200) '_f' (line 984)
    [6240, 6280) '_f' (line 985)
    [6320, 6360) '_f' (line 988)
    [6400, 6440) '_f' (line 989)
    [6480, 6520) '_f' (line 991)
    [6560, 6600) '_f' (line 995)
    [6640, 6680) '_f' (line 1006)
    [6720, 6760) '_f' (line 1009)
    [6800, 6840) '_f' (line 1014)
    [6880, 6920) '_f' (line 1023)
    [6960, 7032) 'image_desc' (line 885)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: unknown-crash /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_kernel.cpp:353 in clSetKernelArgIntelFPGA
Shadow bytes around the buggy address:
  0x100038e35f80: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e35f90: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e35fa0: f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2
  0x100038e35fb0: f2 f2 00 f2 f2 f2 00 f3 f3 f3 00 00 00 00 00 00
  0x100038e35fc0: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 04 f2
=>0x100038e35fd0:[04]00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
  0x100038e35fe0: 00 00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
  0x100038e35ff0: 00 00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
  0x100038e36000: 00 00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
  0x100038e36010: 00 00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
  0x100038e36020: 00 00 00 f2 00 00 00 f2 00 00 00 f2 00 00 00 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
CreateBuffer
CreateBuffer Finished:  623000caad00
CreateBuffer
CreateBuffer Finished:  623000ca9100
CreateBuffer
CreateBuffer Finished:  623000ca7500
CreateBuffer
CreateBuffer Finished:  623000ca5900
CreateBuffer
CreateBuffer Finished:  623000ca3d00
CreateBuffer
CreateBuffer Finished:  623000ca0500
CreateBuffer
CreateBuffer Finished:  623000c9e900
CreateBuffer
CreateBuffer Finished:  623000c9cd00
 - 55 ms
TEST(acl_command_queue, create_with_properties)=================================================================
==706==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdc71ef558 at pc 0x55812c2cf204 bp 0x7ffdc71ef360 sp 0x7ffdc71ef350
READ of size 8 at 0x7ffdc71ef558 thread T0
    #0 0x55812c2cf203 in int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/include/acl_util.h:417
    #1 0x55812c2cf203 in acl_command_queue_is_valid(_cl_command_queue*) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/src/acl_command_queue.cpp:553
    #2 0x55812c5aef90 in acl_command_queue_create_with_properties_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_command_queue_test.cpp:360
    #3 0x55812ce2e6e9 in Utest::executePlatformSpecificTestBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:82
    #4 0x55812ce2a74d in Utest::runInThread() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:99
    #5 0x55812c5bddc8 in acl_command_queue_create_with_properties_Test::runInThreadOnCopy() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_command_queue_test.cpp:219
    #6 0x55812ce2eab2 in Utest::executePlatformSpecificRunInThreads() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:175
    #7 0x55812ce2a685 in Utest::run(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:83
    #8 0x55812ce2a56f in Utest::runOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:69
    #9 0x55812ce2e83b in Utest::executePlatformSpecificRunOneTest(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/UtestPlatformGcc.cpp:100
    #10 0x55812ce2a4d1 in Utest::runOneTestWithPlugins(TestPlugin*, TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/Utest.cpp:63
    #11 0x55812ce2864d in TestRegistry::runAllTests(TestResult&) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/TestRegistry.cpp:72
    #12 0x55812ce1e1c1 in CommandLineTestRunner::runAllTests() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:105
    #13 0x55812ce1e57b in CommandLineTestRunner::runAllTestsMain() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:81
    #14 0x55812ce1e7ef in CommandLineTestRunner::RunAllTests(int, char const**) /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/lib/CppUTest/src/CommandLineTestRunner.cpp:63
    #15 0x55812cdde9f3 in main /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_test.cpp:90
    #16 0x7f60eab05d8f  (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
    #17 0x7f60eab05e3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f)
    #18 0x55812c2a3224 in _start (/__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/build/test/acl_test+0x9c224)

Address 0x7ffdc71ef558 is located in stack of thread T0 at offset 120 in frame
    #0 0x55812c5a94d5 in acl_command_queue_create_with_properties_Test::testBody() /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/test/acl_command_queue_test.cpp:219

  This frame has 159 object(s):
    [48, 49) '<unknown>'
    [64, 65) '<unknown>'
    [80, 81) '<unknown>'
    [96, 97) '<unknown>'
    [112, 116) 'status' (line 221)
    [128, 136) 'device' (line 226) <== Memory access at offset 120 underflows this variable
    [160, 168) '<unknown>'
    [192, 200) '<unknown>'
    [224, 232) '<unknown>'
    [256, 264) '<unknown>'
    [288, 296) '<unknown>'
    [320, 328) '<unknown>'
    [352, 360) '<unknown>'
    [384, 392) '<unknown>'
    [416, 424) '<unknown>'
    [448, 456) '<unknown>'
    [480, 488) '<unknown>'
    [512, 520) '<unknown>'
    [544, 552) '<unknown>'
    [576, 584) '<unknown>'
    [608, 616) '<unknown>'
    [640, 648) '<unknown>'
    [672, 680) '<unknown>'
    [704, 712) '<unknown>'
    [736, 744) '<unknown>'
    [768, 776) '<unknown>'
    [800, 808) '<unknown>'
    [832, 840) '<unknown>'
    [864, 872) '<unknown>'
    [896, 904) '<unknown>'
    [928, 936) '<unknown>'
    [960, 968) '<unknown>'
    [992, 1000) '<unknown>'
    [1024, 1032) '<unknown>'
    [1056, 1064) '<unknown>'
    [1088, 1096) '<unknown>'
    [1120, 1128) '<unknown>'
    [1152, 1160) '<unknown>'
    [1184, 1192) '<unknown>'
    [1216, 1224) '<unknown>'
    [1248, 1256) '<unknown>'
    [1280, 1288) '<unknown>'
    [1312, 1320) '<unknown>'
    [1344, 1352) '<unknown>'
    [1376, 1384) '<unknown>'
    [1408, 1416) '<unknown>'
    [1440, 1448) '<unknown>'
    [1472, 1480) '<unknown>'
    [1504, 1512) '<unknown>'
    [1536, 1544) '<unknown>'
    [1568, 1576) '<unknown>'
    [1600, 1608) '<unknown>'
    [1632, 1640) '<unknown>'
    [1664, 1672) '<unknown>'
    [1696, 1704) '<unknown>'
    [1728, 1736) '<unknown>'
    [1760, 1768) '<unknown>'
    [1792, 1800) '<unknown>'
    [1824, 1832) '<unknown>'
    [1856, 1864) '<unknown>'
    [1888, 1896) '<unknown>'
    [1920, 1928) '<unknown>'
    [1952, 1960) '<unknown>'
    [1984, 1992) '<unknown>'
    [2016, 2024) '<unknown>'
    [2048, 2056) '<unknown>'
    [2080, 2088) '<unknown>'
    [2112, 2120) '<unknown>'
    [2144, 2152) '<unknown>'
    [2176, 2184) '<unknown>'
    [2208, 2216) '<unknown>'
    [2240, 2248) '<unknown>'
    [2272, 2280) '<unknown>'
    [2304, 2312) '<unknown>'
    [2336, 2344) '<unknown>'
    [2368, 2376) '<unknown>'
    [2400, 2408) '<unknown>'
    [2432, 2440) '<unknown>'
    [2464, 2472) '<unknown>'
    [2496, 2504) '<unknown>'
    [2528, 2536) '<unknown>'
    [2560, 2568) '<unknown>'
    [2592, 2600) '<unknown>'
    [2624, 2632) '<unknown>'
    [2656, 2664) '<unknown>'
    [2688, 2696) '<unknown>'
    [2720, 2728) '<unknown>'
    [2752, 2760) '<unknown>'
    [2784, 2792) '<unknown>'
    [2816, 2824) '<unknown>'
    [2848, 2856) '<unknown>'
    [2880, 2888) '<unknown>'
    [2912, 2920) '<unknown>'
    [2944, 2952) '<unknown>'
    [2976, 2984) '<unknown>'
    [3008, 3016) '<unknown>'
    [3040, 3048) '<unknown>'
    [3072, 3080) '<unknown>'
    [3104, 3112) '<unknown>'
    [3136, 3144) '<unknown>'
    [3168, 3192) 'valid_props' (line 227)
    [3232, 3256) 'unsupported_props' (line 236)
    [3296, 3320) 'q_properties' (line 245)
    [3360, 3384) 'q_properties' (line 266)
    [3424, 3448) 'q_properties' (line 289)
    [3488, 3512) 'q_properties' (line 319)
    [3552, 3576) 'q_properties' (line 342)
    [3616, 3640) 'q_properties' (line 397)
    [3680, 3720) 'invalid_props' (line 229)
    [3760, 3800) '_f' (line 253)
    [3840, 3880) '_f' (line 254)
    [3920, 3960) '_f' (line 258)
    [4000, 4040) '_f' (line 259)
    [4080, 4120) '_f' (line 271)
    [4160, 4200) '_f' (line 276)
    [4240, 4280) '_f' (line 277)
    [4320, 4360) '_f' (line 279)
    [4400, 4440) '_f' (line 284)
    [4480, 4520) '_f' (line 293)
    [4560, 4600) '_f' (line 294)
    [4640, 4680) '_f' (line 298)
    [4720, 4760) '_f' (line 299)
    [4800, 4840) '_f' (line 315)
    [4880, 4920) '_f' (line 316)
    [4960, 5000) '_f' (line 325)
    [5040, 5080) '_f' (line 326)
    [5120, 5160) 'q_properties2' (line 332)
    [5200, 5240) '_f' (line 338)
    [5280, 5320) '_f' (line 339)
    [5360, 5400) '_f' (line 348)
    [5440, 5480) '_f' (line 349)
    [5520, 5560) '_f' (line 357)
    [5600, 5640) '_f' (line 362)
    [5680, 5720) '_f' (line 363)
    [5760, 5800) '_f' (line 370)
    [5840, 5880) '_f' (line 377)
    [5920, 5960) '_f' (line 380)
    [6000, 6040) '_f' (line 381)
    [6080, 6120) '_f' (line 382)
    [6160, 6200) '_f' (line 383)
    [6240, 6280) '_f' (line 385)
    [6320, 6360) '_f' (line 386)
    [6400, 6440) '_f' (line 387)
    [6480, 6520) '_f' (line 388)
    [6560, 6600) '_f' (line 389)
    [6640, 6680) '_f' (line 402)
    [6720, 6760) '_f' (line 409)
    [6800, 6840) '_f' (line 412)
    [6880, 6920) '_f' (line 413)
    [6960, 7000) '_f' (line 414)
    [7040, 7080) '_f' (line 415)
    [7120, 7160) '_f' (line 417)
    [7200, 7240) '_f' (line 418)
    [7280, 7320) '_f' (line 419)
    [7360, 7400) '_f' (line 420)
    [7440, 7480) '_f' (line 421)
    [7520, 7560) '_f' (line 429)
    [7600, 7656) 'q_properties2' (line 304)
    [7696, 9344) 'fake_context' (line 250)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /__w/fpga-runtime-for-opencl/fpga-runtime-for-opencl/include/acl_util.h:417 in int acl_is_valid_ptr<_cl_command_queue*>(_cl_command_queue* const&)
Shadow bytes around the buggy address:
  0x100038e35e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100038e35e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100038e35e70: 00 00 f1 f1 f1 f1 f1 f1 01 f2 f8 f2 f8 f2 00 f2
  0x100038e35e80: f2 f2 00 f2 f2 f2 f8 f2 f2 f2 f8 f3 f3 f3 00 00
  0x100038e35e90: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
=>0x100038e35ea0: f1 f1 f8 f2 f8 f2 f8 f2 f8 f2 04[f2]00 f2 f2 f2
  0x100038e35eb0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
  0x100038e35ec0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
  0x100038e35ed0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
  0x100038e35ee0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
  0x100038e35ef0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
CreateBuffer
CreateBuffer Finished:  623001085d00
CreateBuffer
CreateBuffer Finished:  623001084100
 - 24 ms

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions