[Crash-utility] Question for ARM developers/users w/respect to makedumpfile

Dave Anderson anderson at redhat.com
Thu Jan 31 22:05:57 UTC 2013



----- Original Message -----

> But note that in the actual dumpfile header dump, the "offset_vmcoreinfo" and 
> "size_vmcoreinfo" kdump_sub_header fields are both set to 0:
... 
>
>  sub_header_kdump: 9a188c8 
>            phys_base: 80000000
>           dump_level: 31 (0x1f) (DUMP_EXCLUDE_ZERO|DUMP_EXCLUDE_CACHE|DUMP_EXCLUDE_CACHE_PRI|DUMP_EXCLUDE_USER_DATA|DUMP_EXCLUDE_FREE)
>    offset_vmcoreinfo: 0 (0x0)
>      size_vmcoreinfo: 0 (0x0)
...
>
> I'm wondering whether that's the case with all ARM compressed
> kdump files?  Or maybe the dumps I have were created during early
> development of ARM kexec/kdump?  Or is it a bug with the
> makedumpfile facility on ARM?
> 
> So my question is, do any of you have an ARM compressed kdump that
> you can verify has its "offset_vmcoreinfo" and "size_vmcoreinfo"
> fields set?

FYI -- actually it's only the size_vmcoreinfo field that would be
equal to 0.

The crash utility's header dump code has a bug that shows the
file offsets as ulong values, which clips the top off on 32-bit
architectures.  So after fixing that, what I really see in my 
two ARM compressed kdumps is:

  sub_header_kdump: 96408f0 
           phys_base: 80000000
          dump_level: 31 (0x1f) (DUMP_EXCLUDE_ZERO|DUMP_EXCLUDE_CACHE|DUMP_EXCLUDE_CACHE_PRI|DUMP_EXCLUDE_USER_DATA|DUMP_EXCLUDE_FREE)
   offset_vmcoreinfo: 17763984736256 (0x102800000000)
     size_vmcoreinfo: 0 (0x0


  sub_header_kdump: 95ba8f0 
           phys_base: 80000000
          dump_level: 31 (0x1f) (DUMP_EXCLUDE_ZERO|DUMP_EXCLUDE_CACHE|DUMP_EXCLUDE_CACHE_PRI|DUMP_EXCLUDE_USER_DATA|DUMP_EXCLUDE_FREE)
   offset_vmcoreinfo: 17763984736256 (0x102800000000)
     size_vmcoreinfo: 0 (0x0) 

And interestingly enough, the 0x1028 in the upper 32-bits
is precisely what the offset_vmcoreinfo field *should* be.
So after my ARM kludge patches the two fields, they
look like:

  sub_header_kdump: a0a18f0 
           phys_base: 80000000
          dump_level: 31 (0x1f) (DUMP_EXCLUDE_ZERO|DUMP_EXCLUDE_CACHE|DUMP_EXCLUDE_CACHE_PRI|DUMP_EXCLUDE_USER_DATA|DUMP_EXCLUDE_FREE)
   offset_vmcoreinfo: 4136 (0x1028)
     size_vmcoreinfo: 1133 (0x46d)

So there's a subtle shift bug in there somewhere w/respect to the
offset_vmcoreinfo value, and for whatever reason the whole 
"VMCOREINFO" string from the original ELF Note header is 
missing entirely.

Dave




More information about the Crash-utility mailing list