2017-08-23 11 views
0

私はCUDAを使ってOpenCV3.3をubuntu 16.04にインストールしました。
私はOpenCVをCUDAサンプルコードでビルドしようとしました。 コードをコンパイルできましたが、バイナリを実行すると次のエラーメッセージが表示されました。OpenCV3.3 CUDA stack smashing

エラーメッセージは "*スタックスマッシング検出*:./testは 中止(コアダンプ)終了" である私は、このエラーメッセージを削除したい

を。コードや設定を修正するにはどうすればよいですか?

私のテストコードは

#include <opencv2/core.hpp> 
#include <opencv2/core/cuda.hpp> 
#include <opencv2/imgcodecs.hpp> 
#include <iostream> 
using namespace cv; 

int main(int argc, const char* argv[]) 
{ 
    // view OpenCV build information 
    std::cout << cv::getBuildInformation() << std::endl; 

    // view CUDA infomation 
    int dev_id = cv::cuda::getDevice(); 
    std::cout << "cuda get device id is " << dev_id << " getCudaEnabledDeviceCount is " << cv::cuda::getCudaEnabledDeviceCount() << std::endl; 
    cv::cuda::setDevice(dev_id); 
    cv::cuda::printCudaDeviceInfo(dev_id); 
    cv::cuda::resetDevice(); 
} 

とメッセージ

このエラーを修正する方法
---------- 

General configuration for OpenCV 3.3.0 ===================================== 
    Version control:    unknown 

    Platform: 
    Timestamp:     2017-08-23T01:49:09Z 
    Host:      Linux 4.10.0-32-generic x86_64 
    CMake:      3.5.1 
    CMake generator:    Unix Makefiles 
    CMake build tool:   /usr/bin/make 
    Configuration:    RELEASE 

    CPU/HW features: 
    Baseline:     SSE SSE2 SSE3 
     requested:     SSE3 
    Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 
     requested:     SSE4_1 SSE4_2 AVX FP16 AVX2 
     SSE4_1 (2 files):   + SSSE3 SSE4_1 
     SSE4_2 (1 files):   + SSSE3 SSE4_1 POPCNT SSE4_2 
     FP16 (1 files):   + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX 
     AVX (5 files):    + SSSE3 SSE4_1 POPCNT SSE4_2 AVX 
     AVX2 (7 files):   + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 

    C/C++: 
    Built as dynamic libs?:  YES 
    C++ Compiler:    /usr/bin/c++ (ver 5.4.0) 
    C++ flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef dow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -msse -mssisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG 
    C++ flags (Debug):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef dow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -msse -mssisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG 
    C Compiler:     /usr/bin/cc 
    C flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissin-Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -msse -msse-DNDEBUG -DNDEBUG 
    C flags (Debug):    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissin-Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -msse -msse-O0 -DDEBUG -D_DEBUG 
    Linker flags (Release): 
    Linker flags (Debug): 
    ccache:      NO 
    Precompiled headers:   YES 
    Extra dependencies:   /usr/lib/x86_64-linux-gnu/libcuda.so /usr/lib/libnvcuvid.so Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Test Qt5::Concurrent Qt5::OpenGL /usr/lib/x86_64-linux-gnu/libpng.so /usr//lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libjasper.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-li-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so gstbase-1.0 gstreamer-1.0 gobject-2.0 glib-2.0 gstvideo-1.0 gstapp-1.0 gstriff-1.0 gstpbutils-1.0 dc1394 avcodec-ffmpeg avformat-ffmpeg avutle-ffmpeg dl m pthread rt /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libtbb.so cudart nppc nppi npps cublas cufft -L/usr/local/cuda-8.0/lib64 
    3rdparty dependencies: 

    OpenCV modules: 
    To be built:     cudev core cudaarithm flann imgproc ml objdetect video cudabgsegm cudafilters cudaimgproc cudawarping dnn imgcodecs photo shape videoio cudacodec highgui features2d calib3bjdetect cudaoptflow cudastereo stitching superres videostab python3 
    Disabled:     world 
    Disabled by dependency:  - 
    Unavailable:     java python2 ts viz 

    GUI: 
    QT 5.x:      YES (ver 5.5.1) 
    QT OpenGL support:   YES (Qt5::OpenGL 5.5.1) 
    OpenGL support:    YES (/usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGL.so) 
    VTK support:     NO 

    Media I/O: 
    ZLib:      /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8) 
    JPEG:      /usr/lib/x86_64-linux-gnu/libjpeg.so (ver) 
    WEBP:      build (ver encoder: 0x020e) 
    PNG:       /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.54) 
    TIFF:      /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.6) 
    JPEG 2000:     /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1) 
    OpenEXR:      /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux 
    GDAL:      NO 
    GDCM:      NO 

    Video I/O: 
    DC1394 1.x:     NO 
    DC1394 2.x:     YES (ver 2.2.4) 
    FFMPEG:      YES 
     avcodec:     YES (ver 56.60.100) 
     avformat:     YES (ver 56.40.101) 
     avutil:     YES (ver 54.31.100) 
     swscale:     YES (ver 3.1.101) 
     avresample:    YES (ver 2.1.0) 
    GStreamer: 
     base:      YES (ver 1.8.3) 
     video:      YES (ver 1.8.3) 
     app:      YES (ver 1.8.3) 
     riff:      YES (ver 1.8.3) 
     pbutils:     YES (ver 1.8.3) 
    OpenNI:      NO 
    OpenNI PrimeSensor Modules: NO 
    OpenNI2:      NO 
    PvAPI:      NO 
    GigEVisionSDK:    NO 
    Aravis SDK:     NO 
    UniCap:      NO 
    UniCap ucil:     NO 
    V4L/V4L2:     NO/YES 
    XIMEA:      NO 
    Xine:      NO 
    Intel Media SDK:    NO 
    gPhoto2:      NO 

    Parallel framework:   TBB (ver 4.4 interface 9002) 

    Trace:       YES (with Intel ITT) 

    Other third-party libraries: 
    Use Intel IPP:    2017.0.2 [2017.0.2] 
       at:    /home/test/OpenCv/opencv-3.3.0/build/3rdparty/ippicv/ippicv_lnx 
    Use Intel IPP IW:   prebuilt binaries (2017.0.2) 
    Use Intel IPP Async:   NO 
    Use VA:      NO 
    Use Intel VA-API/OpenCL:  NO 
    Use Lapack:     NO 
    Use Eigen:     YES (ver 3.2.92) 
    Use Cuda:     YES (ver 8.0) 
    Use OpenCL:     YES 
    Use OpenVX:     NO 
    Use custom HAL:    NO 

    NVIDIA CUDA 
    Use CUFFT:     YES 
    Use CUBLAS:     YES 
    USE NVCUVID:     YES 
    NVIDIA GPU arch:    20 30 35 37 50 52 60 61 
    NVIDIA PTX archs: 
    Use fast math:    YES 

    OpenCL:      <Dynamic loading of OpenCL library> 
    Include path:    /home/test/OpenCv/opencv-3.3.0/3rdparty/include/opencl/1.2 
    Use AMDFFT:     NO 
    Use AMDBLAS:     NO 

    Python 2: 
    Interpreter:     /usr/bin/python2.7 (ver 2.7.12) 

    Python 3: 
    Interpreter:     /usr/bin/python3 (ver 3.5.2) 
    Libraries:     /usr/lib/x86_64-linux-gnu/libpython3.5m.so (ver 3.5.2) 
    numpy:      /usr/local/lib/python3.5/dist-packages/numpy/core/include (ver 1.13.1) 
    packages path:    lib/python3.5/dist-packages 

    Python (for build):   /usr/bin/python2.7 

    Java: 
    ant:       NO 
    JNI:       NO 
    Java wrappers:    NO 
    Java tests:     NO 

    Matlab:      Matlab not found or implicitly disabled 

    Documentation: 
    Doxygen:      NO 

    Tests and samples: 
    Tests:      NO 
    Performance tests:   NO 
    C/C++ Examples:    YES 

    Install path:     /usr/local 

    cvconfig.h is in:    /home/test/OpenCv/opencv-3.3.0/build 
