arrayfire-rust icon indicating copy to clipboard operation
arrayfire-rust copied to clipboard

[BUG] STATUS_STACK_BUFFER_OVERRUN from any operation

Open 0rphon opened this issue 2 years ago • 4 comments

Description

possibly related to #285 although the suggested solution didn't work for me and it crashes instantly on my machine instead of taking a "long time" like detailed in the old issue. i left a comment on the original post but these two factors make it seem like a separate issue so im filing this as well. feel free to close if you think its a duplicate.

attempting to run any code examples causes STATUS_STACK_BUFFER_OVERRUN.

i tried updating my drivers and cuda and i tried both the 10.x and 11.x arrayfire binaries to no avail. i also tried manually setting the back-end like in #285 but it didn't seem to fix anything; OpenCL, CUDA, and CPU all throw STATUS_STACK_BUFFER_OVERRUN. in fact it appears simply running set_backend causes an overrun.

Reproducible Code and/or Steps

use arrayfire::{set_backend, Backend};

fn main() {
    // attempting arrayfire::info() or any other arrayfire call causes the same issue
    set_backend(Backend::CPU);
}
D:\Work\rust_playground>cargo run
   Compiling rust_playground v0.1.0 (D:\Work\rust_playground)
    Finished dev [unoptimized + debuginfo] target(s) in 2.67s
     Running `target\debug\rust_playground.exe`
error: process didn't exit successfully: `target\debug\rust_playground.exe` (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

System Information

  • ArrayFire version 3.8.1
  • i have an rtx3090 and an i9-11900k running on windows 10
  • couldnt run af::info as it crashes with the same error

the download link for the cinfo binary seems to be down. heres nvidia-smi:

Fri Feb  4 02:19:12 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 511.65       Driver Version: 511.65       CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0  On |                  N/A |
|  0%   49C    P0   126W / 350W |   1056MiB / 24576MiB |      2%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1580    C+G                                   N/A      |
|    0   N/A  N/A      2872    C+G   ...icrosoft VS Code\Code.exe    N/A      |
|    0   N/A  N/A      5536    C+G                                   N/A      |
|    0   N/A  N/A      6932    C+G   ...kyb3d8bbwe\Calculator.exe    N/A      |
|    0   N/A  N/A      7884    C+G   C:\Windows\explorer.exe         N/A      |
|    0   N/A  N/A     12184    C+G   ...artMenuExperienceHost.exe    N/A      |
|    0   N/A  N/A     12364    C+G   ...ekyb3d8bbwe\YourPhone.exe    N/A      |
|    0   N/A  N/A     12584    C+G   ...5n1h2txyewy\SearchApp.exe    N/A      |
|    0   N/A  N/A     13440    C+G   ...4__htrsf667h5kn2\AWCC.exe    N/A      |
|    0   N/A  N/A     14248    C+G   ...ekyb3d8bbwe\HxOutlook.exe    N/A      |
|    0   N/A  N/A     15588    C+G   ...108.43\msedgewebview2.exe    N/A      |
|    0   N/A  N/A     16044    C+G   ...perience\NVIDIA Share.exe    N/A      |
|    0   N/A  N/A     16160    C+G   ...perience\NVIDIA Share.exe    N/A      |
|    0   N/A  N/A     16676    C+G                                   N/A      |
|    0   N/A  N/A     16712    C+G   ...zilla Firefox\firefox.exe    N/A      |
|    0   N/A  N/A     16968    C+G   ...nputApp\TextInputHost.exe    N/A      |
|    0   N/A  N/A     21680    C+G   ...lack\app-4.23.0\slack.exe    N/A      |
|    0   N/A  N/A     22944    C+G   ...zilla Firefox\firefox.exe    N/A      |
|    0   N/A  N/A     23416    C+G   ...y\ShellExperienceHost.exe    N/A      |
|    0   N/A  N/A     23752    C+G   ...lPanel\SystemSettings.exe    N/A      |
+-----------------------------------------------------------------------------+

and heres AF_TRACE=all

[unified][1643970448][5736] [ ..\src\api\unified\symbol_manager.cpp(141) ] Attempting: Default System Paths
[unified][1643970448][5736] [ ..\src\api\unified\symbol_manager.cpp(144) ] Found: afcpu.dll
[unified][1643970448][5736] [ ..\src\api\unified\symbol_manager.cpp(151) ] Device Count: 1.
[unified][1643970448][5736] [ ..\src\api\unified\symbol_manager.cpp(141) ] Attempting: Default System Paths
[unified][1643970448][5736] [ ..\src\api\unified\symbol_manager.cpp(144) ] Found: afopencl.dll
[platform][1643970448][5736] [ ..\src\backend\common\DependencyModule.cpp(99) ] Attempting to load: forge.dll
[platform][1643970448][5736] [ ..\src\backend\common\DependencyModule.cpp(102) ] Found: forge.dll
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(218) ] Found 3 OpenCL platforms
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(230) ] Found 1 devices on platform NVIDIA CUDA
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(235) ] Found device NVIDIA GeForce RTX 3090 on platform NVIDIA CUDA
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(230) ] Found 1 devices on platform Intel(R) OpenCL
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(235) ] Found device 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz on platform Intel(R) OpenCL
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(230) ] Found 1 devices on platform Experimental OpenCL 2.1 CPU Only Platform
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(235) ] Found device 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz on platform Experimental OpenCL 2.1 CPU Only Platform
[platform][1643970448][5736] [ ..\src\backend\opencl\device_manager.cpp(240) ] Found 3 OpenCL devices
error: process didn't exit successfully: `target\debug\rust_playground.exe` (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

Checklist

  • [x] Using the latest available ArrayFire release
  • [x] GPU drivers are up to date

0rphon avatar Feb 04 '22 20:02 0rphon

There has been new upstream release - arrayfire 3.8.1 Can you please try with that version of library and let me know if you still have the issue. Thank you.

9prady9 avatar Feb 12 '22 05:02 9prady9

@9prady9 oops thats my bad, im already using 3.8.1 i just accidentally typed 3.8.0 instead when i was making the post. i edited it to have the correct version

0rphon avatar Feb 13 '22 01:02 0rphon

That is interesting, can you please try running any of the cuda examples - https://github.com/NVIDIA/cuda-samples and see if you are able to run those. It is a C/C++ project, but it shouldn't be hard if you have cuda toolkit already installed. You can follow their instructions from this section - https://github.com/NVIDIA/cuda-samples#building-cuda-samples

9prady9 avatar Feb 19 '22 06:02 9prady9

@9prady9 ran the vectorAdd example and it seems to have worked fine

D:\Downloads\cuda-samples-master\bin\win64\Debug>vectorAdd.exe
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

0rphon avatar Feb 23 '22 00:02 0rphon