Don't understand backtrace on invalid pointer
Hi, whenever I quit my program, it will crash instead due to an free(): invalid pointer. When I back trace with gdb, this what I get -
Code:
(gdb) back
#0 0xb7fe2424 in __kernel_vsyscall ()
#1 0xb7b3c751 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xb7b3fb82 in *__GI_abort () at abort.c:92
#3 0xb7b7318d in __libc_message (do_abort=2, fmt=0xb7c37738 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#4 0xb7b7d281 in malloc_printerr (action=<value optimized out>, str=0x6 <Address 0x6 out of bounds>, ptr=0xb7a33b70)
at malloc.c:6267
#5 0xb7b7ead8 in _int_free (av=<value optimized out>, p=<value optimized out>) at malloc.c:4795
#6 0xb7b81bbd in *__GI___libc_free (mem=0xb7a33b70) at malloc.c:3739
#7 0xb7f5e7c5 in Fl_Preferences::Node::~Node() () from /usr/lib/libfltk.so.1.1
#8 0xb7f5fd6f in Fl_Preferences::RootNode::~RootNode() () from /usr/lib/libfltk.so.1.1
#9 0xb7f5fdf7 in Fl_Preferences::~Fl_Preferences() () from /usr/lib/libfltk.so.1.1
#10 0xb7b41688 in __cxa_finalize (d=0xb7faf8c0) at cxa_finalize.c:56
#11 0xb7f2c804 in ?? () from /usr/lib/libfltk.so.1.1
#12 0xb7f98da0 in _fini () from /usr/lib/libfltk.so.1.1
#13 0xb7ff1226 in _dl_fini () at dl-fini.c:248
#14 0xb7b412bf in __run_exit_handlers (status=0, listp=0xb7c54304, run_list_atexit=true) at exit.c:78
#15 0xb7b4132f in *__GI_exit (status=0) at exit.c:100
#16 0xb7b28c7e in __libc_start_main (main=0x804f2e0 <main>, argc=5, ubp_av=0xbffff464,
init=0x8060110 <__libc_csu_init>, fini=0x8060100 <__libc_csu_fini>, rtld_fini=0xb7ff1040 <_dl_fini>,
stack_end=0xbffff45c) at libc-start.c:260
#17 0x0804a8d1 in _start ()
None of these are files in my program. I can't really make anything useful out of it. The only thing that stands out to me is #4, but I don't know what to do about it. Can someone try to explain what this is trying to tell me or what to look for? Any help is appreciated.