[Crash-utility] crash version 7.1.3 is available

Dave Anderson anderson at redhat.com
Thu Sep 3 16:40:36 UTC 2015



Download from: http://people.redhat.com/anderson
                 or
               https://github.com/crash-utility/crash/releases

The master branch serves as a development branch that will contain all 
patches that are queued for the next release:

  $ git clone git://github.com/crash-utility/crash.git


Changelog:

 - Fix for the "crash --osrelease" option for flattened format dumpfiles 
   in the unlikely event that the dumpfile header does not contain the 
   VMCOREINFO note section from the original ELF /proc/vmcore.  Without
   the patch, the command displays nothing instead of showing "unknown".
   (anderson at redhat.com)

 - Fix for the "kmem -s <address>", "bt -F[F]", and "rd -S[S]" 
   options in kernels configured with CONFIG_SLUB.  Without the patch, 
   if a referenced slab object address comes from a slab cache that 
   utilizes a multiple-page slab, and the object is located within
   a tail page of that slab cache, it will not be recognized as a slab
   object.  The "bt -F[F]" and "rd -S[S]" options will just show the
   object address, and the "kmem -s <address>" object will indicate
   "kmem: address is not allocated in slab subsystem: <address>".
   This bug is a regression that was introduced in crash-7.1.0 by commit 
   8b2cb365d7fb139e77cedd80d4061332099ed382, which addressed a bug where
   stale slab object addresses were incorrectly being recognized as 
   valid slab objects.
   (anderson at redhat.com)
   
 - Fix for a segmentation violation generated by the ARM64 "bt -[f|F]" 
   options when analyzing the active tasks in vmcores generated by the
   kdump facility.  This bug is a regression that was introduced in 
   crash-7.1.2 by commit 15a58e4070486efa2aa965bdd636626e62b65cc7, which
   was an enhancement of the ARM64 backtrace capability for active tasks
   in kdump vmcores.
   (anderson at redhat.com)

 - Fix for the extensions/trace.c extension module to account for 
   kernels that are not configured with CONFIG_TRACE_MAX_TRACER.
   Without the patch, the module fails to load with the error message
   "failed to init the offset, struct: trace_array, member: max_offset".
   (rabinv at axis.com)

 - If a kdump dumpfile is marked as incomplete in its ELF or compressed
   kdump header, and the user has not used the --zero_excluded command 
   line option, append a note to the incomplete dump WARNING message 
   shown during invocation that suggests the use of --zero_excluded.
   (zhouwj-fnst at cn.fujitsu.com)
   
 - Fix for the RSS value displayed by the "ps" command in Linux 2.6.34
   and later big-endian machines.  Without the patch, a task's RSS value
   will be erroneously calculated by using twice its file pages instead 
   of adding its file pages with its anonymous pages.
   (anderson at redhat.com)

 - Do not search for a panic task in s390x dumpfiles that are marked as
   a "live dump" by the "zgetdump" facility.  Without the patch, an 
   exhaustive, unnecessary, search of all kernel stacks that looks for 
   evidence of a system crash may find an invalid reference in a task's
   kernel stack due to the common zero-based user and kernel virtual 
   address space ranges of the s390x, causing the task to be mistakenly
   set as the "PANIC" task.  
   (holzheu at linux.vnet.ibm.com, anderson at redhat.com)

 - Mark the "crash" task that generated a snapshot vmcore utilizing the
   the "snap.so" extension module as "(ACTIVE)" in the STATE field of 
   the initial system banner and the "set" command.  Without the patch,
   the task's STATE field shows it as the "(PANIC)" task.
   (anderson at redhat.com)

 - Second part of:
     Do not search for a panic task in s390x dumpfiles that are marked
     as a "live dump" by the "zgetdump" facility...
   The first part prevented a search of the active tasks; this part 
   prevents the last-ditch search of all tasks.
   (anderson at redhat.com)

 - When searching all kernel stacks for evidence of a panic task in 
   "live" s390x dumpfiles created by the VMDUMP, stand-alone dump, or 
   "virsh dump" facilities, none of which explicitly mark the dumpfile 
   as a "live dump", run a standard "bt" backtrace on each kernel stack
   instead of the text-address-only "bt -t".  Without the patch, an 
   invalid text reference may be found in a task's kernel stack due to 
   the common zero-based user and kernel virtual address space ranges of
   the s390x, causing the task to be mistakenly set as the "PANIC" task. 
   (holzheu at linux.vnet.ibm.com)

 - Introduction of the "dis -f <address>" option, which disassembles 
   from the target address until the end of the function.
   (atomlin at redhat.com)

 - Fix for the ARM64 "dis" command to prevent branch target addresses
   from being displayed as kernel system call alias/wrapper names, for 
   example, "SyS_read+<offset>" instead of "sys_read+<offset>".
   (anderson at redhat.com)

 - Fix for the PPC64 "dis" command to prevent conditional branch 
   target addresses from being displayed as kernel system call 
   alias/wrapper names, for example, "SyS_read+<offset>" instead 
   of "sys_read+<offset>".
   (anderson at redhat.com)

 - Fix for the S390X "dis" command to prevent jump target addresses 
   from being displayed as kernel system call alias/wrapper names, for 
   example, "SyS_read+<offset>" instead of "sys_read+<offset>".
   (anderson at redhat.com)

 - Fix for the "dis" command on architectures with variable-length
   instructions.  Without the patch, "dis [-f] <function>" may continue
   beyond the end of a function, disassembling the memory that is in 
   between the target function and the next function.  For kernel module
   functions, the module's debuginfo data must be loaded.
   (anderson at redhat.com)

 - Minor cleanup and error handling fix-up for the "dis" command.  
   Without the patch, if the target address of "dis -r" or "dis -f"
   is not an exact address of an instruction, "dis -r" will continue
   beyond the target address, and "dis -f" will show nothing.
   (anderson at redhat.com)

 - Reduce the unnecessary error messages if a directory is used as a
   command line argument.  Without the patch, six error messages are 
   displayed:

     crash: unable to read dump file /tmp
     /tmp: ELF header read: Is a directory
     /tmp: ELF header read: Is a directory
     crash: /tmp: read: Is a directory
     read_maps: unable to read header from /tmp, errno = 1
     crash: vmw: Failed to read '/tmp': [Error 21] Is a directory

   With the patch applied, the functions that generate those messages
   are not called; only the standard "not a supported file format",
   and "Usage" messages will be displayed.
   (anderson at redhat.com)
   
 - If the method of determining how compound pages are linked cannot be
   accomplished due to page struct related changes in upstream kernels,
   issue a WARNING message during session initialization.
   (anderson at redhat.com)

 - Fix for the "timer" command on Linux 4.2 and later kernels, which
   contain this kernel commit that modifies the tvec_root and tvec 
   data structures:

     commit bc7a34b8b9ebfb0f4b8a35a72a0b134fd6c5ef50
     timer: Use hlist for the timer wheel hash buckets

   Without the patch, the "timer" command will spew messages indicating
   "timer: invalid list entry: 0", followed by "timer: ignoring faulty 
   timer list at index <number> of timer array".
   (anderson at redhat.com)

 - Introduction of the "dis -s <address>" option, which displays the 
   filename and line number that is associated with the specified text
   location, followed by a source code listing if it is available on the
   host machine.  The line associated with the text location will be 
   marked with an asterisk; depending upon gdb's internal "listsize" 
   variable, several lines will precede the marked location.  If a 
   "count" argument is entered, it specifies the number of source code
   lines to be displayed after the marked location; otherwise the 
   remaining source code of the containing function will be displayed.
   (anderson at redhat.com)

 - Added a new "--src <directory>" command line option for use by the 
   "dis -s" option if the kernel source code is not located in the 
   standard location that is compiled into the kernel's debuginfo data.
   The directory argument should point to the top-level directory of the
   kernel source tree.
   (anderson at redhat.com)




More information about the Crash-utility mailing list