最近在调优DeepSORT代码时是遇到一个奇怪的错误,将tracker里特征数据改成由opencv HOG数据类型后,代码总是崩溃,使用GDB调试发现崩溃发生在一句看似根本不可能崩溃的语句上:
free(): corrupted unsorted chunks
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Core was generated by `./bright'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f2cdba8a0 (LWP 7121))]
(gdb) bt
#0 0x0000007f8f3074f8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x0000007f8f3088d4 in __GI_abort () at abort.c:79
#2 0x0000007f8f34168c in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f8f4026f8 "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3 0x0000007f8f347a04 in malloc_printerr (str=str@entry=0x7f8

在优化DeepSORT代码时遇到一个内存崩溃问题,错误信息显示为'free(): corrupted unsorted chunks'。经过GDB调试,发现在定义特征向量descriptors时出现崩溃,但实际原因是hog.compute()函数参数设置不正确。原来,图片被缩放为30x30,但在hog.compute()中使用了(20,20)的步长和填充,导致错误。调整参数后,程序恢复正常。这个问题表明,错误提示并不总能准确指出问题所在,需要深入分析调用栈才能找到真正原因。
最低0.47元/天 解锁文章
1786

被折叠的 条评论
为什么被折叠?



