[Crash-utility] crash and libvirt, and more

Bryn M. Reeves breeves at redhat.com
Tue Aug 19 10:06:49 UTC 2008


Dave Anderson wrote:
>> Item (ii) is the big deal for us.  Our current virt-* tools can work
>> with a wide range of kernels.
>>
>> What we do is to download the kernel-debuginfo packages beforehand,
>> extract only the tiny amount of debug info we actually need from
>> vmlinux, and build a 'kernel database'.  (We're using dwarves to get
>> the layout of the dozen or so structures that we care about).  It
>> turns out that it's quite easy to heuristically determine the version
>> of a running kernel, and from that we can look up the structures in
>> the kernel database at runtime.

We do a similar task for a project we have for automatically setting up
crash environments for a given vmcore file.

>> Upshot is that we support currently ~ 350 kernels with a database
>> which is a modest 1 MB in size, and probably could be made smaller
>> with very little effort.
>>
>> The problem I haven't yet resolved with using crash is that we need a
>> matching, identical vmlinux image (ie. 50-100 MB) per guest kernel
>> version.  In the case where we see a kernel version we've not seen
>> before, we may have to download this and store it somewhere.
>>
>> The alternative seems to involve some really deep hacking inside gdb,
>> perhaps so it can be persuaded to use only partial debug info?
>>
>> I don't know if you have any thoughts about (ii).

Sounds like another possible use for the "debuginfo-server" idea that
comes up periodically. There are a couple of things that could benefit
from a centralised way of managing a collection of kernel (or other
package) debug data.

It needn't be anything spectacularly clever - even a few scripts that
pull down debuginfo packages to an NFS exported file system and unpack
them in some predictable way would be a start.

Regards,
Bryn.




More information about the Crash-utility mailing list