On Thu, Feb 20, 2025 at 10:12 AM <devel-request@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
Date: Mon, 17 Feb 2025 11:52:21 -0300
From: Anderson Nascimento <andersonc0d3@xxxxxxxxx>
Subject: Crash errors when using vtop command on the
Linux kernel v6.14-rc1
To: devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
Message-ID:
<CANUJ=ykSypFt-CEzSXtoXvMThoD_Stpg2c95P=g5DW2CvS13ow@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Hello all,
I built the Linux kernel version 6.14-rc1 on Fedora 41 and the crash
utility doesn't
work as expected on it. Quickly investigating the issue, the commit below
from last month changes a field in the struct dentry and it seems to
be the reason for the errors I am seeing.
dcache: back inline names with a struct-wrapped array of unsigned long
https://github.com/torvalds/linux/commit/58cf9c383c5c686668082f83f7e0f3e0bd5cc2e3#diff-b11f554b3424c2d794e935f9d5839994f57fc241249928acd57103e2574eb5ccL93
Thank you for reporting and investigating this issue, Anderson Nascimento.
The errors are the following:
crash> vtop -c 1224 0x41400000
VIRTUAL PHYSICAL
41400000 51144000
PGD: 24438000 => dfaf067
PUD: dfaf008 => 109fd067
PMD: 109fd050 => fc07067
PTE: fc07000 => 8000000051144867
PAGE: 51144000
PTE PHYSICAL FLAGS
8000000051144867 51144000 (PRESENT|RW|USER|ACCESSED|DIRTY|NX)
VMA START END FLAGS FILE
vtop: invalid structure member offset: dentry_d_iname
FILE: filesys.c LINE: 3242 FUNCTION: get_pathname_component()
BFD: /usr/bin/crash: unknown type [0x13] section `.relr.dyn'
[/usr/bin/crash] error trace: 556181a34180 => 556181a331c5 =>
556181a76b10 => 556181b4adab
BFD: /usr/bin/crash: unknown type [0x13] section `.relr.dyn'
vtop: invalid structure member offset: dentry_d_iname
FILE: filesys.c LINE: 3242 FUNCTION: get_pathname_component()
crash>
I replaced the field name to reflect the change on Linux kernel
6.14-rc1 and it seems to work without any errors, but I am not used to
the crash code base and I didn't check the commit in
details to make sure there aren't more issues affecting it. I'd say
No worries.
I will check the draft patch, and give you feedback later.
Thanks
Lianbo
there might be more changes needed to make sure crash works without
errors on newer Linux kernel versions. The command I was using and
resulted in error works fine now, but as I said, there might be
more changes in order to really support the Linux kernel v6.14.
$ sudo ./crash_modified/crash
~/work/kernels/packages/linux_upstream_6.14_rc1/vmlinux
crash 8.0.6++
Copyright (C) 2002-2025 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-2024 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 "x86_64-pc-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"...
KERNEL: /home/user/work/kernels/packages/linux_upstream_6.14_rc1/vmlinux
DUMPFILE: /proc/kcore
CPUS: 4
DATE: Wed Dec 31 21:00:00 -03 1969
UPTIME: 07:44:59
LOAD AVERAGE: 0.40, 0.11, 0.03
TASKS: 306
NODENAME: fedoraserver41research
RELEASE: 6.14.0-rc1
VERSION: #1 SMP PREEMPT_DYNAMIC Wed Feb 12 00:07:46 -03 2025
MACHINE: x86_64 (2995 Mhz)
MEMORY: 2 GB
PID: 47350
COMMAND: "crash"
TASK: ffff88801eeb8000 [THREAD_INFO: ffff88801eeb8000]
CPU: 3
STATE: TASK_RUNNING (ACTIVE)
crash> vtop -c 1224 0x41400000
VIRTUAL PHYSICAL
41400000 51144000
PGD: 24438000 => dfaf067
PUD: dfaf008 => 109fd067
PMD: 109fd050 => fc07067
PTE: fc07000 => 8000000051144867
PAGE: 51144000
PTE PHYSICAL FLAGS
8000000051144867 51144000 (PRESENT|RW|USER|ACCESSED|DIRTY|NX)
VMA START END FLAGS FILE
ffff888006b52b00 41400000 42800000 8100073
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
ffffea0001445100 51144000 ffff88801440f361 41400 1 fffffd0020828
uptodate,lru,owner_2,swapbacked
crash> vtop -c 1224 7f058fbc2000
VIRTUAL PHYSICAL
7f058fbc2000 3f278000
PGD: 244387f0 => 8955067
PUD: 89550b0 => 997b067
PMD: 997b3e8 => 9b69067
PTE: 9b69e10 => 800000003f278025
PAGE: 3f278000
PTE PHYSICAL FLAGS
800000003f278025 3f278000 (PRESENT|USER|ACCESSED|NX)
VMA START END FLAGS FILE
ffff88800ea17b00 7f058fbc2000 7f058fbc3000 8000071 /usr/lib64/libc.so.6
PAGE PHYSICAL MAPPING INDEX CNT FLAGS
ffffea0000fc9e00 3f278000 ffff88800bf099c8 0 226 fffffe600426c
referenced,uptodate,lru,workingset,private,head
crash>
The patch:
$ git diff crash/filesys.c crash_modified/filesys.c
diff --git a/crash/filesys.c b/crash_modified/filesys.c
index 406ebb2..4759fa2 100644
--- a/crash/filesys.c
+++ b/crash_modified/filesys.c
@@ -2050,7 +2050,7 @@ vfs_init(void)
MEMBER_OFFSET_INIT(dentry_d_parent, "dentry", "d_parent");
MEMBER_OFFSET_INIT(dentry_d_covers, "dentry", "d_covers");
MEMBER_OFFSET_INIT(dentry_d_name, "dentry", "d_name");
- MEMBER_OFFSET_INIT(dentry_d_iname, "dentry", "d_iname");
+ MEMBER_OFFSET_INIT(dentry_d_iname, "dentry", "d_shortname");
MEMBER_OFFSET_INIT(dentry_d_sb, "dentry", "d_sb");
MEMBER_OFFSET_INIT(inode_i_mode, "inode", "i_mode");
MEMBER_OFFSET_INIT(inode_i_op, "inode", "i_op");
Nevertheless, I am bringing this issue to the list for the people
responsible for the crash development to implement the proper support
for the Linux kernel v6.14. Thank you.
Regards,
Anderson Nascimento
https://blog.andersonc0d3.io
-- Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki