7f0c2de9ad
The issue arises in the CatchSignal function, which attempts to write to
the standard error stream upon receiving a signal. However, the standard
error stream may already be locked at this point, as the parent process
also attempts to write to the standard error stream after mapping the GPU
memory. This leads to a deadlock, with the program waiting for the
release of the lock on the standard error stream.
Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Change-Id: Ie69354f4342b96ffe1f2a87f655687da1cbee4b9
[ROCm/ROCR-Runtime commit: c8031f2a69]
1. Note on building kfdtest To build this kfdtest application, the following libraries should be already installed on the building machine: libdrm libdrm_amdgpu libhsakmt If libhsakmt is not installed, but the headers and libraries are present locally, you can specify its directory by export LIBHSAKMT_PATH=/path/to/libhsakmt.a With that, CMake/make will look for the lib at LIBHSAKMT_PATH/libhsakmt.a Note that this assumes that you will be building kfdtest from the same thunk found in ../.. 2. How to run kfdtest Just run "./run_kfdtest.sh" under the building output folder. You may need to specify library path through: export LD_LIBRARY_PATH=/path/to/libhsakmt.a Note: you can use "run_kfdtest.sh -h" to see more options.