Bug 155997 - [RHEL4-U2] crash - multiple PT_LOAD segments support
Summary: [RHEL4-U2] crash - multiple PT_LOAD segments support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: crash
Version: 4.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Dave Anderson
QA Contact:
URL: IT_71068
Whiteboard: None
Depends On:
Blocks: 156323
TreeView+ depends on / blocked
 
Reported: 2005-04-26 15:13 UTC by Yuuichi Nagahama
Modified: 2010-10-22 02:56 UTC (History)
9 users (show)

Fixed In Version: RHEA-2005-600
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-05 15:35:50 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
RHEL4-U2 test plan by Fujitsu (188.00 KB, application/octet-stream)
2005-06-21 22:18 UTC, Akira Imamura
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2005:600 0 qe-ready SHIPPED_LIVE crash enhancement update 2005-10-05 04:00:00 UTC

Description Yuuichi Nagahama 2005-04-26 15:13:21 UTC
1. Feature Name: crash's support for multiple PT_LOAD segments.
The current crash does not support vmcore which has multiple PT_LOAD segments.

2. Description:
Architectures (mark all that apply)
x 32-bit x86
x 64-bit Itanium2
x 64-bit AMD64/Intel EM64T
x 64-bit IBM POWER
  31-bit IBM S/390
  64-bit IBM zSeries

Dependencies: Diskdump
External links: None
Priority (H,M,L): H
Target Releases: RHEL4-U2 Beta
Target Release Date:
Drivers or hardware dependency: None
Target Kernel: RHEL4-U2 Beta

Comment 2 Dave Anderson 2005-04-26 15:18:11 UTC
Preliminary work on the crash utility has been completed and tested
successfully on an ia64 vmcore (RHEL4) created with multiple PT_LOAD segments.

However, in the description above, "32-bit x86" is marked with an "x",
which I believe is a mistake.

I have discussed this with Akira Imamura, and under the specification
of ELF header, there is no standard manner in which multiple PT_LOAD
segments can be created for 32-bit machines.  This is because the
32-bit ELF header has 32-bit fields for the p_paddr (starting physical
address of a segment), and 32-bit fields for the p_filesz and p_memsz:

typedef struct
{
  Elf32_Word    p_type;                 /* Segment type */
  Elf32_Off     p_offset;               /* Segment file offset */
  Elf32_Addr    p_vaddr;                /* Segment virtual address */
  Elf32_Addr    p_paddr;                /* Segment physical address */
  Elf32_Word    p_filesz;               /* Segment size in file */
  Elf32_Word    p_memsz;                /* Segment size in memory */
  Elf32_Word    p_flags;                /* Segment flags */
  Elf32_Word    p_align;                /* Segment alignment */
} Elf32_Phdr;

That being the case, if a segment starts at a phyical address greater than
4GB, it cannot be described in the p_paddr field.  Furthermore, if any
segment contains greater than 4GB in memory, it cannot be defined in the
p_filesz and/or p_memsz segments.

For this reason, the crash utility changes that I have made to support
multiple PT_LOAD segments restrict this capability to 64-bit machine types,
whose Elf64_Phdr structures do not have this restriction.

Please change this requirement to only support 64-bit machines.

(Or explain how it can be accomplished in a 32-bit system, since it is currently
impossible).





Comment 3 Akira Imamura 2005-05-03 18:26:05 UTC
As you said, I made a mistake in the description above.
I rewrite those again as follows.

Architectures (mark all that apply)
  32-bit x86
x 64-bit Itanium2
x 64-bit AMD64/Intel EM64T
  64-bit IBM POWER
  31-bit IBM S/390
  64-bit IBM zSeries

Regards,
Akira


Comment 4 Marty Wesley 2005-05-26 06:42:22 UTC
PM ACK for U2.

Comment 9 Dave Anderson 2005-06-20 13:34:17 UTC
The upstream version of crash has support for multiple PT_LOAD segments,
and has been tested in conjunction with the in-house Fujitsu team.

It will require a crash utility package errata for RHEL4-U2.

I would suggest that the easiest test plan would be for the Fujitsu team
to create and provide x86_64 and ia64 vmcore files that have multiple PT_LOAD
segments (with their associated debuginfo kernels) for testing purposes.

Comment 10 Akira Imamura 2005-06-21 22:18:32 UTC
Created attachment 115785 [details]
RHEL4-U2 test plan by Fujitsu

Comment 11 Akira Imamura 2005-06-21 22:23:59 UTC
Our test plan is here:
  Arch    Subtotal
  i386    27
  ia64    24
  x86_64  22
  Total   73

The above plan is summary of the test plan which was attached.
Please see the attachment if you need further information.
We believe that crash can be verified by this test plan.

Comment 12 Dave Anderson 2005-07-08 12:47:04 UTC
This fix has been available in the upstream version of crash since 4/26/05,
and is required for the RHEL4-U2 version of diskdumputils.  See errata:

  RHBA-2005:578 (RHEL4-U2) diskdumputils enhancement update  

I would like to get the errata procedure underway for this FZ ASAP.



Comment 13 Dave Anderson 2005-07-08 14:39:33 UTC
Can I get pm_ack and qa_ack on this one please?

Comment 20 Dave Anderson 2005-09-13 16:04:07 UTC
The component of this bugzilla was incorrectly set to "kernel".
I have changed it to "crash", because it belongs to the user-space
crash utility.

Comment 21 Red Hat Bugzilla 2005-10-05 15:35:51 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2005-600.html



Note You need to log in before you can comment on or make changes to this bug.