Bug 154566 - x86_64 crash session fails with read error during initialization
Summary: x86_64 crash session fails with read error during initialization
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: crash
Version: 4.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Dave Anderson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 156323
TreeView+ depends on / blocked
 
Reported: 2005-04-12 18:41 UTC by Dave Anderson
Modified: 2007-11-30 22:07 UTC (History)
6 users (show)

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


Attachments (Terms of Use)


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 Dave Anderson 2005-04-12 18:41:37 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030611

Description of problem:

When running against an x86_64 RHEL4 kernel with CONFIG_NR_CPUS of 8
and 8 cpus installed, crash will fail during initialization with a
read error of the sort:

crash: read error: kernel virtual address: 20000800403acd23 type: "tss_struct ist array"




Version-Release number of selected component (if applicable):
crash-3.10-1

How reproducible:
Always

Steps to Reproduce:
1. Run crash on an x86_64 RHEL4 kernel with 8 cpus.
2.
3.
  

Actual Results:  
crash fails during initialization with a "tss_struct ist array" read error.

Expected Results:  
crash session should come up normally.

Additional info:


Problem was reported by NEC.

Comment 1 Dave Anderson 2005-04-12 18:48:59 UTC
The problem is due to crash code walking beyond the end of
a kernel cpu_pda[] array of 8 (CONFIG_NR_CPUS).  

The proposed fix for this problem can be found in version 3.10-13.3.
The source code is available here:

  http://people.redhat.com/anderson

Both src.rpm and tar.gz files are located there.

To build from the tar.gz file:

  # tar xzf crash-3.10-13.3.tar.gz
  # cd crash-3.10-13.3
  # make

To build from the src.rpm file:

  # rpm -ivh crash-3.10-13.3.src.rpm
  # cd /usr/src/redhat/SPECS   (or wherever your .rpmmacros points to)
  # rpmbuild -ba crash.spec

Then install the resultant binary rpm.

The fix will be queued for a RHEL4 errata update.



Comment 4 Dave Anderson 2005-04-28 12:32:40 UTC
Re: comment #1, the latest version in http://people.redhat.com/anderson
is now 3.10-13.5, and is updated whenever necessary.  However, the fix
for this bugzilla is carried forward with each subsequent release. 

Comment 7 Dave Anderson 2005-06-24 13:01:17 UTC
Added to U2Proposed as requested.

The crash utility needs updating, specifically for x86_64 machines with 8 cpus,
in order to initialize properly.



Comment 12 Dave Anderson 2005-07-11 21:12:18 UTC
QA ACK still needed here...

Without this patch, running the current version of crash (3.10-1) on an x86_64
with 8 cpus fails during initialization like so:

$ crash vmlinux.debug

crash 3.10-1
Copyright (C) 2002, 2003, 2004  Red Hat, Inc.
Copyright (C) 2004  IBM Corp.
Copyright (C) 1998-2004  Hewlett-Packard Co
Copyright (C) 1999, 2002  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, 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.

WARNING: Because this kernel was compiled with gcc version 3.4.3, certain
         commands or command options may fail unless crash is invoked with
         the  "--readnow" command line option.

GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB 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.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...

crash: read error: kernel virtual address: 20000800403b9d23  type: "tss_struct
ist array"

$


With the fix, an 8 cpu x86_64 crash session comes up normally:

$ ./crash vmlinux.debug

crash 3.10-13.10
Copyright (C) 2002, 2003, 2004, 2005  Red Hat, Inc.
Copyright (C) 2004, 2005  IBM Corporation
Copyright (C) 1999-2005  Hewlett-Packard Co
Copyright (C) 1999, 2002  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, 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 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB 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.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...

      KERNEL: vmlinux.debug
    DUMPFILE: /dev/crash
        CPUS: 8
        DATE: Mon Jul 11 16:08:47 2005
      UPTIME: 4 days, 08:02:42
LOAD AVERAGE: 0.00, 0.01, 0.00
       TASKS: 120
    NODENAME: zeus2.lab.boston.redhat.com
     RELEASE: 2.6.9-11.24.ELsmp
     VERSION: #1 SMP Tue Jul 5 22:04:54 EDT 2005
     MACHINE: x86_64  (3169 Mhz)
      MEMORY: 2 GB
         PID: 20943
     COMMAND: "crash"
        TASK: 1007f59c030  [THREAD_INFO: 1000ebd6000]
         CPU: 3
       STATE: TASK_RUNNING (ACTIVE)

crash>

Can we get a QA ACK please?


Comment 19 Dave Anderson 2005-09-22 18:59:36 UTC
The fix for this bug is contained in both of these crash utility errata:
   
  RHEA-2005:599 RHEL3-U6  crash enhancement update (4.0-1)
  RHEA-2005:600 RHEL4-U2  crash enhancement update (4.0-2)

Comment 21 Red Hat Bugzilla 2005-10-05 15:35:32 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.