makedumpfile: regenerate the incomplete vmcore generated by ENOSPC error

Wang, Xiao/Wang Xiao wangx.fnst at
Wed Aug 20 01:54:09 PDT 2014


Sometimes when the dump device doesn't have enough space to store a
vmcore, makedumpfile will report an ENOSPC error and leave an incomplete
vmcore in the dump device, but this file can't be analyzed by crash
utility. Since this file may contains important informations for
debugging, in order to use it we came up with an approach to deal with
it, which described as follow:

Add an option to makedumpfile to make it can analyze incomplete vmcore
and generate an usable vmcore(can be analyzed by crash utility).

Since there are two formats of a vmcore, the analysis of an incomplete
vmcore are different in each condition.
1.kdump-compressed format:
   If the 'page data' are written but not complete, then we can modify
the header(main header and sub header) and the bitmap(1st-bitmap and
2nd-bitmap) to make the core act as if the missing page data were
   Otherwise if there's no 'page data' written to the core file, this
core file couldn't become usable in any case.

2.elf format:
   If the PT_LOAD segments in a vmcore are written but not complete,
then we can modify the associated values in the 'Program segment header'
to correctly reflect the existing memory of the vmcore.
   Otherwise if the PT_LOAD segments doesn't exist, this core file
can't become usable in any case.

We are trying to implement this approach now and are sincerely expecting
any comments or discussions, thanks.

Wang Xiao

More information about the kexec mailing list