[HSW, GT2] [BISECTED] drm_intel_gem_bo_context_exec() failed: Device or resource busy
Submitted by Ivan Shapovalov
Assigned to Zhigang Gong @gongzg
Description
Any OpenCL program immediately crashes with the following message:
drm_intel_gem_bo_context_exec() failed: Device or resource busy
Backtrace:
Thread 1 "clblast_test_xs" received signal SIGSEGV, Segmentation fault.
0x00007ffff4f7bc3c in clReleaseEvent (event=0x12773f000) at /tmp/makepkg/build/beignet-git/src/beignet/src/cl_api.c:1689
1689 CHECK_EVENT(event);
(gdb) bt #0 0x00007ffff4f7bc3c in clReleaseEvent (event=0x12773f000) at /tmp/makepkg/build/beignet-git/src/beignet/src/cl_api.c:1689 #1 0x00007ffff4f9a21f in cl_self_test (device=0x7ffff51f51e0 <intel_hsw_gt2_device>, atomic_in_l3_flag=SELF_TEST_PASS) at /tmp/makepkg/build/beignet-git/src/beignet/src/cl_device_id.c:854 #2 0x00007ffff4f9a2c6 in cl_get_device_ids (platform=0x7ffff51f3820 <intel_platform_data>, device_type=4, num_entries=0, devices=0x0, num_devices=0x8060d0) at /tmp/makepkg/build/beignet-git/src/beignet/src/cl_device_id.c:882 #3 0x00007ffff4f75ea9 in clGetDeviceIDs (platform=0x7ffff51f3820 <intel_platform_data>, device_type=4, num_entries=0, devices=0x0, num_devices=0x8060d0) at /tmp/makepkg/build/beignet-git/src/beignet/src/cl_api.c:147 #4 0x00007ffff75abaf2 in clGetDeviceIDs () from /usr/lib/libOpenCL.so.1 #5 0x00007ffff75a7e3a in ?? () from /usr/lib/libOpenCL.so.1 #6 0x00007ffff75a8d7c in clGetPlatformIDs () from /usr/lib/libOpenCL.so.1
Bisect log:
$ git bisect log
git bisect start
# bad: [75b6f3802171da72251885947bb196b64d38a99d] Runtime: Add support for queue size and fix error handling
git bisect bad 75b6f3802171da72251885947bb196b64d38a99d
# good: [5b25b1741c4028cd5dc20584bc32e48f9396a304] NEWS: Update Release 1.2.1.
git bisect good 5b25b1741c4028cd5dc20584bc32e48f9396a304
# bad: [5df9feefbc75acf3154537448bed7a0a8da17865] Runtime: Add support of OCL2.0 device queries
git bisect bad 5df9feefbc75acf3154537448bed7a0a8da17865
# bad: [295b1cb6d1ac616dd4d9b4b2ef14934b86e3ffbf] GBE: Implement new constant solution for ocl2
git bisect bad 295b1cb6d1ac616dd4d9b4b2ef14934b86e3ffbf
# good: [b303506b1e3f17a3ab660ef6b66ab24c301270ef] OCL20: Add svm support.
git bisect good b303506b1e3f17a3ab660ef6b66ab24c301270ef
# bad: [b38b98c59cc87f72f165b4ea1a5e92da88eaa016] ocl20/GBE: support generic load/store
git bisect bad b38b98c59cc87f72f165b4ea1a5e92da88eaa016
# good: [d87bbdb1733fef4c17e093dd9171edb0abca47d4] OCL20: add svm enqueue apis and svm's sub buffer support.
git bisect good d87bbdb1733fef4c17e093dd9171edb0abca47d4
# bad: [ff57cee0519db1287053c7c05a2cb4e9700d3334] ocl20/runtime: take the first 64KB page table entries.
git bisect bad ff57cee0519db1287053c7c05a2cb4e9700d3334
# first bad commit: [ff57cee0519db1287053c7c05a2cb4e9700d3334] ocl20/runtime: take the first 64KB page table entries.
Hardware: Intel Core i7-4700MQ (Haswell, HD 4600)
OS: Arch Linux testing, fully updated (installed versions of any related software can be found at https://www.archlinux.org/packages/).