Skip to content

test_handler CTS failure with assertion in DeviceKernelInfo::setCompileTimeInfoIfNeeded #20134

@sergey-semenov

Description

@sergey-semenov

Describe the bug

test_handler CTS fails in nightly testing with the following assertion:

sycl/source/detail/device_kernel_info.cpp:71: void sycl::_V1::detail::DeviceKernelInfo::setCompileTimeInfoIfNeeded(const sycl::_V1::detail::compile_time_kernel_info_v1::CompileTimeKernelInfoTy&): Assertion `Info == *this' failed.

So far the issue appears to be that two different unnamed lambda kernels from two different tests end up getting mapped to the same kernel name:

_ZTSZZL22CATCH2_INTERNAL_TEST_4vENKUlRN4sycl3_V17handlerENS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS4_6targetE2014ELNS4_11placeholderE0ENS0_3ext6oneapi22accessor_property_listIJEEEEEE1_clES2_SC_EUlT_E_

I'm not familiar enough with the Catch2 framework, but AFAIU, CATCH2_INTERNAL_TEST_4 is supposed to be a unique name. However, it ends up being shared by two different tests, so one of them ends up calling the kernel from the other. So far, it appears to be a test issue.

This doesn't cause the test failure without the assertion, since the kernels are functionally identical and don't perform any meaningful work on the device.

Metadata

Metadata

Labels

CTSImpacts Khronos SYCL CTSbugSomething isn't workingconfirmed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions