分页: 1 / 1

malloc.c:3074

发表于 : 2009-10-17 17:13
wzssyqa
在一处malloc发生了

malloc.c:3074: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &(囗囗囗囗->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)' failed.
忽略 (core dumped)

这是怎么回事呢?

Re: malloc.c:3074

发表于 : 2009-10-17 17:29
wzssyqa
源代码见

viewtopic.php?f=70&t=232211

第四章

编译命令

gcc *.c -o dddd -lm -std=gnu99

Re: malloc.c:3074

发表于 : 2009-10-17 18:47
wzssyqa
找到了,是free静态数组指针造成的

Re: malloc.c:3074

发表于 : 2009-12-01 9:34
hugoli
我也遇到了这样的问题,怎么解决的,请告知下,好几天了都 没有解决,谢谢啊。方便的话留给偶QQ或者其他联系方式。

Re: malloc.c:3074

发表于 : 2009-12-01 10:10
wzssyqa
hugoli 写了:我也遇到了这样的问题,怎么解决的,请告知下,好几天了都 没有解决,谢谢啊。方便的话留给偶QQ或者其他联系方式。
检查所有的free函数,应该是free了已经free了的指针

Re: malloc.c:3074

发表于 : 2009-12-02 10:02
hugoli
非常感谢哈,总算解决了问题。不过偶的问题恰相反,一开始寻找free有没有重复释放,后来才发现,其实是有一个申请的空间没有free才出现 这样的问题。