Closed ZZy129326999 closed 1 year ago
I can well run FAST-LIO, R3LIVE. But I do not run FAST-LIVO in hku1.bag.
` src/FAST-LIVO/src/laserMapping.cpp
if (feats_undistort->empty() || (feats_undistort == nullptr))
{
// cout<<" No point!!!"<<endl;
if (!fast_lio_is_ready)
{
first_lidar_time = LidarMeasures.lidar_beg_time;
p_imu->first_lidar_time = first_lidar_time;
LidarMeasures.measures.clear();
cout<<"FAST-LIO not ready"<<endl;
continue;
}
}
` 这个是我用 gdb 定位的错误,我的配置是Ubuntu20.04,其他包都没啥问题,也是最近两天重装的系统,应该不存在其他的干扰。
gdb的终端提示可以发下么
[ INFO] [1671458733.991821882]: IMU Initializing: 10.0 % corrupted size vs. prev_size --Type
for more, q to quit, c to continue without paging--c
Thread 1 "fastlivo_mappin" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: 没有那个文件或目录. (gdb) bt
(action=action@entry=do_abort, fmt=fmt@entry=0x7ffff4cc2298 "%s\n")
at ../sysdeps/posix/libc_fatal.c:155
(str=str@entry=0x7ffff4cc044d "corrupted size vs. prev_size")
at malloc.c:5347
(p=p@entry=0x55555c429a90, av=0x7ffff4cf7b80 <main_arena>) at malloc.c:1454
(av=0x7ffff4cf7b80 <main_arena>, p=0x55555c429930, have_lock=<optimized out>) at malloc.c:4342
(this=0x55555c8a0af0)
at /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:112
at /usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:108
(this=0x55555c06e648, __in_chrg=<optimized out>)
at /usr/include/boost/smart_ptr/detail/shared_count.hpp:427
--Type
(__pointer=0x55555c06e640) at /usr/include/c++/9/bits/stl_construct.h:98
at /usr/include/c++/9/bits/stl_construct.h:108
(__last=<optimized out>, __first=<optimized out>)
at /usr/include/c++/9/bits/stl_construct.h:137
(__last=0x55555c06e700, __first=<optimized out>)
at /usr/include/c++/9/bits/stl_construct.h:206
t> > >::_M_destroy_data_aux(std::_Deque_iterator<boost::shared_ptr<sensormsgs::Imu<std::allocator
at /usr/include/c++/9/bits/stl_deque.h:167
--Type
(this=0x55555c06f830, __in_chrg=<optimized out>)
at /home/zzy/work/catkin_ws/fast_livo_ws/src/FAST-LIVO/include/common_lib.h:149
at /usr/include/c++/9/bits/stl_construct.h:98
at /usr/include/c++/9/bits/stl_construct.h:108
(__last=<optimized out>, __first=<optimized out>)
at /usr/include/c++/9/bits/stl_construct.h:137
at /usr/include/c++/9/bits/stl_construct.h:206
(this=<optimized out>, __first=
{img_offset_time = 0, imu = std::deque with 20 elements = {{px = 0x55555c8a0170, pn = {pi_ = 0x55555c06f7c0}}, {px = 0x55555c8a02d0, pn = {pi_ = 0x55555c8a0430}}, {px = 0x55555c89e890, pn = {pi_ = 0x55555c4de440}}, {px = 0x55555c89e--Type <RET> for more, q to quit, c to continue without paging--
710, pn = {pi = 0x55555c39aa10}}, {px = 0x55555c89e590, pn = {pi = 0x55555c89e470}}, {px = 0x55555c4dbea0, pn = {pi = 0x55555c89e490}}, {px = 0x55555c4dce00, pn = {pi = 0x55555c42cfa0}}, {px = 0x55555c8a1070, pn = {pi = 0x55555c8a0660}}, {px = 0x55555c429940, pn = {pi = 0x55555c8a0af0}}, {px = 0x55555c89eb90, pn = {pi = 0x55555c89fd70}}, {px = 0x55555c89f610, pn = {pi = 0x55555c89f2f0}}, {px = 0x55555c89f490, pn = {pi = 0x55555c89f470}}, {px = 0x55555c89f310, pn = {pi = 0x55555c89f5f0}}, {px = 0x55555c89f190, pn = {pi = 0x55555c89f770}}, {px = 0x55555c89f010, pn = {pi = 0x55555c89f8f0}}, {px = 0x55555c89ee90, pn = {pi = 0x55555c89fa70}}, {px = 0x55555c89ed10, pn = {pi = 0x55555c89fbf0}}, {px = 0x55555c89f790, pn = {pi = 0x55555c89f170}}, {px = 0x55555c89fc10, pn = {pi = 0x55555c89e6f0}}, {px = 0x55555c89fa90, pn = {pi_ = 0x55555c89e870}}}, img = {flags = 1124007936, dims = 0, rows = 0, cols = 0, data = 0x0, datastart = 0x0, dataend = 0x0, datalimit = 0x0, allocator = 0x0, u = 0x0, size = {p = 0x55555c06f890}, step = {p = 0x55555c06f8d8, buf = {0, 0}}}}, __last= {img_offset_time = 0, imu = std::deque with -32 elements, img = {flags = 0, dims = 0, rows = 0, cols = 0, data = 0x0, datastart = 0x0, dataend = 0x0, datalimit = 0x0, allocator = 0x0, u = 0x0, size = {p = 0x0}, step = {p = 0x0, buf = {0, 0}}}}) at /usr/include/c++/9/bits/deque.tcc:870
(__last=..., __first=..., this=0x555555623540 <LidarMeasures+32>)
--Type
(__pos=..., this=0x555555623540 <LidarMeasures+32>)
at /usr/include/c++/9/bits/stl_deque.h:2134
(this=0x555555623540 <LidarMeasures+32>)
at /usr/include/c++/9/bits/stl_deque.h:1868
at /home/zzy/work/catkin_ws/fast_livo_ws/src/FAST-LIVO/src/laserMapping.cpp:1306
` src/FAST-LIVO/src/laserMapping.cpp
if (feats_undistort->empty() || (feats_undistort == nullptr)) { // cout<<" No point!!!"<<endl; if (!fast_lio_is_ready) { first_lidar_time = LidarMeasures.lidar_beg_time; p_imu->first_lidar_time = first_lidar_time; LidarMeasures.measures.clear(); cout<<"FAST-LIO not ready"<<endl; continue; } }
展开的gdb发到前一个信息里了,LidarMeasures.measures.clear(); 这个是1306中断的代码。感谢您啦!!
用std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试
std::deque
().swap(LidarMeasures.measures)
0x0}, step = {p = 0x0, buf = {0, 0}}}}) at /usr/include/c++/9/bits/deque.tcc:870
p>, std::_Deque_iterator<MeasureGroup, MeasureGroup&, MeasureGroup>, std::allocator
(this=0x7fffffff8f80, __in_chrg=<optimized out>)
at /usr/include/c++/9/bits/stl_deque.h:1072
(argc=<optimized out>, argv=<optimized out>)
at /usr/include/c++/9/bits/move.h:182
(gdb) (gdb) up 25
at /usr/include/c++/9/bits/move.h:182
182 swap(_Tp& __a, _Tp& __b)
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试
感谢您的指教!!但是现在gdb定位不到具体位置了,感觉这个错误有些摸不到头绪。
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试
{img_offset_time = 0.0017692896071821451, imu = std::deque with -32 elements, img = {flags = 0, dims = 0, rows = 536870912, cols = 1067186637, data = 0x3fa772c8c0000000 <error: Cannot access memory at address 0x3fa772c8c0000000>, datastart = 0x3fefaeaec0000000 <error: Cannot access memory at address 0x3fefaeaec0000000>, dataend = 0x0, datalimit = 0x0, allocator = 0x0, u = 0x0, size = {p = 0x0}, step = {p = 0x0, buf = {0, 0}}}}) at /usr/include/c++/9/bits/stl_deque.h:2117
at /usr/include/c++/9/bits/stl_deque.h:1072
at /home/zzy/work/catkin_ws/fast_livo_ws/src/FAST-LIVO/src/laserMapping.cpp:1306
(gdb) (gdb) (gdb) up 26
at /home/zzy/work/catkin_ws/fast_livo_ws/src/FAST-LIVO/src/laserMapping.cpp:1306
1306 std::deque
这次我把rosbag play 停掉了,又有了。刚才没关rosbag就没定位到好像。 我顺便改成-O0了。麻烦您啦!!
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试 我尝试输出了deque的长度是1。
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试 我尝试输出了deque的长度是1。
Hello, have you solved this problem? I have the same question.
I also have the same question, but in my case I'm using a Jetson Orin and when i use the command $ roslaunch fast_livo mapping_avia.launch the launch shows me this
and the rviz doesn't show me the hku2.bag file. I made the same test in my computer and it works fine, do you know how can i solve this problem?
用
std::deque<struct MeasureGroup> ().swap(LidarMeasures.measures)
替换LidarMeasures.measures.clear()
试试 我尝试输出了deque的长度是1。
这个长度是1是没问题的,是别的问题,主要我这边无法复现你的问题,你解决这个问题了么?
你好 我也遇到了同样的问题,请问你解决了嘛?