【发布时间】:2017-08-30 12:56:15
【问题描述】:
使用 OpenCV 和 Caffe 的代码已在我测试过的所有 Linux 设备上运行。但是,在成功安装的 Jetson TX2 上启动它会导致此堆栈跟踪出现分段错误:
nvidia@tegra-ubuntu:~/Desktop$ gdb ./main
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
This GDB was configured as "aarch64-linux-gnu".
Reading symbols from ./main...done.
(gdb) r
Starting program: /home/nvidia/Desktop/main
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".Program received signal SIGSEGV, Segmentation fault.
0x0000007fb5e5d14c in google::protobuf::Arena::AllocateAligned(std::type_info const*, unsigned long) () from /usr/local/lib/libopencv_dnn.so.3.3
(gdb) bt
#0 0x0000007fb5e5d14c in google::protobuf::Arena::AllocateAligned(std::type_info const*, unsigned long) () from /usr/local/lib/libopencv_dnn.so.3.3
#1 0x0000007fb5e5d248 in google::protobuf::Arena::AddListNode(void*, void ()(void)) ()
from /usr/local/lib/libopencv_dnn.so.3.3
#2 0x0000007fb5eaaf34 in google::protobuf::FileDescriptorProto::New(google::protobuf::Arena*) const [clone .localalias.409] () from /usr/local/lib/libopencv_dnn.so.3.3
#3 0x0000007fad71bfc4 in google::protobuf::MessageLite::ParseFromArray(void const*, int)
() from /usr/lib/aarch64-linux-gnu/libprotobuf.so.9
#4 0x0000007fad763e70 in google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) () from /usr/lib/aarch64-linux-gnu/libprotobuf.so.9
#5 0x0000007fad726d30 in google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) () from /usr/lib/aarch64-linux-gnu/libprotobuf.so.9
#6 0x0000007fad7560bc in google::protobuf::protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() () from /usr/lib/aarch64-linux-gnu/libprotobuf.so.9
#7 0x0000007fb7fdfb18 in call_init (l=<optimized out>, argc=argc@entry=1,
argv=argv@entry=0x7ffffff478, env=env@entry=0x7ffffff488) at dl-init.c:72
#8 0x0000007fb7fdfc60 in call_init (env=0x7ffffff488, argv=0x7ffffff478, argc=1,
l=<optimized out>) at dl-init.c:30
#9 _dl_init (main_map=0x7fb8000190, argc=1, argv=0x7ffffff478, env=0x7ffffff488)
at dl-init.c:120
#10 0x0000007fb7fd2d44 in _dl_start_user () from /lib/ld-linux-aarch64.so.1
Protobuf 出现了很多,所以我安装了 protobuf 3.3 并重新编译了所有内容,但这也无济于事。使用 OpenCV 的简单代码示例可以正常工作,并且通过了 Caffe 运行测试。我如何搜索此段错误的解决方案?
阿维德
【问题讨论】:
-
您需要编译代码以供 Tegra 运行。这就是 Tegra SDK 的用途。
-
@Zindarod 它已经在 Tegra - Jetson TK1 和 TX1 上运行,但不在 TX2 上。