我正在尝试基于OpenCV为Tegra示例代码构建一个Android应用程序。我正在为aruco添加一个预构建的库来处理标记跟踪。当我第一次调用libaruco.so中的代码时,应用程序崩溃了(logcat)
A/libc(4669): Fatal signal 6 (SIGABRT) at 0x0000123d (code=-6), thread 4909 (Thread-453)
我之前使用CMake为Windows构建了aruco库和实用程序。
我使用带有Android工具链文件(源自android-cmake)的CMake来构建共享库。使用cmake-gui来设置我需要的东西,比如OpenCV和ANDROID_NDK的位置。使用GNU 4.8 toolchain arm-Linux-androideabi-4.8,armeabi-v7a的目标。工具链最初使用后缀版本号来构建libaruco.so,libaruco.so.1.2和libaruco.so.1.2.3。我在CMakeLists.txt中注释掉了VERSION和SOVERSION,最终得到了一个libaruco.so作为共享库。
共享库构建时没有明显错误。
我在Eclipse中有一个基于OpenCV示例项目的Android项目,该项目具有原生支持。我的C ++代码中有JNIEXPORT调用(之前已经完成了)。我在我的android.mk中引用libaruco.so作为预构建的共享库,并在加载OpenCV之后和加载我的本机应用程序库之前在java中加载库。
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i(TAG, "OpenCV loaded successfully");
// Load native library after(!) OpenCV initialization
// aruco shared library
System.loadLibrary("aruco");
Log.i(TAG, "aruco loaded successfully");
// native application shared libary
System.loadLibrary("aruco_test_board");
Log.i(TAG, "aruco_test_board loaded successfully");
mOpenCvCameraView.enableView();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
一切都没有错误。我可以在我的设备上运行该应用程序(运行Android 4.4.2的平板电脑),logcat显示已加载库并正在处理预览图像。我可以调用不引用libaruco.so的本机代码。
当我从我的本机代码调用libaruco.so中的任何代码时,应用程序崩溃并显示上面显示的SIGABRT行。
重申 - 我已成功构建本机项目,并使用OpenCV for Android,因此我知道这些部分是如何工作的。问题是使用这个预建的共享库。
有没有办法测试libaruco.so共享库,除了在Android上运行它以查看它是否与我的原生项目兼容?
有关使用CMake工具链为Android构建库的任何其他建议吗?
我的项目本机代码和libaruco.so代码都是使用NDK中的相同编译器构建的,APP_ABI,APP_STL,flags等的设置相同。唯一的区别是一个是使用CMake构建的,一个是由蚀。
完整的logcat输出:
04-14 13:40:31.135: I/art(6393): CheckJNI enabled: not enabling JNI app bug workarounds.
04-14 13:40:31.171: I/ArucoTestBoard(6393): Instantiated new class com.gdeb.sparky.aruco_test_board.ArucoTestBoardActivity
04-14 13:40:31.177: I/ArucoTestBoard(6393): called onCreate
04-14 13:40:31.193: D/CameraBridge(6393): Attr count: 3
04-14 13:40:31.198: W/ContextImpl(6393): Implicit intents with startService are not safe: Intent { act=org.opencv.engine.BIND } android.content.ContextWrapper.bindService:517 org.opencv.android.AsyncServiceHelper.initOpenCV:24 org.opencv.android.OpenCVLoader.initAsync:74
04-14 13:40:31.274: D/CameraBridge(6393): call surfaceChanged event
04-14 13:40:31.470: D/OpenCVManager/Helper(6393): Service connection created
04-14 13:40:31.478: D/OpenCVManager/Helper(6393): Trying to get library path
04-14 13:40:31.568: D/OpenCVManager/Helper(6393): Trying to get library list
04-14 13:40:31.591: D/OpenCVManager/Helper(6393): Library list: ""
04-14 13:40:31.591: D/OpenCVManager/Helper(6393): First attempt to load libs
04-14 13:40:31.591: D/OpenCVManager/Helper(6393): Trying to init OpenCV libs
04-14 13:40:31.592: D/OpenCVManager/Helper(6393): Trying to load library /data/app-lib/org.opencv.engine-1/libopencv_java.so
04-14 13:40:31.617: D/OpenCVManager/Helper(6393): OpenCV libs init was ok!
04-14 13:40:31.617: D/OpenCVManager/Helper(6393): First attempt to load libs is OK
04-14 13:40:31.620: I/OpenCVManager/Helper(6393): General configuration for OpenCV 2.4.8.2 =====================================
04-14 13:40:31.620: I/OpenCVManager/Helper(6393): Version control: 2.4.8.2
04-14 13:40:31.620: I/OpenCVManager/Helper(6393): Platform:
04-14 13:40:31.620: I/OpenCVManager/Helper(6393): Host: Linux 3.2.0-56-generic x86_64
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Target: Linux 1 armv7-a
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): CMake: 2.8.12.1
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): CMake generator: Ninja
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): CMake build tool: /usr/local/bin/ninja
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Configuration: Release
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C/C++:
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Built as dynamic libs?: NO
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C++ Compiler: /opt/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ (ver 4.6)
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C++ flags (Release): -fexceptions -frtti -Wno-psabi --sysroot=/opt/android-ndk-r8c/platforms/android-9/arch-arm -fpic -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack -fweb -fwrapv -frename-registers -fsched2-use-superblocks -fsched2-use-traces -fsched-stalled-insns-dep=100 -fsched-stalled-insns=2 -fno-tree-vectorize -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -fdiagnostics-show-option -fomit-frame-pointer -mfpu=neon -mthumb -fomit-frame-pointer -fno-strict-aliasing -O3 -DNDEBUG -DNDEBUG
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C++ flags (Debug): -fexceptions -frtti -Wno-psabi --sysroot=/opt/android-ndk-r8c/platforms/android-9/arch-arm -fpic -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack -fweb -fwrapv -frename-registers -fsched2-use-superblocks -fsched2-use-traces -fsched-stalled-insns-dep=100 -fsched-stalled-insns=2 -fno-tree-vectorize -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -fdiagnostics-show-option -fomit-frame-pointer -mfpu=neon -marm -fno-omit-frame-pointer -fno-strict-aliasing -O0 -g -DDEBUG -D_DEBUG -O0 -DDEBUG -D_DEBUG
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C Compiler: /opt/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C flags (Release): -fexceptions -Wno-psabi --sysroot=/opt/android-ndk-r8c/platforms/android-9/arch-arm -fpic -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack -fweb -fwrapv -frename-registers -fsched2-use-superblocks -fsched2-use-traces -fsched-stalled-insns-dep=100 -fsched-stalled-insns=2 -fno-tree-vectorize -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -fomit-frame-pointer -mfpu=neon -mthumb -fomit-frame-pointer -fno-strict-aliasing -O3 -DNDEBUG -DNDEBUG
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): C flags (Debug): -fexceptions -Wno-psabi --sysroot=/opt/android-ndk-r8c/platforms/android-9/arch-arm -fpic -funwind-tables -finline-limit=64 -fsigned-char -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fdata-sections -ffunction-sections -Wa,--noexecstack -fweb -fwrapv -frename-registers -fsched2-use-superblocks -fsched2-use-traces -fsched-stalled-insns-dep=100 -fsched-stalled-insns=2 -fno-tree-vectorize -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -fomit-frame-pointer -mfpu=neon -marm -fno-omit-frame-pointer -fno-strict-aliasing -O0 -g -DDEBUG -D_DEBUG -O0 -DDEBUG -D_DEBUG
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Linker flags (Release): -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-allow-shlib-undefined -Wl,--gc-sections -fuse-ld=gold -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Linker flags (Debug): -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-allow-shlib-undefined -Wl,--gc-sections -fuse-ld=gold -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Precompiled headers: NO
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): OpenCV modules:
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): To be built: core androidcamera flann imgproc highgui features2d calib3d ml objdetect video contrib photo java dynamicuda legacy gpu ocl stitching ts videostab
04-14 13:40:31.625: I/OpenCVManager/Helper(6393): Disabled: world
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Disabled by dependency: -
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Unavailable: nonfree python superres facedetect imuvstab tegra vstab
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Android:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Android ABI: armeabi-v7a with NEON
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): STL type: gnustl_static
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Native API level: android-9
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): SDK target: android-11
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Android NDK: /opt/android-ndk-r8c (toolchain: arm-linux-androideabi-4.6)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): android tool: /opt/android-sdk-linux/tools/android (Android SDK Tools, revision 22.3.)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Google Play package: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Android examples: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): GUI:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): GTK+ 2.x: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): GThread : NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): GtkGlExt: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): OpenGL support: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Media I/O:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): ZLib: z (ver 1.2.3)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): JPEG: build (ver 62)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): PNG: build (ver 1.5.12)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): TIFF: build (ver 42 - 4.0.2)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): JPEG 2000: build (ver 1.900.1)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): OpenEXR: build (ver 1.7.1)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Video I/O:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): AndroidNativeCamera: YES, use prebuilt libraries
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Other third-party libraries:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use IPP: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use Eigen: YES (ver 3.1.2)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use TBB: YES (ver 4.1 interface 6102)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use OpenMP: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use GCD NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use Concurrency NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use C=: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use Cuda: YES (ver 6.0)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use OpenCL: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): NVIDIA CUDA
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use CUFFT: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use CUBLAS: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): USE NVCUVID: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): NVIDIA GPU arch: 32
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): NVIDIA PTX archs:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use fast math: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): OpenCL:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Version: dynamic
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Include path: /home/reports/ci/slave_desktop/50-SDK/opencv/3rdparty/include/opencl/1.2
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use AMD FFT: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Use AMD BLAS: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Python:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Interpreter: /usr/bin/python2 (ver 2.7.3)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Java:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): ant: /usr/bin/ant (ver 1.8.2)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Java tests: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Documentation:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Build Documentation: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Sphinx: /usr/local/bin/sphinx-build (ver 1.1.3)
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): PdfLaTeX compiler: /usr/bin/pdflatex
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Tests and samples:
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Tests: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Performance tests: YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): C/C++ Examples: NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): Install path: /home/reports/ci/slave_desktop/50-SDK/build/builds/o4t/install
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): cvconfig.h is in: /home/reports/ci/slave_desktop/50-SDK/build/builds/o4t
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): -----------------------------------------------------------------
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): General configuration for OpenCV4Tegra =====================================
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): inner version 2.4.8.2
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): memory allocator YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): hardware link YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): compact sources YES
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): logging enabled NO
04-14 13:40:31.626: I/OpenCVManager/Helper(6393): -----------------------------------------------------------------
04-14 13:40:31.626: D/OpenCVManager/Helper(6393): Init finished with status 0
04-14 13:40:31.627: D/OpenCVManager/Helper(6393): Unbind from service
04-14 13:40:31.628: D/OpenCVManager/Helper(6393): Calling using callback
04-14 13:40:31.628: I/ArucoTestBoard(6393): OpenCV loaded successfully
04-14 13:40:31.649: I/ArucoTestBoard(6393): aruco loaded successfully
04-14 13:40:31.650: I/ArucoTestBoard(6393): aruco_test_board loaded successfully
04-14 13:40:31.650: D/JavaCameraView(6393): Connecting to camera
04-14 13:40:31.650: D/JavaCameraView(6393): Initialize java camera
04-14 13:40:31.650: D/JavaCameraView(6393): Trying to open camera with old open()
04-14 13:40:31.744: D/JavaCameraView(6393): getSupportedPreviewSizes()
04-14 13:40:31.745: D/JavaCameraView(6393): Set preview size to 1920x1080
04-14 13:40:31.749: D/libEGL(6393): loaded /system/lib/egl/libEGL_tegra.so
04-14 13:40:31.749: I/(6393): Attempting to load EGL implementation libEGL_tegra_impl
04-14 13:40:31.752: I/(6393): Loaded EGL implementation libEGL_tegra_impl
04-14 13:40:31.761: D/libEGL(6393): loaded /system/lib/egl/libGLESv1_CM_tegra.so
04-14 13:40:31.763: D/libEGL(6393): loaded /system/lib/egl/libGLESv2_tegra.so
04-14 13:40:31.869: I/(6393): Loading GLESv2 implementation libGLESv2_tegra_impl
04-14 13:40:31.872: E/libEGL(6393): validate_display:254 error 3008 (EGL_BAD_DISPLAY)
04-14 13:40:31.877: D/JavaCameraView(6393): startPreview
04-14 13:40:31.971: D/JavaCameraView(6393): Starting processing thread
04-14 13:40:32.158: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:32.232: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:32.357: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:32.406: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:37.667: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:37.688: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:37.767: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:37.789: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:37.871: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:37.883: I/ArucoTestBoard(6393): would be GetStatus()
04-14 13:40:37.907: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:37.971: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:37.998: D/CameraBridge(6393): mStretch value: 1.0
04-14 13:40:38.075: I/ArucoTestBoard(6393): called onOptionsItemSelected; selected item: Init Camera
04-14 13:40:38.075: D/JavaCameraView(6393): Preview Frame received. Frame size: 3110400
04-14 13:40:38.078: I/ArucoTestBoard(6393): calling InitCamera(), 1920, 1080
04-14 13:40:38.080: I/ArucoTestBoard(6393): started InitCamera()
04-14 13:40:38.084: A/libc(6393): Fatal signal 6 (SIGABRT) at 0x000018f9 (code=-6), thread 6547 (Thread-615)
04-14 13:40:38.099: D/CameraBridge(6393): mStretch value: 1.0
中止的Java代码:
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
final int viewMode = mViewMode;
switch (viewMode) {
case VIEW_MODE_INIT:
Log.i(TAG, "calling InitCamera(), " + mWidth + ", " + mHeight);
//InitCamera(mWidth, mHeight);
// long running init of camera
Runnable runnable = new Runnable() {
@Override
public void run() {
InitCamera(mWidth, mHeight);
mInitCameraDone = true;
}
};
new Thread(runnable).start();
Log.i(TAG, "started InitCamera()");
// Reset view mode
mViewMode = VIEW_MODE_RGBA;
break;
}
InitCamera(int,int)是此项目中的本机代码。如果我不从InitCamera()调用共享库,应用程序将运行。一旦我调用共享库,我就会收到SIGABRT。
来自堆栈跟踪的ndk-stack转储:
********** Crash dump: **********
Build fingerprint: 'google/tango/yellowstone:4.4.2/KOT49H.150309/150309002:user/release-keys'
pid: 6393, tid: 6547, name: Thread-615 >>> com.gdeb.sparky.aruco_test_board <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Stack frame I/DEBUG ( 161): #00 pc 00021f78 /system/lib/libc.so (tgkill+12)
Stack frame I/DEBUG ( 161): #01 pc 0001300d /system/lib/libc.so (pthread_kill+48)
Stack frame I/DEBUG ( 161): #02 pc 00013221 /system/lib/libc.so (raise+10)
Stack frame I/DEBUG ( 161): #03 pc 00011f57 /system/lib/libc.so
Stack frame I/DEBUG ( 161): #04 pc 0002182c /system/lib/libc.so (abort+4)
Stack frame I/DEBUG ( 161): #05 pc 0028be24 /data/app-lib/com.gdeb.sparky.aruco_test_board-1/libaruco.so (__gnu_cxx::__verbose_terminate_handler()+344): Routine ??
??:0
Crash dump is complete