On 2023/05/28 14:05, Qiwu.Chen wrote: > Dear Mantainers, > > I meet a problem that the latest crash tool built for ARM64cannot load the vmcore genarated by Qemu ARM64 guest OS. > > 1) The vmcore captured by "dump-guest-memory" cmd in qemu monitor mode: > > (qemu) dump-guest-memory vmcore > > $ file vmcore > vmcore: ELF 64-bit LSB core file, ARM aarch64, version 1 (SYSV), SVR4-style > > > My host OS installed qemu-system-aarch64 version is 6.2.0 > > $ qemu-system-aarch64 --version > > QEMU emulator version 6.2.0 > > 2) The test for linux version both 5.0 and 5.15 which disable kaslr is NG, but test linux version 4.0 loading vmcore is OK. > > Here's the error log while crash tool loading linux-5.15 vmcore: > > $ crash64 vmlinux vmcore > > > crash64 8.0.3++ > Copyright (C) 2002-2022 Red Hat, Inc. > Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation > Copyright (C) 1999-2006 Hewlett-Packard Co > Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited > Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. > Copyright (C) 2005, 2011, 2020-2022 NEC Corporation > Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. > Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. > Copyright (C) 2015, 2021 VMware, Inc. > This program is free software, covered by the GNU General Public License, > and you are welcome to change it and/or distribute copies of it under > certain conditions. Enter "help copying" to see the conditions. > This program has absolutely no warranty. Enter "help warranty" for details. > > crash64: cannot determine VA_BITS_ACTUAL > > 3) It seems crash tool cannot get vabits_actual from vmcore, so I append "vabits_actual=48" to crash cmd: > $ crash-arm64 vmlinux vmcore -m vabits_actual=48 > > The result shows some symbols seek error: > crash-arm64: seek error: kernel virtual address: ffff800011769918 type: "possible" > WARNING: cannot read cpu_possible_map > crash-arm64: seek error: kernel virtual address: ffff800011769958 type: "present" > WARNING: cannot read cpu_present_map > crash-arm64: seek error: kernel virtual address: ffff800011769938 type: "online" > WARNING: cannot read cpu_online_map > crash-arm64: seek error: kernel virtual address: ffff800011769978 type: "active" > WARNING: cannot read cpu_active_map > crash-arm64: seek error: kernel virtual address: ffff800011936390 type: "shadow_timekeeper xtime_sec" > xtime timespec.tv_sec: 55fcd060743a: Thu Feb 11 04:14:50 CST 2997960 > crash-arm64: seek error: kernel virtual address: ffff800011771268 type: "init_uts_ns" > > The attachment is the detailed log which append "-d 1" to crash cmd. > Could you please help this? Adding "-m max_physmem_bits=xx" also does not work? My recent impression is that the recent arm64 vmcores are very hard to open without vmcoreinfo... I'm not familiar with qemu, but could you add a vmcoreinfo to the vmcore? It might be a quick solution. https://github.com/qemu/qemu/blob/master/docs/specs/vmcoreinfo.txt Thanks, Kazu -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/crash-utility Contribution Guidelines: https://github.com/crash-utility/crash/wiki