[Libguestfs] simplify debugging of guestfsd

Olaf Hering olaf at aepfle.de
Fri Sep 21 13:40:35 UTC 2012


On Fri, Sep 21, Richard W.M. Jones wrote:

> The problem with collecting core dumps is how you get them out of the
> appliance, given that it is short-lived and disappears on exit.  We
> looked at various methods including writing them to a block device or
> squirting it down a virtio-serial connection, but none of them are
> very satisfactory.

Yes, getting a file out of the guest is tricky.

> strace output can do through the usual console logging mechanism.

Yes, my take would be 'var="strace -f -s 123 -tt" ; $var guestfsd'.

> gdb seems intractable to me if you want to use gdb interactively.
> Just printing stack traces can go via the console logging mechanism.
> Note there's very limited development tools in the appliance (no
> debuginfo), and I'd be cautious about how much stuff gdb will pull in
> via dependencies.  That's why we looked at core dumps.

gdb is certainly more advanced, something like 'var="gdb --readnow -ex r
-ex bt -ex quit' ; $var guestfsd' would be good enough, or gdb
--command=FILE.
As you say, without adding debuginfo into guest the backtrace would be
not that useful. But its better than nothing.

Yesterday I tried to run guestfsd via gdb, and it required a few python
files. But it turned out that the actual segfault happend in the host,
not the guest. So I did not look further if gdb did really work.

Olaf




More information about the Libguestfs mailing list