malloc或我的bug?

时间:2012-12-09 22:59:34

标签: c++ c gcc

这是我的错误还是错误/断言在malloc本身失败了?

  

alloc.c:2451:sYSMALLOc:断言`(old_top ==(((mbinptr)(((char *)   &(;(av) - > bins [((1) - 1)* 2])) - __builtin_offsetof(struct   malloc_chunk,fd))))&& old_size == 0)|| ((unsigned long)(old_size)

     
    

=(unsigned long)(((__ builtin_offsetof(struct malloc_chunk,fd_nextsize))+((2 *(sizeof(size_t))) - 1))&〜((2 *(sizeof(size_t)))      - 1)))&& ((old_top) - > size& 0x1)&& ((unsigned long)old_end& pagemask)== 0)'失败。

  
  • libstdc ++ 6:amd64 4.7.2-2ubuntu1
  • gcc 4.7.2
  • ubuntu 12.10 / 64bit

1 个答案:

答案 0 :(得分:2)

最可能的解释是程序中存在内存错误(写入释放内存,缓冲区溢出等)。 malloc()中的一个彻头彻尾的错误可能性要小得多。