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

Dave Anderson anderson at redhat.com
Fri Sep 16 19:31:21 UTC 2011


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

Changelog:

 - Fixes for gdb-7.0 ppc64/ppc-specific files to handle gcc-4.6 compiler 
   failures.  Without the patch, gcc-4.6 generates "error: variable 
   ‘<variable>’ set but not used [-Werror=unused-but-set-variable]" 
   fatal errors when the (default) -Werror flag is used.  Previous gcc 
   versions considered local variables were simply set to some value to
   be "used", but that is no longer the case.
   (anderson at redhat.com) 

 - Add support for the "bt" command to recognize the new s390x 
   "restart_stack" used by the PSW restart interrupt in 3.0.1 and 
   later kernels. 
   (holzheu at linux.vnet.ibm.com)

 - Enhancement to the s390x "bt" command to display the register 
   contents of the pt_regs strucutre for interrupts, instead of just
   printing the string "- Interrupt -".  The pt_regs structure contains
   all of the current registers and PSW of the interrupted CPU.
   (holzheu at linux.vnet.ibm.com)

 - Removed the "files -l" option, which does not support 2.6 or later
   kernels, and because it requires structure offset data that can only 
   be determined if the "lockd" and "nfsd" modules have been built into
   the kernel.  Given the kernel module dependencies, the command is 
   more suitable as an extension module, if anyone cares to carry on
   its legacy.
   (anderson at redhat.com) 

 - Fix for the "ps" command to disallow the mutually-exclusive "-u" 
   and "-k" options from being entered together.  Without the patch, 
   whichever of the two options was entered last was acted upon. 
   Also, the help page was clarified by separating the three process 
   identifier formats from the "-u", "-k" and "-G" qualifiers.
   (anderson at redhat.com) 

 - Fix for the "ps" command to disallow the mutually-exclusive "-a", 
   "-t", "-c", "-p", "-g", "-l" and "-r" options from being entered 
   together.  Without the patch, whichever of the seven options that was
   entered last was acted upon.

 - Added new "struct -[xd]" and "union -[xd]" options, which override
   the current default output format with hexadecimal or decimal format
   for just the command instance.  The "-o" member offset values and 
   the structure size value are also controlled by the new options.
   Without the patch, it would require changing the default output 
   format with "hex" or "dec" prior to executing the "struct" or "union"
   command.
   (anderson at redhat.com) 

 - Fix for the "fuser" command, which may occasionally precede its
   output with the message "WARNING: FILE_NRHASH has changed from 32"
   on 2.6.19 and later kernels.  The message is harmless.
   (anderson at redhat.com) 

 - Exported new set_temporary_radix() and restore_current_radix()
   functions, which are used to temporarily override the current
   output radix setting.
   (anderson at redhat.com) 

 - Fixes for ARM gdb-7.0/bfd/elf32-arm.c file to handle gcc-4.6 compiler
   failures.  Without the patch, gcc-4.6 generates "error: variable
   ‘<variable>’ set but not used [-Werror=unused-but-set-variable]"
   fatal errors when the (default) -Werror flag is used.  Previous gcc
   versions considered local variables were simply set to some value to
   be "used", but that is no longer the case.
   (anderson at redhat.com)

 - Cosmetic fix for command-failure "Usage" messages to prevent the
   output from exceeding 80 columns.
   (anderson at redhat.com)

 - Implemented a new "struct -p" option which can be used to dereference
   pointer members and display the target data.  The option can be used
   with the struct_name.member[,member] format, or if not, all pointers
   in the structure will be dereferenced.  If the member is a pointer,
   the member's data type will be prepended to the member name when
   displaying the target address; on the subsequent line(s) the target's
   symbol name will be displayed in brackets if appropriate, and if
   possible, the target data will be displayed.  For example, currently
   to display an mm_struct's "pgd" member:

     crash> mm_struct.pgd ffff810022e7d080
       pgd = 0xffff81000e3ac000
     crash>

   The -p option shows the data type of "pgd", dereferences the pointer
   value, and with -x, displays the target's contents in hexadecimal
   regardless of the current output format:
 
     crash> mm_struct.pgd ffff810022e7d080 -px
       pgd_t *pgd = 0xffff81000e3ac000
       -> {
            pgd = 0x2c0a6067
          }
     crash>

   Here the "thread_info" and "binfmt" members of a task_struct
   are dereferenced and the targets displayed:

     crash> task_struct.thread_info,binfmt ffff8100181190c0 -p
       struct thread_info *thread_info = 0xffff810023c06000
       -> {
            task = 0xffff8100181190c0,
            exec_domain = 0xffffffff802f78e0,
            flags = 128,
            status = 1,
            cpu = 3,
            preempt_count = 0,
            addr_limit = {
              seg = 18446604435732824064
            },
            restart_block = {
              fn = 0xffffffff80095a52 <do_no_restart_syscall>,
              arg0 = 0,
              arg1 = 0,
              arg2 = 0,
              arg3 = 0
            }
          }
       struct linux_binfmt *binfmt = 0xffffffff80305540
       -> <elf_format> {
            next = 0xffffffff80305500, 
            module = 0x0, 
            load_binary = 0xffffffff80017d99 <load_elf_binary>, 
            load_shlib = 0xffffffff800838c3 <load_elf_library>, 
            core_dump = 0xffffffff80086465 <elf_core_dump>, 
            min_coredump = 4096
          }
     crash>

   When a .member is not specified, all pointers in the structure
   are dereferenced, which may be quite verbose depending upon
   the structure.
   (anderson at redhat.com)

 - Implemented support for "SADUMP" dumpfiles, which are created by the
   Fujitsu Stand Alone Dump facility.  The dump-creation mechanism is
   based in hardware-specific firmware, generating a dumpfile in three 
   different formats: sadump dump device (single partition), sadump dump
   device (disk set), and archive file formats.  The crash utility 
   recognizes all three formats.
   (d.hatayama at jp.fujitsu.com)

 - Fix for the "bt" command to display Control registers 8-15 (s390x and
   s390) and floating point registers 8-15 (s390x only) correctly.  
   Without the patch, the register content was copied from the wrong 
   location of the save area, and the wrong register values were
   displayed for the active tasks.
   (holzheu at linux.vnet.ibm.com)

 - Fix for 2.6.34 ppc64 kernels, which were changed to dynamically 
   allocate the paca structure, and changed the data type of "paca"
   symbol from array to a paca_struct pointer. 
   (mahesh at linux.vnet.ibm.com)

 - Fix for 2.6.36 and later ppc64 kernels, which overwrite the paca 
   pointer variable to point to a static paca during a crash sequence
   just prior to the kexec of the secondary kernel, which contains a
   paca_struct.data_offset value that is valid only for crashing cpu.  
   However, the kernel change also re-introduced the  __per_cpu_offset
   array, which had been removed in 2.6.15, which will be used as an 
   alternative to the per-cpu paca_struct.
   (mahesh at linux.vnet.ibm.com)

 - The new version of makedumpfile, 1.4.0, contains a facility that 
   allows a user to filter out kernel data (e.g., security keys, 
   confidential/secret information, etc.) from a vmcore.  The data 
   that is filtered out is poisoned with character 'X' (0x58).  A 
   filtered ELF kdump vmcore now contains a new "ERASEINFO" ELF note 
   section that contains the filter data strings used by makedumpfile.
   A filtered compressed kdump has a header version number 5, and
   contains new offset_eraseinfo and size_eraseinfo members in its
   sub-header that point to a copy of the filter data strings.  In most
   cases, the erased kernel data will be inconsequential to the crash 
   session, but it is certainly possible that the removal of crucial 
   kernel data that the crash utility needs may cause the crash session
   to fail, cause individual commands to fail, or result in other 
   unpredictable runtime behaviour.  This patch detects whether kernel 
   data has been erased from the dumpfile, and if so, displays an early
   warning message alerting the user.  The "help -n" command displays 
   the filter data strings that were used by makedumpfile. 
   (mahesh at linux.vnet.ibm.com)
 




More information about the Crash-utility mailing list