Ubuntu 18.04.1上的MYNT EYE D SDK分段错误

时间:2019-07-05 18:56:14

标签: ubuntu ubuntu-18.04

我目前正在Ubuntu 18.04.1 Laption上使用MYNT-EYE-D相机。我遵循了文档中给出的所有说明,并安装了所有必备软件。其中包括VTK,PCL和Opencv。 但是每次我插入MYNT-EYE-D并尝试运行./samples/_output/bin/get_image或示例中的任何其他可执行文件时,都会收到以下错误:

I/eSPDI_API: eSPDI: EtronDI_Init
Device descriptors:
  name: MYNT-EYE-D1000
  serial_number: 2038375335485012003D0020
  firmware_version: 1.1
  hardware_version: 2.0
  spec_version: 1.0
  lens_type: 0000
  imu_type: 0000
  nominal_baseline: 120

--------------------------------------------------------------------------------
Index | Device Information
--------------------------------------------------------------------------------
    0 | index: 0, name: /dev/video2, type: 2, pid: 0x120, vid: 0x1e4e, chip_id: 0x15, fw_version: SICI-B01-B0135P-BL60U-016-003-EnDepthPostProcess-ISO_Plugout2M, serial_number: 
--------------------------------------------------------------------------------
Auto select a device to open, index: 0
--------------------------------------------------------------------------------
Index | Color Stream Information
--------------------------------------------------------------------------------
    0 | index: 0, width: 1280, height: 720, format: STREAM_YUYV
    1 | index: 1, width: 2560, height: 720, format: STREAM_YUYV
    2 | index: 2, width: 2560, height: 960, format: STREAM_YUYV
    3 | index: 3, width: 1280, height: 480, format: STREAM_YUYV
    4 | index: 4, width: 640, height: 480, format: STREAM_YUYV
    5 | index: 5, width: 1280, height: 720, format: STREAM_MJPG
    6 | index: 6, width: 2560, height: 720, format: STREAM_MJPG
    7 | index: 7, width: 2560, height: 960, format: STREAM_MJPG
--------------------------------------------------------------------------------
Index | Depth Stream Information
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Open device: 0, /dev/video2

D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=35D/eSPDI_API: SetPropertyValue control=7 value=1-- Auto-exposure state: enabled
D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=12D/eSPDI_API: SetPropertyValue control=7 value=1-- Auto-white balance state: enabled
**Error: Depth Mode width[1280] height[720] format[YUYV] not support. Please check the resolution list.**
-- Framerate: 10
D/eSPDI_API: SetPropertyValue control=7 value=7-- Color Stream: 1280x720 YUYV
-- Depth Stream: 0x0 YUYV
D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=3D/eSPDI_API: SetPropertyValue control=7 value=4
-- IR intensity: 4
D/eSPDI_API: CVideoDevice::OpenDevice 1280x720 fps=10
EtronDI_GetRectifyMatLogData,
EtronDI_GetRectifyMatLogData,

Open device success

Press ESC/Q on Windows to terminate
**Segmentation fault (core dumped)**

Following is my system specification:
**Linux 4.18.0-24-generic #25~18.04.1-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux**

I tried running the same with GNU debugger and I got following output:

GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./samples/_output/bin/get_image...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/seegrid.local/srane/MYNT-EYE-D-SDK/samples/_output/bin/get_image 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
I/eSPDI_API: eSPDI: EtronDI_Init
Device descriptors:
  name: MYNT-EYE-D1000
  serial_number: 2038375335485012003D0020
  firmware_version: 1.1
  hardware_version: 2.0
  spec_version: 1.0
  lens_type: 0000
  imu_type: 0000
  nominal_baseline: 120

--------------------------------------------------------------------------------
Index | Device Information
--------------------------------------------------------------------------------
    0 | index: 0, name: /dev/video2, type: 2, pid: 0x120, vid: 0x1e4e, chip_id: 0x15, fw_version: SICI-B01-B0135P-BL60U-016-003-EnDepthPostProcess-ISO_Plugout2M, serial_number: 
--------------------------------------------------------------------------------
Auto select a device to open, index: 0
--------------------------------------------------------------------------------
Index | Color Stream Information
--------------------------------------------------------------------------------
    0 | index: 0, width: 1280, height: 720, format: STREAM_YUYV
    1 | index: 1, width: 2560, height: 720, format: STREAM_YUYV
    2 | index: 2, width: 2560, height: 960, format: STREAM_YUYV
    3 | index: 3, width: 1280, height: 480, format: STREAM_YUYV
    4 | index: 4, width: 640, height: 480, format: STREAM_YUYV
    5 | index: 5, width: 1280, height: 720, format: STREAM_MJPG
    6 | index: 6, width: 2560, height: 720, format: STREAM_MJPG
    7 | index: 7, width: 2560, height: 960, format: STREAM_MJPG
--------------------------------------------------------------------------------
Index | Depth Stream Information
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Open device: 0, /dev/video2

D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=35D/eSPDI_API: SetPropertyValue control=7 value=1-- Auto-exposure state: enabled
D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=12D/eSPDI_API: SetPropertyValue control=7 value=1-- Auto-white balance state: enabled
Error: Depth Mode width[1280] height[720] format[YUYV] not support. Please check the resolution list.
-- Framerate: 10
D/eSPDI_API: SetPropertyValue control=7 value=7-- Color Stream: 1280x720 YUYV
-- Depth Stream: 0x0 YUYV
D/eSPDI_API: SetPropertyValue control=7 value=0D/eSPDI_API: SetPropertyValue control=7 value=3D/eSPDI_API: SetPropertyValue control=7 value=4
-- IR intensity: 4
D/eSPDI_API: CVideoDevice::OpenDevice 1280x720 fps=10
EtronDI_GetRectifyMatLogData,
EtronDI_GetRectifyMatLogData,
[New Thread 0x7fffd7a06700 (LWP 14731)]
[New Thread 0x7fffd7205700 (LWP 14732)]
[New Thread 0x7fffd6a04700 (LWP 14733)]

Open device success

Press ESC/Q on Windows to terminate

Thread 3 "get_image" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd7205700 (LWP 14732)]
0x00007ffff63e0e9c in EtronDI_GetDepthImage(void*, tagDEVSEL*, unsigned char*, unsigned long*, int*, int) () from /usr/local/lib/3rdparty/libeSPDI.so
(gdb) bt
#0  0x00007ffff63e0e9c in EtronDI_GetDepthImage(void*, tagDEVSEL*, unsigned char*, unsigned long*, int*, int) () at /usr/local/lib/3rdparty/libeSPDI.so
#1  0x00007ffff7bc0b47 in mynteyed::Device::GetImageDepth() () at /usr/local/lib/libmynteye_depth.so.1
#2  0x00007ffff7bac0be in mynteyed::Streams::CaptureStreamDepth() () at /usr/local/lib/libmynteye_depth.so.1
#3  0x00007ffff7bae16e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<mynteyed::Streams::StartStreamCapturing()::{lambda()#1}> > >::_M_run() () at /usr/local/lib/libmynteye_depth.so.1
#4  0x00007ffff6cf766f in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff40b86db in start_thread (arg=0x7fffd7205700) at pthread_create.c:463
#6  0x00007ffff675288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

1 个答案:

答案 0 :(得分:0)

这可能与此问题有关:

https://github.com/slightech/MYNT-EYE-D-SDK/issues/13

在该线程中,有人通过修改libeSPDI二进制文件中的单个字节来发布修复程序。