Jammy is also affected for the 6.2 HWE kernel.
The patch for makedumpfile is the same, and applies cleanly.
It fixes the issue with the 6.2 HWE kernel, and causes no regression with the
5.15 GA kernel (ie, the dump file can still be opened in crash).
Details:
---
Setup:
$ lxc launch --vm --config limits.memory=2GiB ubuntu:jammy mdf-j
$ lxc shell mdf-j
# apt update && apt install -y linux-image-generic-hwe-22.04
linux-crashdump crash
# apt remove -y $(dpkg -l | awk '$2 ~ /linux-.*kvm/ { print $2 }')
# sed 's/crashkernel=[^ "]\+/crashkernel=512M/' -i
/etc/default/grub.d/kdump-tools.cfg
# update-grub
# reboot
# kdump-config show | grep state:
current state: ready to kdump
# echo c >/proc/sysrq-trigger
Debug symbols:
# wget
https://launchpad.net/ubuntu/+archive/primary/+files/linux-image-unsigned-6.2.0-34-generic-dbgsym_6.2.0-34.34~22.04.1_amd64.ddeb
# ar x
linux-image-unsigned-6.2.0-34-generic-dbgsym_6.2.0-34.34~22.04.1_amd64.ddeb
data.tar.xz
# tar xvf data.tar.xz ./usr/lib/debug/boot/vmlinux-6.2.0-34-generic
./usr/lib/debug/boot/vmlinux-6.2.0-34-generic
Upstream crash (for now):
# apt build-dep -y crash
# git clone https://github.com/crash-utility/crash.git
# cd crash
# make
Original package:
---
# ./crash ./usr/lib/debug/boot/vmlinux-6.2.0-34-generic
/var/crash/202310101134/dump.202310101134
...
please wait... (gathering task table data)
crash: page excluded: kernel virtual address: ffff9b13c2b826c8 type:
"xa_node shift"
Patched package:
---
$ ./crash ./usr/lib/debug/boot/vmlinux-6.2.0-34-generic
/var/crash/202310101206/dump.202310101206
...
RELEASE: 6.2.0-34-generic
VERSION: #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7
13:12:03 UTC 2
...
crash>
Patched package & GA kernel:
---
(upstream crash and Ubuntu crash, both work)
$ ./crash ./usr/lib/debug/boot/vmlinux-5.15.0-86-generic
/var/crash/202310101225/dump.202310101225
...
RELEASE: 5.15.0-86-generic
VERSION: #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023
...
crash>
$ crash ./usr/lib/debug/boot/vmlinux-5.15.0-86-generic
/var/crash/202310101225/dump.202310101225
...
RELEASE: 5.15.0-86-generic
VERSION: #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023
...
crash>
** Changed in: makedumpfile (Ubuntu Jammy)
Status: Incomplete => Confirmed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to makedumpfile in Ubuntu.
https://bugs.launchpad.net/bugs/2038248
Title:
Slab page exclusion issue on Linux 6.2-rc1
Status in makedumpfile package in Ubuntu:
Fix Released
Status in makedumpfile source package in Jammy:
Confirmed
Status in makedumpfile source package in Lunar:
In Progress
Bug description:
[Impact]
The Kernel commit 130d4df57390 ("mm/sl[au]b: rearrange struct slab fields to
allow larger rcu_head"), included in Linux 6.2-rc1 and later versions,
introduced a change that aligns the offset of slab.slabs with that of
page.mapping.
However, this modification unintentionally causes the makedumpfile command
with the -d 8 option, meant to exclude user data, to incorrectly exclude
certain slab pages.
Consequently, when utilizing dumpfiles generated in this manner, the "crash"
utility may encounter an error when attempting to initiate a session:
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Fix]
An upstream fix is available.
==========
commit 5f17bdd2128998a3eeeb4521d136a192222fadb6
Author: Kazuhito Hagio <[email protected]>
Date: Wed Dec 21 11:06:39 2022 +0900
[PATCH] Fix wrong exclusion of slab pages on Linux 6.2-rc1
==========
[Test Plan]
1. Install the required packages and then proceed to reboot the machine.
# sudo apt install crash linux-crashdump -y
# reboot
2. To check the status of kdump, use the `kdump-config show` command.
# kdump-config show
DUMP_MODE: kdump
USE_KDUMP: 1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x64000000
/var/lib/kdump/vmlinuz: symbolic link to /boot/vmlinuz-6.2.0-33-generic
kdump initrd:
/var/lib/kdump/initrd.img: symbolic link to
/var/lib/kdump/initrd.img-6.2.0-33-generic
current state: ready to kdump
kexec command:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-6.2.0-33-generic
root=UUID=3e72f5d5-870b-4b8e-9a0d-8ba920391379 ro console=tty1 console=ttyS0
reset_devices systemd.unit=kdump-tools-dump.service nr_cpus=1 irqpoll
usbcore.nousb" --initrd=/var/lib/kdump/initrd.img /var/lib/kdump/vmlinuz
3. To trigger a crash dump forcefully, execute the `echo c | sudo tee
/proc/sysrq-trigger` command.
4. Download the kernel .ddeb file, which will be used for analyzing the dump
file.
# sudo -i
# cd /var/crash
# pull-lp-ddebs linux-image-unsigned-$(uname -r)
# dpkg-deb -x linux-image-unsigned-$(uname -r)-*.ddeb dbgsym-$(uname -r)
5. Utilize the "crash" utility to parse and analyze the dump file.
# crash dbgsym-$(uname -r)/usr/lib/debug/boot/vmlinux-$(uname -r)
XXXX/dump.XXXX
crash 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.
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
Type "show configuration" for configuration details.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
please wait... (gathering task table data)
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Where problems could occur]
The patch has altered the method for excluding slab pages, aligning with the
structural changes introduced in Linux 6.2-rc1.
This modification is essential for Linux kernel 6.2.
However, it's crucial to note that this change may impact the content of the
dump file, potentially leading to a situation where the "crash" utility is
unable to parse it in the worst-case scenario.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/makedumpfile/+bug/2038248/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp