[Box Backup] free(): invalid pointer

Martin Ebourne boxbackup@fluffy.co.uk
Wed, 08 Dec 2004 20:23:14 +0000


On Wed, 2004-12-08 at 19:57, Dennis Heltzel wrote:
> Never actually used a debugger. C is not my best language :)

Don't let that be a stumbling block - it's not that hard!

> I was hoping this was something someone else had already resolved. It's
> not critical, since I'm only testing boxbackup. I'll just try the next
> version and see if it fixes itself.

Nope, not resolved and if we don't fix it now, chances are the next
version will do it too.

> I know you're not a Linux person, but you probably recognize that your
> biggest "market" will be on Linux systems. If you don't have access to a
> development system running Linux, perhaps someone on the list can give you
> an account on one of their Linux devel boxes and you can do use that to
> try out new versions, etc.

I guess I'd be a 'Linux person', though I've never been called that! I
run box on Linux, both client and server, on fedora core 2. Many other
people run it on Linux too, so it should work.

It would be really good if we could debug this. If you are happy to
provide a shell account then I don't mind logging in and taking a look.

Otherwise if you could try what Ben suggested. No experience necessary,
it's quite easy really. You'd need a few modifications from the original
post because yours crashes, doesn't get stuck. Try:

Build a debug version. From within the distribution archive, type

   cd bin/bbackupd
   make

Kill any running daemon. Then start the debug version daemon under the
debugger. You'll probably need to be root.

   cd ../../debug/bin/bbackupd
   gdb ./bbackupd

After it has started type:

   run

(adding -c <config file> if your config file isn't 
/etc/box/bbackupd.conf)

Then wait until it crashes and type

   bt

to get a stack trace. Paste the whole lot into a mail and send to the list.

Quit the debugger with

   quit

If you don't have gdb then 'apt-get install gdb', or 'yum install gdb'.
Or even get the RPM manually.

Cheers,

Martin.