[Box Backup] free(): invalid pointer

Dennis Heltzel boxbackup@fluffy.co.uk
Thu, 9 Dec 2004 11:32:04 -0500 (EST)


> These are all good instructions, but the daemon will fork and prove
> difficult to debug. To stop this, do
>
>    run /etc/box/bbackupd.conf SINGLEPROCESS
>
> I hope you'll give it a go!
>
> Ben

OK, I think I got the trace. The complete output is below. I figured out
that the segmentation fault was being caused by my adding an entry into
the config file to backup another directory. I removed that and the daemon
started up. It still gives the "free(): invalid pointer 0x80a08d4!"
message 3 times, I don't know if that is significant or not. If it isn't,
it is a bit scary and should probably be caught and not displayed to the
hapless new user. When I try to end the process with bbackupctl terminate,
I get a "free(): invalid pointer 0x80598f0!" 3 times  and it seems to
hang. I just kill it with a kill -9 for now.

# gdb ./bbackupd
GNU gdb Red Hat Linux (6.0post-0.20040223.19rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"..../bbackupd: No such
file or directory.

(gdb) file ./bbackupd
./bbackupd: No such file or directory.
(gdb) file bbackupd
Reading symbols from bbackupd...(no debugging symbols found)...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run /etc/box/bbackupd.conf SINGLEPROCESS
Starting program: /usr/local/bin/bbackupd /etc/box/bbackupd.conf
SINGLEPROCESS
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...[Thread debugging using libthread_db enabled]
[New Thread -151112448 (LWP 28088)]
Box Backup Client v0.09, (c) Ben Summers 2003, 2004
free(): invalid pointer 0x80a08d4!
free(): invalid pointer 0x80a08d4!
free(): invalid pointer 0x80a08d4!
free(): invalid pointer 0x80a08d4!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -151112448 (LWP 28088)]
0x0807d7f7 in Configuration::Verify ()
(gdb) bt
#0  0x0807d7f7 in Configuration::Verify ()
#1  0x0807d8dc in Configuration::Verify ()
#2  0x08079254 in Configuration::LoadAndVerify ()
#3  0x0807277b in Daemon::Main ()
#4  0x0804ae7c in main ()
(gdb)