[Crash-utility] [PATCH v3 0/2] arm/arm64: less heuristics and qemu dump support

Andrew Jones drjones at redhat.com
Fri Nov 20 14:16:48 UTC 2015


The first patch allows us to rely on one less heuristic by taking
advantage of information recently made available to us through the
kernel image. The second patch enables analysis of qemu generated
dump files.

v3:
- Forgot the type == 'A' check needed to avoid a ton of unnecessary
  strcmps [drew]
v2:
- Drop "arm64: relax symbol filters" patch and just stash the value of
  the one absolute symbol we need "_kernel_flags_le". [Dave Anderson]


Also, while working on this, I testing several dumps. The following are
my results.

arm/aarch64 kvm guest kdump testing (P - PASS, F - FAIL). Testing done
with a latest mainline crash utility patched with these patches and a
latest mainline qemu with patches for dump generation.

.-----------------------------------------------------------------------.
|				Host	| arm32	| arm64	| arm64	| arm64	|
|---------------------------------------|-------|-------|-------|-------|
|				Guest	| arm32	| arm64	| arm64	| arm32	|
|---------------------------------------|-------|-------|-------|-------|
|				Pagesize| 4K	| 4K	| 64K	| 4K	|
|=======================================================================|
| kdump in guest			| F[1]	| P[2]	| P[3]	| F[1]	|
|---------------------------------------|-------|-------|-------|-------|
| qmp-dump-guest-memory <filename>[4]	| P	| P	| P	| P	|
|---------------------------------------|-------|-------|-------|-------|
| qmp-dump-guest-memory -z <filename>[5]| F[8]	| P	| P	| F[8]	|
|---------------------------------------|-------|-------|-------|-------|
| qmp-dump-guest-memory -l <filename>[6]| F[8]	| P	| P	| F[8]	|
|---------------------------------------|-------|-------|-------|-------|
| qmp-dump-guest-memory -s <filename>[7]| F[8]	| P	| P	| F[8]	|
.-----------------------------------------------------------------------.

[1] Kernel v4.4-rc1 crashes with a NULL pointer dereference at virtual
    address 00000000 in a memcpy (crash_kexec/machine_kexec/fncpy/memcpy).
    Needs kernel debugging.
[2] Not sure about mainline, but works with the RHEL kernel,
    makedumpfile does not yet support arm64 with 4K pages, but using
    'core_collector cp' in /etc/kdump.conf allows saving an uncompressed
    elf file.
[3] Not sure about mainline, but works with the RHEL kernel,
    uses makedumpfile, thus generates a makedumpfile formatted file
    using zlib compression.
[4] No format specified, creates an uncompressed elf formatted file.
[5] makedumpfile format, with zlib compression
[6] makedumpfile format, with lzo compression
[7] makedumpfile format, with snappy compression
[8] The crash utility doesn't seem to like arm32 dumps in makedumpfile
    format. Looks like the physical page bitmap is all zeros? Needs
    qemu and crash debugging.


Andrew Jones (2):
  arm64: read pagesize
  arm/arm64: read elf notes for qemu generated cores

 arm.c     | 22 ++++++++++++++++++++++
 arm64.c   | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 defs.h    |  2 ++
 netdump.c | 21 +++++++++++++++++++++
 4 files changed, 97 insertions(+)

-- 
2.4.3




More information about the Crash-utility mailing list