1.16.1. RHBA-2011:0059: bug fix update
An updated crash package that fixes various bugs is now available for Red Hat Enterprise Linux 5.
The crash package provides a self-contained tool that can be used to investigate live systems, and kernel core dumps created from the netdump, diskdump, kdump, and Xen/KVM "virsh dump" facilities from Red Hat Enterprise Linux.
This update fixes the following bugs:
* Under certain circumstances, running the "mach -m" command on x86, Intel 64, and AMD64 architectures may have failed with a segmentation fault. This occurred when the e820 map provided by BIOS contained an Extensible Firmware Interface (EFI) entry with a value that had not been mapped to the "E820" type. With this update, the underlying source code has been modified to target this issue, and the above command now produces the expected output. ( BZ#569164)
* Prior to this update, running the "bt" command on an x86 architecture may have failed with the following error message:
bt: cannot resolve stack trace
This occurred when a task that received a non-maskable interrupt (NMI) entered the kernel from user space, but had not called the requested system call function yet, or when the copy_thread() function set the Extended Instruction Pointer (EIP) value of a newly forked task to the "ret_from_fork" entry point. This has been fixed, and the "bt" command now works as expected. ( BZ#572605)
* When running the "kmem -s list" command, the crash utility was unable to read the "kmem_cache_s.name" string. To resolve this issue, the utility has been adjusted to skip the "list_head", and the above command now displays the actual "kmem_cache" names or addresses only. ( BZ#580589)
* On a PowerPC architecture, booting a kernel with the "smt-enabled=off" option caused the initial system information, as well as the "sys" and "mach" commands to display an incorrect CPU count. This error has been fixed, and the crash utility now always displays the correct number of available CPUs. ( BZ#580599)
* On Intel 64 and AMD64 architectures, running the "bt" command may have failed to produce a correct backtrace when an NMI-interrupted task did not manage to switch its stack pointer from the user-space to kernel stack yet. This error no longer occurs, and the "bt" command now produces the correct output. ( BZ#593066)
* The crash utility has been updated to recognize the "__rhel5" marker that flags the difference between the upstream and Red Hat KVM "virsh dump" CPU device format in the dump file header. ( BZ#603027)
* Prior to this update, the "bt" command failed to make the transition from the NMI exception stack to the process stack when a task had just entered the kernel, but had not switched its stack pointer from the user-space per-thread stack to the relevant kernel stack yet. This has been fixed, and such transition is made as expected. ( BZ#608171)
* The "bt" command was unable to make the transition from the soft IRQ stack to the process stack when a task had taken a clock interrupt and crashed in the subsequent soft IRQ handler. With this update, such transition no longer fails. ( BZ#608714)
* On an x86 architecture, the "bt" command may have occasionally failed to produce the backtrace of an NMI-interrupted idle task. This error has been fixed, and the correct output is now displayed as expected. ( BZ#653288)
* Previously, using the "bt" command to backtrace the VCPU of a Xen hypervisor may have failed to return the correct result. This happened when the VCPU received an NMI interrupt while it was running in a particular location in the hypercall entry point, and in certain interrupt handlers. This error has been fixed, and using "bt" to backtrace such VCPU now produces the expected output. ( BZ#653823)
* When running the "kmem -s" command on a large, active live system, a glibc error may have caused the utility to terminate with a segmentation fault. With this update, an upstream patch has been applied to target this issue, and the segmentation fault no longer occurs. ( BZ#659593)
Users of crash are advised to upgrade to this updated package, which resolves these issues.
1.16.2. RHBA-2010:0523: bug fix update
Updated crash packages that fix various bugs are now available.
crash is a self-contained tool that can be used to investigate live systems, kernel core dumps created from the netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch offered by Mission Critical Linux, or the LKCD kernel patch.
These updated packages fix the following bugs:
* the "bt" subcommand of the crash tool occasionally did not output the backtrace correctly. The error appeared in x86_64 NMI-interrupted tasks which had not yet switched their stack pointer from the user-space stack to the kernel stack. This issue has been resolved. ( BZ#601081)
* a segmentation violation happened when running the "mach -m" command option on x86 or x86_64 systems whose BIOS-provided e820 map contained an EFI-related memory type value that has previously not been mapped to an E820 type. This issue has been resolved. ( BZ#601082).
* the "kmem -s list" subcommand in crash couldn't read the kmem_cache_s.name string. This issue has been resolved. The list now skips the list_head and only displays the actual kmem_cache names/addresses. ( BZ#601084)
* if a ppc64 kernel was booted with "smt-enabled=off", the initial system banner and the "sys" and "mach" commands displayed an incorrect CPU count. They have been changed to display the number of cpus online. ( BZ#601088)
* the "bt" subcommand of crash could not resolve the stack trace when an x86 NMI-interrupted task had just entered the kernel from user-space, but had not yet called the requested system call function. The same issue occurred when the resumption EIP address value of a newly forked x86 task was set to the "ret_from_fork" entry point by copy_thread(). This issue has been resolved in both cases. ( BZ#601089)