Skip to content

[Intel][Vulkan][Clang] Crash in intel driver with clang-vk for select tests #615

@bogner

Description

@bogner

The following tests are failing with what looks like a crash in the driver for intel once we remove the XFAILs for the fix to #166642:

  • OffloadTest-clang-vk :: Feature/HLSLLib/select.32.test
  • OffloadTest-clang-vk :: Feature/HLSLLib/select.fp16.test
  • OffloadTest-clang-vk :: Feature/HLSLLib/select.fp64.test
  • OffloadTest-clang-vk :: Feature/HLSLLib/select.int16.test
  • OffloadTest-clang-vk :: Feature/HLSLLib/select.int64.test

It isn't very clear what's going wrong from the logs themselves, so this may need to be investigated on a machine where it reproduces. Do note that this is clang-specific though, so we may be able to get some insight by comparing clang and dxc's spirv output.

From https://github.com/llvm/offload-test-suite/actions/runs/19974611452/job/57287593358?pr=607:

******************** TEST 'OffloadTest-clang-vk :: Feature/HLSLLib/select.32.test' FAILED ********************
Exit Code: 3221225477

Command Output (stdout):
--
# RUN: at line 353
e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\test\Feature\HLSLLib\select.32.test E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp
# executed command: 'e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\split-file.exe' 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\test\Feature\HLSLLib\select.32.test' 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp'
# RUN: at line 354
e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\clang-dxc.exe -spirv -fspv-target-env=vulkan1.3 -fspv-extension=DXC --dxv-path=E:/actions-runner/_work/offload-test-suite/offload-test-suite/DXC/build/bin -HV 202x -T cs_6_5 -Fo E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp.o E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp/source.hlsl
# executed command: 'e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\clang-dxc.exe' -spirv -fspv-target-env=vulkan1.3 -fspv-extension=DXC --dxv-path=E:/actions-runner/_work/offload-test-suite/offload-test-suite/DXC/build/bin -HV 202x -T cs_6_5 -Fo 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp.o' 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp/source.hlsl'
# .---command stderr------------
# | E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp/source.hlsl:54:21: warning: implicit conversion turns floating-point number into integer: 'vector<float const, 4>' (vector of 4 'float' values) to 'vector<bool, 4>' (vector of 4 'bool' values) [-Wfloat-conversion]
# |    54 |   Out0[10] = select(FloatCond[0], TrueVal0[0], FalseVal0[0]);
# |       |              ~~~~~~ ^~~~~~~~~~~~
# | 1 warning generated.
# `-----------------------------
# RUN: at line 355
e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe -debug-layer E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp/pipeline.yaml E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp.o
# executed command: 'e:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\bin\offloader.exe' -debug-layer 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp/pipeline.yaml' 'E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\build\tools\OffloadTest\test\clang-vk\Feature\HLSLLib\Output\select.32.test.tmp.o'
# .---command stdout------------
# | Using Vulkan API
# | Physical device created.
# | Shader module created.
# | Copy command buffer created.
# | Memory buffers created.
# | Executed copy command buffer.
# | Execute command buffer created.
# | Descriptors: { type = 7, count = 16 }
# | Descriptor pool created.
# | Binding 16 descriptors.
# | Num Descriptor sets: 1
# | Updating Descriptor [0] { 0, 0 }
# | Updating Descriptor [1] { 0, 1 }
# | Updating Descriptor [2] { 0, 2 }
# | Updating Descriptor [3] { 0, 3 }
# | Updating Descriptor [4] { 0, 4 }
# | Updating Descriptor [5] { 0, 5 }
# | Updating Descriptor [6] { 0, 6 }
# | Updating Descriptor [7] { 0, 7 }
# | Updating Descriptor [8] { 0, 8 }
# | Updating Descriptor [9] { 0, 9 }
# | Updating Descriptor [10] { 0, 10 }
# | Updating Descriptor [11] { 0, 11 }
# | Updating Descriptor [12] { 0, 12 }
# | Updating Descriptor [13] { 0, 13 }
# | Updating Descriptor [14] { 0, 14 }
# | Updating Descriptor [15] { 0, 15 }
# | WriteDescriptors: 16
# | Descriptor sets created.
# | Compute pipeline created.
# `-----------------------------
# .---command stderr------------
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: e:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\bin\\offloader.exe -debug-layer E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\clang-vk\\Feature\\HLSLLib\\Output\\select.32.test.tmp/pipeline.yaml E:\\actions-runner\\_work\\offload-test-suite\\offload-test-suite\\llvm-project\\build\\tools\\OffloadTest\\test\\clang-vk\\Feature\\HLSLLib\\Output\\select.32.test.tmp.o
# | Exception Code: 0xC0000005
# |  #0 0x00007ff96bf2a37a (C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f42d50ef4c9376ba\igvk64.dll+0x57a37a)
# |  #1 0x00007ff96bf1b25a (C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_f42d50ef4c9376ba\igvk64.dll+0x56b25a)
# |  #2 0x00007ff986e6073d (C:\WINDOWS\SYSTEM32\vulkan-1.dll+0x6073d)
# |  #3 0x00007ff7c3442195 `anonymous namespace'::VKDevice::createCommands E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\lib\API\VK\Device.cpp:1785:0
# |  #4 0x00007ff7c341abf3 llvm::Error::getPtr E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:277:0
# |  #5 0x00007ff7c341abf3 llvm::Error::operator bool E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:241:0
# |  #6 0x00007ff7c341abf3 `anonymous namespace'::VKDevice::executeProgram E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\lib\API\VK\Device.cpp:1972:0
# |  #7 0x00007ff7c3333031 llvm::Error::getPtr E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:277:0
# |  #8 0x00007ff7c3333031 llvm::Error::operator= E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:218:0
# |  #9 0x00007ff7c3333031 llvm::Error::Error E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:198:0
# | #10 0x00007ff7c3333031 llvm::ExitOnError::operator() E:\actions-runner\_work\offload-test-suite\offload-test-suite\llvm-project\llvm\include\llvm\Support\Error.h:1460:0
# | #11 0x00007ff7c3333031 run E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\tools\offloader\offloader.cpp:144:0
# | #12 0x00007ff7c3332717 main E:\actions-runner\_work\offload-test-suite\offload-test-suite\OffloadTest\tools\offloader\offloader.cpp:81:0
# | #13 0x00007ff7c3be1d90 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0
# | #14 0x00007ff7c3be1d90 __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
# | #15 0x00007ff9e6c8e8d7 (C:\WINDOWS\System32\KERNEL32.DLL+0x2e8d7)
# | #16 0x00007ff9e7c6c53c (C:\WINDOWS\SYSTEM32\ntdll.dll+0x8c53c)
# `-----------------------------
# error: command failed with exit status: 0xc0000005

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions