[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

assert in eglibc:valloc()



Since a few months, people running debian have started reporting a bug to me,
which is an assert inside the eglibc valloc() implementation.

The reason why I get the bug report is because they're using my libtorrent
library (libtorrent.org) which uses valloc() to allocate page aligned disk
buffers.

The assert that triggers (not consistently, but typically around after 24 hours
of runtime) is:

malloc.c:3951: __libc_valloc: Assertion `!p || ((((mchunkptr)((char*)(p) -
2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(p) -
2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned
long)(((mchunkptr)((char*)(p) - 2*(sizeof(size_t))))) & ~((2 * (512 *
1024))-1)))->ar_ptr : &main_arena)' failed.

I assumed that somebody would report and fix this, but it seems like it's still
happening. If you need any more information, please let me know and I can get
you in touch with the people that are actually seeing this.

It is my impression that this did not happen when debian was using glibc (as
opposed to eglibc).

thanks,
-- 
Arvid Norberg


Reply to: