[Crash-utility] [ANNOUNCE] crash version 5.0.2 is available

Dave Anderson anderson at redhat.com
Fri Mar 26 19:37:45 UTC 2010


 - 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 at redhat.com)
 
 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at linux.vnet.ibm.com)

 - 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 at redhat.com)

 - 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 at linux.vnet.ibm.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at linux.vnet.ibm.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at linux.vnet.ibm.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 Download from: http://people.redhat.com/anderson 




More information about the Crash-utility mailing list