cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

nirei
Journeyman III

Vulkan applications freeze the system on Ubuntu

Hello,

i am trying to get Vulkan running on my machine for development purposes.

I am running Ubuntu 16.04 on a Lenovo Edge E145 with AMD A4-5000 APU and Kabini [Radeon HD 8330] Graphics. I am using the current  AMDGPU-Pro Driver Version 16.30.

When running the "cube" example from the VulkanSDK Version 1.0.17.0 my system freezes. To be precise, the window manager and all GUI elements stop responding, but i can still connect to the machine using SSH. Using the command line via SSH works fine. I can remotely kill the stuck "cube" process, but i don't seem to be able to remotely restart the window manager.

The "cube" example getting stuck seems to be a bug in the Vulkan driver, or somewhere on the way down to the Kernel amdgpu driver.

Remotely starting GDB on the cube process, i get the following backtrace:

#0  0x00007f0755336687 in ioctl () at ../sysdeps/unix/syscall-template.S:84

#1  0x00007f07532afe8f in drmIoctl () from /usr/lib/x86_64-linux-gnu/amdgpu-pro/libdrm.so.2

#2  0x00007f0753a45f63 in amdgpu_cs_query_fence_status () from /usr/lib/x86_64-linux-gnu/amdgpu-pro/libdrm_amdgpu.so.1

#3  0x00007f0753ef65ab in ?? () from /usr/lib/x86_64-linux-gnu/amdvlk64.so

#4  0x00007f0753efa67b in ?? () from /usr/lib/x86_64-linux-gnu/amdvlk64.so

#5  0x00007f075449807d in ?? () from /usr/lib/x86_64-linux-gnu/amdvlk64.so

#6  0x00007f0755920e19 in vkQueueWaitIdle (queue=0x178d180) at /home/lunarg/Development/LinuxSDK/Vulkan-LoaderAndValidationLayers/loader/trampoline.c:956

#7  0x0000000000405471 in demo_draw (demo=0x7ffe63f66c60) at /home/sergej/Downloads/vulkan/VulkanSDK/1.0.17.0/examples/cube.c:793

#8  0x0000000000409600 in demo_run_xcb (demo=0x7ffe63f66c60) at /home/sergej/Downloads/vulkan/VulkanSDK/1.0.17.0/examples/cube.c:2247

#9  0x000000000040b7ea in main (argc=1, argv=0x7ffe63f679c8) at /home/sergej/Downloads/vulkan/VulkanSDK/1.0.17.0/examples/cube.c:3155

Using the program strace i can see that the process is stuck on the following ioctl:

