Vulkan-Loader freezing on vkDestroyInstance on Amd
System:
- OS: Arch Linux (rolling version)
- GPU: [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1)
- Kernel version: Linux 5.5.9-arch1-2
- Mesa version: Tested on 19.3.0, 20.0.0 and 20.0.2
Issue:
Running an amberscript file that contains an infinite loop causes VulkanLoader to freeze on vkDestroyInstance. This causes the amber process to stay open in the background which in return causes the next amber process to freeze as well. This has been tested on a system over ssh connection so some steps below may differ when trying to reproduce locally.
Steps to reproduce:
- SSH in to the used machine/system
- Set VK_ICD_FILENAMES to use Amd drivers (The mesa version here doesn't matter; We tried 19.3.0, 20.0.0 and 20.0.2)
- Run the amberscript that contains the infinite loop with
amber -d test.amber
- Wait for the run to finish (At this point the run doesn't automatically end, but it does give the fail/pass information. You can press any button to "end" the run so that you can write in the terminal again, but this doesn't actually stop the process; It stays open in the background. The reason for this is explained later.)
- At this point leave the current terminal open in the background and open a new one. (This part might not be necessary if one is not using SSH to connect but rather is locally on the computer, we haven't tested.)
- In the new terminal, again set the VK_ICD_FILENAMES to use Amd.
- Run
amber -d
as is. - The terminal freezes
Different approach:
- Same steps as before, but instead of keeping the first terminal open, close it.
- Again open the new terminal/SSH connection.
- Run "amber -d" as is.
- This time the terminal does not freeze. (Again, this approach might be different when run locally.)
I've attached an amber file as an example that causes the freeze: test.amber