smallbin double linked list corrupted

/home/huhuateng/arm-2009q1/bin/arm-none-linux-gnueabi-gcc
/home/huhuateng/arm-linux-gnueabihf-4.7-20130415/bin/arm-linux-gnueabihf-gcc

*** glibc detected *** /opt/ylpst/ylpst-sample-client: malloc(): smallbin double linked list corrupted: 0x00a4ebf8 ***

glibc detected malloc(): smallbin double linked list corrupted:

*** glibc detected *** /opt/ylpst/ylpst-sample-client: double free or corruption (fasttop): 0x0152ce30 ***
** glibc detected *** /opt/ylpst/ylpst-sample-client: malloc(): smallbin double linked list corrupted: 0x00a551d0 ***

 

问题现象:加入多线程后,程序总共三个线程。程序线程崩溃,但是主线程仍然运行,线程崩溃时随机报以上四个错误中的一个。刚开始认为linked list 是值链表数这种据结构使用中出了问题。

 

后来经他人提示,double linked list是指的重复链接库导致的,刚好最近把程序的libcurl库版本提升了,又

 

 

c++编译器类反射

自动收集class类信息

然后自动注册handler

 

跑valgrind  跑一下Valgrind把

http://m.blog.chinaunix.net/uid-23225855-id-3064173.html

https://stackoverflow.com/questions/16394877/qt-malloc-smallbin-double-linked-list-corrupted

有没有出现函数复用情况

用qemu模拟一下

探针工具去做测试或者扫描了

 

 

最终解决:qt中界面控制的一部分内容放入了线程,修改为信号槽间接控制解决。关于界面部分错误操作报错如上,报错内容看不出什么有指导的信息。

posted @ 2022-06-14 20:40  七君子风  阅读(1565)  评论(0编辑  收藏  举报