ioctl(5, _IOC(_IOC_READ|_IOC_WRITE, 0x64, 0x49, 0x20)

I am attaching outputs of a GDB session, strace, vulkaninfo and the dmesg output. For reasons of hardware identification i am also attaching output of lspci and cpuinfo.

Steps to reproduce this behaviour:

  1. Install Ubuntu 16.04
  2. Install AMDGPU-PRO 16.30 and the VulkanSDK using the How-Tos on AMDGPU-PRO Driver for Linux® – Release Notes
  3. Compile the examples in the VulkanSDK via "./build_examples.sh" (also append " -DCMAKE_BUILD_TYPE=Debug" to the cmake line in the build_examples.sh script)
  4. Run "cube" executable in "VulkanSDK/1.0.17.0/examples/build/"
  5. Wait until the cube stops rotating => cube process and window manager now are stuck.
0 Likes
1 Solution

Thank you for your report. As pchiruma​ had stated, Kabini is not a supported ASIC. Hence, the issues you are seeing are fully explicable.

View solution in original post

0 Likes
8 Replies
pchiruma
Staff

Hi nirei,

Kabini is not supported platform. Please refer below link for AMD Product Compatibility

AMDGPU-PRO Driver for Linux® – Release Notes

0 Likes

Hello pchiruma​, thank you for your reply.

I am aware that the AMDGPU-PRO Release Note does not list Kabini as supported.

However, looking at the Vulkan API Mainpage AMD Vulkan™ Graphics API​, Kabini and "Any AMD APU or Radeon™ GPU based on the Graphics Core Next (GCN) architecture is already Vulkan™-compliant." Phoronix​ states that the AMD Vulkan drivers "use an identical user-mode component on Windows and Linux". So this Vulkan issue i run into probably is specific to Linux (either in userspace starting at "libdrm_amdgpu.so" or down in the "amdgpu" kernel driver). I haven't tested Vulkan with Windows on my hardware yet.

I was hoping that someone can confirm the bug, and that maybe someone familiar with the drivers has any ideas where the bug comes from (userspace AMDGPU-PRO component or kernel driver?) It would be nice if the issue would reach the responsible driver team and land in some bugtracker.

Apart from that (and as it seems a few other Vulkan bugs with fences), AMDGPU-PRO runs smoothly on Kabini in everyday use and OpenGL development

0 Likes

Thank you for your report. As pchiruma​ had stated, Kabini is not a supported ASIC. Hence, the issues you are seeing are fully explicable.

0 Likes

So i installed Windows 10 in hopes of Vulkan support, but it seems the driver issue with Kabini is also present on Windows 10.

Using the Radeon Driver from Radeon Software Crimson Edition 16.9.2 Release Notes , Vulkan applications (like cube or triangle from the Vulkan SDK) hang immediately or after running for a while. As soon as the Vulkan application hangs, the rest of the system becomes non-responsive too (screen freezes). I would have loved to append a stacktrace or debug output for the crashed program, but Windows kills off the GPU driver seconds after the application hangs, and the screen remains black without any possibility to interact with Windows. All in all this is the same behaviour as described for Ubuntu.

The evidence that the GPU driver gets killed by windows is a message in the Windows Event Viewer: Display driver "amdkmdap" stopped responding and has successfully recovered.

I would be thankful for advice on how to debug this and how to collect usefull information for you guys.

I hope nobody tries to tell me that my hardware is not supported by the installed Vulkan drivers on Windows 10 - the Radeon Updater automatically installed the current drivers, and older driver versions had the same issue.

Software and Hardware information from the Radeon Settings Interface:

Software:

Radeon Settings Version - 2016.0916.1515.27418

Driver Packaging Version - 16.40.2311-160916a-307329C

Provider - Advanced Micro Devices, Inc.

2D Driver Version - 8.1.1.1571

Direct3D® Version - 9.14.10.01221

OpenGL® Version - 6.14.10.14008

OpenCL™ Version - 6.14.10.14008

AMD Mantle Version - 9.1.10.0146

AMD Mantle API Version - 98310

AMD Audio Driver Version - 10.0.1.0

Vulkan™ Driver Version - 1.3.0

Vulkan™ API Version - 1.0.21

Hardware:

Graphics Card Manufacturer - Powered by AMD

Graphics Chipset - AMD Radeon HD 8330

Device ID - 9832

Vendor ID - 1002

SubSystem ID - 510C

SubSystem Vendor ID - 17AA

Revision ID - 00

Bus Type - PCI

Current Bus Settings - PCI

BIOS Version - 015.033.000.001

BIOS Part Number - 113-C53500-103

BIOS Date - 2013/04/04 15:14

Memory Size - 512 MB

Memory Type - DDR3

Memory Clock - 667 MHz

Core Clock - 497 MHz

Total Memory Bandwidth - 10 GByte/s

2D Driver File Path - /REGISTRY/MACHINE/SYSTEM/ControlSet001/Control/Class/{4d36e968-e325-11ce-bfc1-08002be10318}/0000

0 Likes

Tested with the following setup, after doing a full wipe of system:

Lenovo ideapad - A400-5000 - HD8330 - 8GB RAM

Win10 64

16.9.2

Ensured that VulkanRT v1.0.26.0 was installed, then ran VulkanSDK x64/x86 Tri & Cube. No issues. Left it running for 2+ hours, no issues.

0 Likes

Thank you for your Reply. Unfortunately i still can reproduce the Vulkan Driver Crash both on a Lenovo ThinkPad Edge E145 (A4-5000 APU, Radeon HD 8330) and on a Lenovo IdeaPad S415 Touch (A6-5200 APU, AMD Radeon HD 8400 / R3 Series)

While the Lenovo Thinkpad Edge is not able to recover from the Graphics Driver Crash (Screen stays black), on the Lenovo IdeaPad Windows restarts the Driver, which gives room for Debugging with Visual Studio.

Steps to reproduce on both Laptops:

(Wipe System)
Install Windows 10 Home 64bit, Version 1607, OS Build 14393.0
Install whql-win10-64bit-radeon-software-crimson-16.9.2-sep29.exe
Install VulkanSDK-1.0.30.0-Installer.exe
Install Visual Studio Community 2015 with "Tools for Visual C++ 2015" and "Tools (1.4.1) and Windows SDK (10.0.14393)"

Build the DEMOS VS Solution file in "C:\VulkanSDK\1.0.30.0\Demos" in Debug x64 mode.
Run "cube" in x64 debug mode.

It does not always crash immediately, sometimes it runs fine for a few minutes. After a while (or restarting cube) the program halts and the screen turns black. When the screen is up again (i assume the graphics driver is restarted), Visual Studio catches the hang of the cube process.
It seems that a vkQueueSubmit() reports a "VK_ERROR_DEVICE_LOST" error, which is no wonder after the Driver crash. The crash dump of this is appended as "cube.dmp" (from Lenovo Ideapad).

Running the "cubepp" x64 binary (the C++ implementation of cube) in debug mode results in an immediate crash of the application, for which Visual Studio reports an invalid memory access in "amdvlk64.dll" during a vkCreateRenderPass(). This does not lead to a Crash of the GPU driver. The crash dump of this is appended as "cubepp.dmp" (from Lenovo Ideapad) and "cubepp_e145.dmp" (from Lenovo ThinkPad Edge).

I am also appending Radeon Settings Information of both Laptops.

The Crash dumps are uploaded to my Dropbox since they are too big for uploading them here.

0 Likes

  • Have you tried uninstalling VulkanSDk/RT v1.0.30.0 and rolling back to VulkanSDK/RT v1.0.26.0? There are several known issues in VulkanRT v1.0.30.0.
  • Is this only occurring with the dbg (not rel) versions of the LunarG SDK samples?
  • Are you seeing crashes in any other Vulkan apps?
0 Likes

Rolling back to VulkanSDK/RT v1.0.26.0 gives the same results on A4-5000 APU, Radeon HD 8330; i don't have the A6-5200 APU, AMD Radeon HD 8400  Laptop around right now.

The precompiled VulkanSDK v1.0.26.0 cube crashes, Release and Debug builds of the DEMOS VS Solution both on 32 and 64bit crash. The triangle app does not crash within the Minute or two i let it run. Vulkan apps from GitHub - SaschaWillems/Vulkan: Examples and demos for the new Vulkan API  like multisampling and skeletalanimation crash within 10-20 seconds, but i didn't try all examples from that Project yet. Will post Information on the Radeon HD 8400 Hardware as soon as i have it available.

0 Likes