Bug 244072

Summary: Xen Kdump: i386 xen vmcore incomplete (no xen notes)
Product: Red Hat Enterprise Linux 5 Reporter: Dave Anderson <anderson>
Component: kernel-xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.1CC: jarod, kraxel, sct, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: rhel-5.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-27 14:03:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dave Anderson 2007-06-13 16:37:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030611

Description of problem:

Installed kernel-2.6.18-20.el5.kraxel.6.

/etc/sysconfig/kdump set to use bare-metal kernel as secondary kdump kernel:

  KDUMP_KERNELVER="2.6.18-20.el5.kraxel.6"

/etc/grub.conf setting:

title Red Hat Enterprise Linux Server (2.6.18-20.el5.kraxel.6xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-20.el5.kraxel.6 crashkernel=96M@32M
        module /vmlinuz-2.6.18-20.el5.kraxel.6xen ro \
          root=/dev/VolGroup00/LogVol00 console=ttyS0,115200 crashkernel=96M@32M
        module /initrd-2.6.18-20.el5.kraxel.6xen.img

Killed dom0 kernel with alt-sysrq-c, and kdump sequence successfully
creates a vmcore.  The vmcore, however, is not recognized as a xen
dom0 kdump, and the crash utility therefore fails with a:

crash: /vmlinux-2.6.18-20.el5.kraxel.6xen and vmcore do not match!

message.

This happens because the vmcore file does not contain the necessary
xen Notes sections:  

# readelf -a vmcore
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              CORE (Core file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          0 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         5
  Size of section headers:           0 (bytes)
  Number of section headers:         0
  Section header string table index: 0

There are no sections in this file.

There are no sections in this file.

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  NOTE           0x0000000000000158 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000         0
  LOAD           0x0000000000000158 0x00000000c0000000 0x0000000000000000
                 0x00000000000a0000 0x00000000000a0000  RWE    0
  LOAD           0x00000000000a0158 0x00000000c0100000 0x0000000000100000
                 0x0000000001f00000 0x0000000001f00000  RWE    0
  LOAD           0x0000000001fa0158 0x00000000c8000000 0x0000000008000000
                 0x0000000030000000 0x0000000030000000  RWE    0
  LOAD           0x0000000031fa0158 0xffffffffffffffff 0x0000000038000000
                 0x0000000007ee0000 0x0000000007ee0000  RWE    0

There is no dynamic section in this file.

There are no relocations in this file.

There are no unwind sections in this file.

No version information found in this file.
#

This appears to be an i386-only issue, because an example x86_64 xen dom0
kdump does contain the xen Notes.  This is "readelf -a" of an x86_64 vmcore,
which was copied from BZ #243880:

ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              CORE (Core file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          0 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         7
  Size of section headers:           0 (bytes)
  Number of section headers:         0
  Section header string table index: 0

There are no sections in this file.

There are no sections in this file.

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  NOTE           0x00000000000001c8 0x0000000000000000 0x0000000000000000
                 0x0000000000000380 0x0000000000000380         0
  LOAD           0x0000000000000548 0xffff810000000000 0x0000000000000000
                 0x00000000000a0000 0x00000000000a0000  RWE    0
  LOAD           0x00000000000a0548 0xffff810000100000 0x0000000000100000
                 0x0000000001f00000 0x0000000001f00000  RWE    0
  LOAD           0x0000000001fa0548 0xffff810012000000 0x0000000012000000
                 0x000000006b5c6000 0x000000006b5c6000  RWE    0
  LOAD           0x000000006d566548 0xffff81007d638000 0x000000007d638000
                 0x0000000000edb000 0x0000000000edb000  RWE    0
  LOAD           0x000000006e441548 0xffff81007e51f000 0x000000007e51f000
                 0x0000000000090000 0x0000000000090000  RWE    0
  LOAD           0x000000006e4d1548 0xffff81007e5ff000 0x000000007e5ff000
                 0x0000000000001000 0x0000000000001000  RWE    0

There is no dynamic section in this file.

There are no relocations in this file.

There are no unwind sections in this file.

No version information found in this file.

Notes at offset 0x000001c8 with length 0x00000380:
  Owner		Data size	Description
  CORE		0x00000150	NT_PRSTATUS (prstatus structure)
  Xen		0x00000020	Unknown note type: (0x01000002)
  Xen		0x00000048	Unknown note type: (0x01000001)
  CORE		0x00000150	NT_PRSTATUS (prstatus structure)
  Xen		0x00000020	Unknown note type: (0x01000002)

The 5 Notes sections above are required.  Note types 0x01000001 and
0x01000002 are XEN_ELFNOTE_CRASH_INFO and XEN_ELFNOTE_CRASH_REGS
types, known to the kernel but not to readelf.

In any case, they are not being created in the i386 vmcore.





Version-Release number of selected component (if applicable):
kernel-2.6.18-20.el5.kraxel.6

How reproducible:
Always


Steps to Reproduce:
1. Install and run kernel-2.6.18-20.el5.kraxel.6 dom0 kernel
2. Set-up kdump as shown above
3. crash dom0 kernel with alt-sysrq-c

Actual Results:
vmcore is created, but is missing the required xen Notes.

Expected Results:
The xen Notes should be part of the vmcore file.

Additional info:

Comment 1 Red Hat Bugzilla 2007-07-25 01:04:35 UTC
change QA contact

Comment 2 Dave Anderson 2007-07-25 14:51:04 UTC
Note that this issue was resolved in the kernel, post-2.6.18-20.el5.kraxel.6,
and also requires the in-progress kexec-tools RHEL5.1 errata:

  RHBA-2007:0548 - kexec-tools bug fix and enhancement update
  http://errata.devel.redhat.com/errata/erratainfo.cgi?advisory=5643