本帖最后由 xhzhang 于 2021-2-3 15:44 编辑
你好,我从 https://github.com/MiiViiDynamics/miivii_gmsl_camera下载后,按照指南 cattkin_make,source,然后 rosrun,发现有3中情况:1、程序崩溃
2、卡住
由于调试,多运行几次rosrun和ctrl +c,后面就卡住不动,也无数据,发现卡在 gmsl_camera/nodes/miivii_gmsl_ros_node.cpp 中 grab_and_send_image()中if (m_gmsl_camera->GetImagePtr(gmsl_outbuf, timestap))位置。
3、设备被占用
系统信息:
# uname -r4.9.140-tegra
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
# cat /proc/device-tree/model
Jetson-AGX
程序崩溃的日志:
root@miivii-tegra:/home/nvidia/Documents/lm/ros_demo# /home/nvidia/Documents/lm/ros_demo/devel/lib/miivii_gmsl_ros/miivii_gmsl_ros_node
[ INFO] [1612337849.716014112]: starting to run gmsl camera construct function
78
111
[ INFO] [1612337849.747676000]: dev_name = /dev/video0 camWidth = 1280 camHeight = 720 fps = 25
116
MiiVii GMSL-Camera SDK Version: 0.0.0
managed_shared_memory ex: No such file or directory
Producer mode.
fmt.fmt.pix.width 1280
fmt.fmt.pix.height 720
fmt.fmt.pix.pixelformat 1448695129
libv4l2_nvvidconv (0) 802) (INFO) : Allocating (10) OUTPUT PLANE BUFFERS Layout=0
libv4l2_nvvidconv (0) 818) (INFO) : Allocating (10) CAPTURE PLANE BUFFERS Layout=0
10-bit Bayer RGRG/GBGB
device like buffer count: 4
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
124
[ INFO] [1612337850.073373920]: camera_cali_file_list 0 camera1
131
[ WARN] [1612337850.073749792]: fail to load calibration file for camera camera1, fallback to empty calibration
146
166
Segmentation fault (core dumped)
gdb core文件的结果:
(gdb) bt
#0 0x0000007f793d3010 in bool __gnu_cxx::__ops::_Iter_equals_val<int const>: perator()<int*>(int*) () from /usr/lib/libmvgmslcam.so
#1 0x0000007f793d0f6c in int* std::__find_if<int*, __gnu_cxx::__ops::_Iter_equals_val<int const> >(int*, int*, __gnu_cxx::__ops::_Iter_equals_val<int const>, std::random_access_iterator_tag) () from /usr/lib/libmvgmslcam.so
#2 0x0000007f793cf8c8 in int* std::__find_if<int*, __gnu_cxx::__ops::_Iter_equals_val<int const> >(int*, int*, __gnu_cxx::__ops::_Iter_equals_val<int const>) () from /usr/lib/libmvgmslcam.so
#3 0x0000007f793ce324 in int* std::find<int*, int>(int*, int*, int const&) () from /usr/lib/libmvgmslcam.so
#4 0x0000007f793c9638 in GetR5Output::FindThisProcessId() () from /usr/lib/libmvgmslcam.so
#5 0x0000007f793c8f74 in GetR5Output::GetTimeFromShm() () from /usr/lib/libmvgmslcam.so
#6 0x0000007f793c1f5c in GmslCamera::GrabVICsPtr(unsigned char**, unsigned long&) () from /usr/lib/libmvgmslcam.so
#7 0x0000007f793be514 in miivii::MvGmslCamera::GetImagePtr(unsigned char**, unsigned long&) () from /usr/lib/libmvgmslcam.so
#8 0x0000005593e47930 in miivii::miivii_gmsl_ros_node::grab_and_send_image() ()
#9 0x0000005593e47cdc in miivii::miivii_gmsl_ros_node::spin() ()
#10 0x0000005593e41fc4 in main ()
卡住的日志:
root@miivii-tegra:/home/nvidia/ros_demo# ls
build devel src test
root@miivii-tegra:/home/nvidia/ros_demo# source devel/setup.bash
root@miivii-tegra:/home/nvidia/ros_demo# rosrun miivii_gmsl_ros miivii_gmsl_ros_node
[ INFO] [1612334311.569478464]: starting to run gmsl camera construct function
78
111
[ INFO] [1612334311.605213248]: dev_name = /dev/video0 camWidth = 1280 camHeight = 720 fps = 25
116
MiiVii GMSL-Camera SDK Version: 0.0.0
Producer mode.
fmt.fmt.pix.width 1280
fmt.fmt.pix.height 720
fmt.fmt.pix.pixelformat 1448695129
libv4l2_nvvidconv (0) 802) (INFO) : Allocating (10) OUTPUT PLANE BUFFERS Layout=0
libv4l2_nvvidconv (0) 818) (INFO) : Allocating (10) CAPTURE PLANE BUFFERS Layout=0
10-bit Bayer RGRG/GBGB
device like buffer count: 4
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
Camera v4l2mmbuffer buf length is not expected: Invalid argument
[ INFO] [1612334311.873300288]: camera_cali_file_list 0 camera1
[ WARN] [1612334311.873534656]: fail to load calibration file for camera camera1, fallback to empty calibration
设备被占用的日志
root@miivii-tegra:/home/nvidia/ros_demo# rosrun miivii_gmsl_ros miivii_gmsl_ros_node
[ INFO] [1612335075.265607488]: starting to run gmsl camera construct function
78
111
[ INFO] [1612335075.287148256]: dev_name = /dev/video0 camWidth = 1280 camHeight = 720 fps = 25
116
MiiVii GMSL-Camera SDK Version: 0.0.0
managed_shared_memory ex: No such file or directory
Producer mode.
fmt.fmt.pix.width 1280
fmt.fmt.pix.height 720
fmt.fmt.pix.pixelformat 1448695129
libv4l2_nvvidconv (0) 802) (INFO) : Allocating (10) OUTPUT PLANE BUFFERS Layout=0
libv4l2_nvvidconv (0) 818) (INFO) : Allocating (10) CAPTURE PLANE BUFFERS Layout=0
10-bit Bayer RGRG/GBGB
VIDIOC_REQBUFS: Device or resource busy
|
|
|
|
|
共 5 个关于本帖的回复 最后回复于 2021-3-1 10:11