Nsight's warp info prompts that the current status is OutOfRangeAddress

I wrote a kernel that uses a lot of registers. After checking, I confirmed that there are no errors such as array out-of-bounds in the kernel.


But when I was debugging, the program stayed at the entrance, and Nsight’s warp info indicated that the current status was InLineBreakpoint.
When I continue to debug, Nsight’s warp info prompts that the current status is OutOfRangeAddress.
I used cuda-memcheck again to help me find errors, but cuda-memcheck can only give an “Unknown Error” prompt.
I don’t know why this problem occurs. I have been programming with CUDA for two or three years. This is the first time I have encountered this problem. I hope someone can help me, thank you

This part of the code is copied from the GPU parallel program I wrote using cuda before, and it runs well in the previous parallel program. The main difference from the current one is that this function was called through a structure before, but now this function is called through a virtual function in the class. I don’t know why it can’t run after being copied.

you can’t move objects whose class definition includes virtual functions from host to device and expect to call those virtual functions successfully in GPU code. This limitation is covered in the programming guide.

But the objects of these classes are created on the GPU through the following template function, I think it should be no problem.