我们的一位客户打电话给我们,说他们发生了内核崩溃,并要求我们进行调查。他们正在运行SLES12 SP2。
我将vmcore
下的/var/crash
文件(11 Mb)停止生产,复制到了另一台同时运行SLES12 SP2的计算机上。我也复制了内核/boot/vmlinux-4.4.120-92.70-default.gz
的映像。我在这台机器上安装了内核debuginfo软件包。但是,我无法在其上运行crash
实用程序:
$ strings vmcore |grep "4\.4\."
4.4.120-92.70-default
OSRELEASE=4.4.120-92.70-default
BOOT_IMAGE=/boot/vmlinuz-4.4.120-92.70-default root=[…]
$ strings ~/vmlinux-4.4.120-92.70-default |grep "4\.4\."
Linux version 4.4.120-92.70-default (geeko@buildhost) (gcc version 4.8.5 (SUSE Linux) ) #1 SMP Wed Mar 14 15:59:43 UTC 2018 (52a83de)
$ crash /usr/lib/debug/boot/vmlinux-4.4.120-92.70-default.debug ~/vmlinux-4.4.120-92.70-default vmcore
crash 7.1.5
[…]
GNU gdb (GDB) 7.6
[…]
This GDB was configured as "x86_64-unknown-linux-gnu"...
WARNING: could not find MAGIC_START!
WARNING: cannot read linux_banner string
crash: /usr/lib/debug/boot/vmlinux-4.4.120-92.70-default.debug and vmcore do not match!
Usage: […]
我认为上面的strings
调用证明内核和内核确实匹配,但是我仍然遇到该错误。我接下来该怎么办?