Hi... On Sun, Apr 10, 2011 at 09:08, Brad Hards <br...@frogmouth.net> wrote: > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff5a4e66c in malloc_consolidate (av=0x7ffff5d55e40) at malloc.c:5161 > 5161 malloc.c: No such file or directory. > in malloc.c > (gdb) bt > #0 0x00007ffff5a4e66c in malloc_consolidate (av=0x7ffff5d55e40) at > malloc.c:5161 > #1 0x00007ffff5a51e82 in _int_malloc (av=0x7ffff5d55e40, bytes=2128) at > malloc.c:4373 > #2 0x00007ffff5a5338e in __libc_malloc (bytes=2128) at malloc.c:3660 > #3 0x000000000042b3d6 in qemu_malloc (size=2128) at qemu-malloc.c:49 > #4 0x000000000056100f in uhci_async_alloc (s=0x15dcc10) at > /home/bradh/qemu-codingstyle.git/hw/usb-uhci.c:167
looking at: http://www.linuxquestions.org/questions/programming-9/segfault-in-malloc_consolidate-363048/ and http://www.linuxquestions.org/questions/linux-general-1/malloc_consolidate-757663/ I feel that it's somekind double free or data overwriting the malloc metadata.... thus causing trouble during memory block coalescing... First thing I suggest is to check if malloc() is always followed by proper free().... and then see how much we really fill data into that allocated block (think about malloc exploit explained in Phrack...) -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com