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

Dave Anderson anderson at redhat.com
Wed Oct 7 19:53:52 UTC 2009


 - Fix for s390x and x86 "extend" command regression created by the
   "crash -x" option introducted in crash version 4.0.9.  Without the 
   patch, the "extend" command on s390x and x86 machines fail with the
   error message: "extend: <module>.so: not an ELF format object file".
   (holzheu at linux.vnet.ibm.com, anderson at redhat.com)

 - Cleanup of top-level source files to address compiler warnings
   generated by the CFLAGS used in the Fedora build environment:

     main.c ppc64.c tools.c symbols.c defs.h qemu-load.c qemu.c
     xen_hyper_command.c xendump.c netdump.c s390_dump.c lkcd_common.c
     remote.c cmdline.c x86_64.c net.c dev.c kernel.c task.c filesys.c
     memory.c lkcd_x86_trace.c ppc64.c x86.c s390.c s390x.c s390dbf.c

   Only two bugs (s390/s390x) were discovered as a result of this 
   exercise.  The vast majority of the warnings were primarily benign 
   "may be used uninitialized in this function" false-positive warnings,
   but were addressed nonetheless.  A few "dereferencing type-punned 
   pointer will break strict-aliasing rules" warnings still exist, but a
   fix attempt may prove more troublesome or dangerous than it's worth.
   (anderson at redhat.com)

 - Fix for "pte" command on s390 and s390x machines if the pte value 
   argument evaluates as not present.  Without the patch, the command 
   would not display the pte value, but would either print random stack
   data (if ASCII), or worse case, cause a segmentation violation.
   (anderson at redhat.com)

 - Allow command redirection to pipes or files when using gdb commands 
   alone on the command line without preceding the command string with 
   "gdb".  Without the patch, the pipe/redirection data on the command
   line would be appended to the command string passed to gdb, leading 
   to bizarre results when gdb attempts to evaluate the redirection
   pieces of the command string.
   (bob.montgomery at hp.com)

 - Fix for the processing of bit fields on big endian systems in the 
   SIAL extension module.  Without the patch, bits are not copied to 
   the correct position and are not shifted the right way.
   (holzheu at linux.vnet.ibm.com)

 - Fix for "dis -l" to properly display line-number information for 
   2.6.21 and later x86_64 kernel module text addresses.  Without the 
   patch, a single erroneous file/line-number indication would be 
   displayed prior to the disassembly output, typically from the file
   "include/linux/cpumask.h".  This was due to an abnormal text block
   descriptor from a function in hpet.c, which starts in the kernel 
   text segment and extends up into the vsyscall FIXMAP region, 
   effectively encompassing all kernel module address space.
   (john.wright at hp.com)

 - Related to the line number patch above, fix to prevent querying the 
   embedded gdb module for line numbers of kernel module text addresses 
   if the module's debuginfo data has not been loaded.  Without the
   patch, the same erroneous file/line-number could be displayed by 
   commands like "dis -l" or "bt -l" when a module's debuginfo data 
   has not been loaded, on 2.6.21 and later x86_64 kernels. 
   (anderson at redhat.com)

 - Implemented a new "ps -G" option, which restricts the process status
   output to show only the data of the thread group leader of a thread 
   group.  The original request was to avoid the display of redundant 
   RSS data shared by many threads.
   (anderson at redhat.com)

 - Several fixes for the "repeat" command when used in conjunction
   with an input file.  Without the patch:
   (1) Depending upon the command executed from the input file, a
       a SIGINT would kill the command currently being executed from
       the input file, but the "repeat" command would then restart it.
   (2) If a command in the input file redirected its output to a pipe,
       the repeat operation could stop prematurely after executing
       that particular command.
   (3) If a command in the input file redirected its output to a pipe,
       the zombies of the command being piped to would not be cleaned
       up until the repeat command was stopped.
   (4) If the last command in the input file redirected its output to a
       pipe, all subsequent executions of the input file would only 
       display the output of that last command.
   (anderson at redhat.com)

 - Added "trace.c" to the extensions subdirectory, where it will get 
   built automatically when "make extensions" is run from the top-level
   source directory.  The trace.so extension module has also been added 
   to the crash-extensions-<version>.rpm subpackage that is created 
   by the crash-<version>.src.rpm, which installs extension modules
   in the /usr/lib[64]/crash/extensions directory.
   (anderson at redhat.com)

 - Fix for a potential failure to initialize the kmem slab cache 
   subsystem on 2.6.22 and later CONFIG_SLAB kernels if the dumpfile
   has pages excluded by the makedumpfile facility.  Without the patch, 
   the following error message would be displayed during initialization: 
   "crash: page excluded: kernel virtual address: <address> type: 
   kmem_cache_s buffer", followed by "crash: unable to initialize kmem 
   slab cache subsystem".
   (anderson at redhat.com)
   
 - Fix for a potential session initialization failure on x86_64 kernels
   if the dumpfile has pages excluded by the makedumpfile facility.  
   Without the patch, the following error message would be displayed: 
   "crash: page excluded: kernel virtual address: <address>  type:
   tss_struct ist array".
   (anderson at redhat.com)
 
 - Fix for "kmem -z" option on 2.6.29 and later kernels.  Without the 
   patch, against 2.6.29 and 2.6.30 kernels, the embedded zone VM_STAT 
   contents would not be displayed after the top line showing the SIZE,
   PRESENT, /MIN/LOW/HIGH and FREE page counts; on 2.6.31 kernels, the
   command would fail with the error message: "kmem: invalid (optional)
   structure member offsets: zone_pages_min or zone_struct_pages_min".  
   (anderson at redhat.com)

 - Fix for "irq" command on 2.6.29 and later CONFIG_SPARSE_IRQ kernels.
   Without the patch, the "irq [number]" command would fail on x86_64
   with the error message: "irq: x86_64_dump_irq: irq_desc[] does not
   exist?", on ia64: "ia64_dump_irq: neither irq_desc or _irq_desc 
   exist", and on the other architectures: "irq: neither irq_desc nor 
   _irq_desc symbols exist".
   (anderson at redhat.com)

 - Fix for the "kmem -i" option on 2.6.31 kernels.  Without the patch
   the SHARED column may erroneously indicate 0 pages.
   (anderson at redhat.com)

 - Fix for the "kmem -i" option on 2.6.26 through 2.6.30 x86_64 kernels.
   Without the patch, the swap page information would not be displayed,
   and the error message "kmem: swap_info[0].swap_map at <address> is
   unaccessible" would be displayed.
   (anderson at redhat.com)

 - Fix for "kmem -p" option on older 64-bit kernels that have a 32-bit 
   page.flags field.  Without the patch, the page.count field in the
   page structure would get merged with the page.flags field, and the 
   result displayed as a 64-bit value in the FLAGS column.
   (anderson at redhat.com)

 - Fix for "kmem -i" option on older 64-bit kernels whose page.count
   unreferenced value was -1 (instead of 0).  Without the patch, the
   SHARED column would contain invalid values.
   (anderson at redhat.com)

 - Change the cursor location when cycling through the command history
   when in "vi" editing mode (the default).  When using the arrow keys,
   or when using CTRL-n and CTRL-p, the cursor will be placed after the 
   last character in each line, and will be in "insert" mode.  When
   using ESC followed by j or k, the cursor will be placed on the last
   character in the line, and will be in "command" mode.  Without the
   patch, the cursor would be placed on the first character in the line
   regardless of the keys used to cycle through the history.
   (anderson at redhat.com)

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




More information about the Crash-utility mailing list