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.
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.
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.
Added to U2Proposed as requested. The crash utility needs updating, specifically for x86_64 machines with 8 cpus, in order to initialize properly.
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?
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)
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