- Fix for the "mod -[sS]" command if the attempt to load a kernel module fails due to an internal gdb error. Without the patch, the "mod" command displays error messages of the sort: *** glibc detected *** crash: double free or corruption (!prev): <address> *** <segmentation violation in gdb> mod: <module-name> gdb add-symbol-file command failed and then hangs. With the patch, a module-related error message is displayed, the "mod" command fails, and the session continues. (anderson@xxxxxxxxxx) - Fix for the "mod -[sS]" command options, which may display the error message "mod: <module>: last symbol is not _MODULE_END_<module>?" for one or more modules. That message indicates that the module's symbol values have been incorrectly modified by the "mod" command, and even if the error message is not displayed, it is still possible that the symbol values of some modules may have been incorrectly modified. With the fix, the "mod -[sS] command will not recalculate and modify module symbol values from their CONFIG_KALLSYMS-generated values. (anderson@xxxxxxxxxx) - Fix for the reading of dumpfiles created with the "snap" extension module when used on an x86 machine with a single PT_LOAD segment that starts at a non-zero address. Without the patch, a crash session with such an x86 snapshot dumpfile fails during initialization with the error message "crash: vmlinux and <snapshot> do not match!" (anderson@xxxxxxxxxx) - Fixes for several bugs in the s390 and s390x stack backtrace code: (1) Add panic stack as second interrupt stack (2) Fix printing of access registers (4 bytes instead of 8 bytes) (3) Use u64 for s390x register 14 (4) Fix interrupt stack handling for s390x (use 160 byte overhead instead of 96) (holzheu@xxxxxxxxxxxxxxxxxx) - Fix for the "mach -m" command option on x86 or x86_64 systems whose BIOS-provided e820 map contains EFI-related memory type value that has not been mapped to an E820 type (pre-2.6.27), or if the type is E820_UNUSABLE (2.6.28 and later). Without the patch, the "mach -m" command would result in a segmentation violation. With the fix, an EFI type will be displayed as "type <number>" on pre-2.6.27 kernels, and the mapped E820 type on 2.6.27 and later kernels. (anderson@xxxxxxxxxx) - Fix for SIAL extension module if a script uses structures that contain members of type "bool". Without the patch, running such a script fails with the error message "File <filename>, line 279, Error: Oops drilldowntype". (holzheu@xxxxxxxxxxxxxxxxxx) - Fix to prevent a stream of harmless but annoying error messages when running "crash -d4" (or any larger -d debug value) on x86 machines. Without the patch, after the "crash: get_cpus_online: online: <cpus>" debug message, there are a stream of "crash: input string too large:" and "crash: invalid input:" messages prior to the next legitimate debug message. (anderson@xxxxxxxxxx) - Fix for the "kmem -s list" command option on non-CONFIG_SLUB kernels that contain a "cache_chain" list_head symbol instead of having a "#define cache_chain (cache_cache.next)" construct. Without the patch, the command would incorrectly presume that the "cache_chain" address was that of a kmem_cache structure, may display a warning message "kmem: WARNING: cannot read kmem_cache_s.name string at <address>", and then show the "cache_chain" symbol address followed either by a name of "(unknown)" or by a string of gibberish. (anderson@xxxxxxxxxx) - Fix for the x86_64 "bt" command to recognize, and take advantage of, kernels that were built with CONFIG_FRAME_POINTER. In that case, the frame pointer values pushed onto the kernel stack are now used to calculate stack frame sizes, resulting in more accurate backtraces. (anderson@xxxxxxxxxx) - Change the ppc64 cpu count displayed by the initial system banner and by the "sys" and "mach" commands to be the number of cpus online. (lnx1138@xxxxxxxxxxxxxxxxxx) - Fix for the x86_64 "bt" command's stack frame size calculator on kernels that were built without CONFIG_FRAME_POINTER. Without the patch, in the relatively rare case where a function does a "retq" prior to the targeted text return address, the frame size calculation could be too small, which in turn could result in an intervening, stale, frame entry. (anderson@xxxxxxxxxx) - Fix to prevent a crash session that is run over a network connection that is killed/removed from going into 100% cpu-time loop. Without the patch, the behavior of the built-in readline() library call in gdb-7.0 has changed such that the function returns when the EOF is encountered on /dev/tty, and the crash session goes into an endless loop; whereas in gdb-6.1, the readline() call never returns because the crash session gets killed while running in the library code. (anderson@xxxxxxxxxx) - Change the output of "ps -t" to display the task_struct's utime and stime values unmodified on kernels using a cputime_t (unsigned long) to store those values. (anderson@xxxxxxxxxx) - Fix for the x86 "bt" command if the kdump-generated NMI interrupts a process in kernel space at a pointer before the full user-mode exception frame (pt_regs) gets written on the kernel stack. Without the patch, the backtrace attempt would display "bt: cannot resolve stack trace", dump the text symbols on the kernel stack, and would not find/display a "USER-MODE" exception frame; the fix simply shows the interrupted entry-point function name and stack pointer. (anderson@xxxxxxxxxx) - Fix for the "bt -e" command on 2.6.30 or later x86 kernels if the x86.c file was built with D_FORTIFY_SOURCE. Without the patch, the command would cause the crash session to abort with the error message "*** buffer overflow detected ***: crash terminated". (anderson@xxxxxxxxxx) - Fix for initialization-time failure on 2.6.34 and later kernels that were configured with CONFIG_NO_BOOTMEM. Without the patch, the crash session fails with the error message "crash: invalid structure member offset: pglist_data_bdata". (anderson@xxxxxxxxxx) - Fix for the processor speed value displayed on ppc and ppc64 machines at session invocation, and by the "sys" and "mach" commands. Without the patch, Power6 machines indicate "(unknown Mhz)". (pavan@xxxxxxxxxxxxxxxxxx) - Implemented support to recognize an IBM-proposed kernel patch for ppc64 CONFIG_SPARSEMEM_VMEMMAP kernels that will store vmemmap page mapping information. Currently on 2.6.26 and later ppc64 kernels configured with CONFIG_SPARSEMEM_VMEMMAP, there is an initialization time warning message indicating "WARNING: cannot translate vmemmap kernel virtual addresses: commands requiring page structure contents will fail", alerting the user that vmemmap'd page structures cannot be accessed. When the kernel patch is eventually applied, this patch will recognize it and be able to translate vmemmap'd kernel virtual addresses. (anderson@xxxxxxxxxx) - Fix for "kmem -[sS]" command options on live CONFIG_SLAB systems to prevent the redundant reading of the shared array_cache object list from the per-node kmem_list3 data structures. Without the patch, it is possible that there could be a series of error messages indicating "kmem: <cache-name> cache: total shared array_cache.avail <number> greater than total limit <number>", followed by "*** glibc detected *** crash: double free or corruption (!prev): <address> ***", a backtrace, and the abort of the crash session. (anderson@xxxxxxxxxx) Download from: http://people.redhat.com/anderson -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility