linux malloc卡死的问题(ubuntu 12.04 gcc4.6.3)

Raul_77 2012-12-07 12:17:15
gdb调试提示如下:malloc.c:2945: __libc_malloc: Assertion `!victim || ((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(victim) - 2*(sizeof(size_t))))) & ~((2 * (512 * 1024))-1)))->ar_ptr : &main_arena)' failed.

常见的内存操作问题,是free多次,内存越界。我这里貌似都没这些问题。
...全文
480 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Raul_77 2012-12-13
  • 打赏
  • 举报
回复
是多线程。问题已经解决了,内存越界引起的。系统内存的管理是用一个链表来维护的,估计是把当前记录内存的链表头的节点给“踩掉”了,导致找不到可用的内存块。
mymtom 2012-12-07
  • 打赏
  • 举报
回复
是多线程吗?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