----------------------------------------------------------------- 


cuda get device id is 0 getCudaEnabledDeviceCount is 1 
*** CUDA Device Query (Runtime API) version (CUDART static linking) *** 

Device count: 1 

Device 0: "GeForce GTX 1080" 
    CUDA Driver Version/Runtime Version   8.0/8.0 
    CUDA Capability Major/Minor version number: 6.1 
    Total amount of global memory:     8112 MBytes (8506048512 bytes) 
    GPU Clock Speed:        1.73 GHz 
    Max Texture Dimension Size (x,y,z)    1D=(131072), 2D=(131072,65536), 3D=(16384,16384,16384) 
    Max Layered Texture Size (dim) x layers  1D=(32768) x 2048, 2D=(32768,32768) x 2048 
    Total amount of constant memory:    65536 bytes 
    Total amount of shared memory per block:  49152 bytes 
    Total number of registers available per block: 65536 
    Warp size:          32 
    Maximum number of threads per block:   1024 
    Maximum sizes of each dimension of a block: 1024 x 1024 x 64 
    Maximum sizes of each dimension of a grid:  2147483647 x 65535 x 65535 
    Maximum memory pitch:       2147483647 bytes 
    Texture alignment:        512 bytes 
    Concurrent copy and execution:     Yes with 2 copy engine(s) 
    Run time limit on kernels:      No 
    Integrated GPU sharing Host Memory:   No 
    Support host page-locked memory mapping:  Yes 
    Concurrent kernel execution:     Yes 
    Alignment requirement for Surfaces:   Yes 
    Device has ECC support enabled:    No 
    Device is using TCC driver mode:    No 
    Device supports Unified Addressing (UVA):  Yes 
    Device PCI Bus ID/PCI location ID:   2/0 
    Compute Mode: 
     Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) 

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1 

*** stack smashing detected ***: ./test terminated 
Aborted (core dumped) 
---------- 

のですか?

答えて

0

私は「スタック・スマッシング」をかなり頻繁に受けます。 CUDAコードは静的ライブラリにあり、単純なCLI実行ファイルにリンクされています。 Clean Rebuildは常にそれを消し去ります。 IDEが編集したファイルを再構築したり再リンクしたりしていないと思われます。