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

Dave Anderson anderson at redhat.com
Fri Aug 17 18:54:39 UTC 2012


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

Changelog:

 - Fix for building on host machines that have glibc-2.15.90 installed,
   in which case the glibc header file /usr/include/bits/siginfo.h no
   longer declares a "struct siginfo", but only the "siginfo_t" typedef.
   Without the patch, the build of the embedded gdb module fails with
   the error message "linux-nat.h:63:18: error: field 'siginfo' has 
   incomplete type". 
   (anderson at redhat.com)

 - Add support for reading compressed kdump dumpfiles that were 
   compressed by the snappy compressor.  This feature is disabled by 
   default.  To enable this feature, build the crash utility in the 
   following manner:
   (1) Install the snappy libraries by using the host system's package
       manager or by directly downloading libraries from author's
       website.  The packages required are:
         - snappy
         - snappy-devel
       The author's website is: http://code.google.com/p/snappy
   (2) Create a CFLAGS.extra file and an LDFLAGS.extra file in top-level
       crash sources directory:
         - enter -DSNAPPY in the CFLAGS.extra file
         - enter -lsnappy in the LDFLAGS.extra file.
   (3) Build crash with "make" as always.
   (d.hatayama at jp.fujitsu.com)

 - Prevent the "ptov" command from returning an invalid virtual address
   on 32-bit architectures.  Without the patch, the command may result
   in an invalid virtual address if the physical address entered cannot
   be accessed by a unity-mapped kernel virtual address.  The patch 
   verifies that the calculated virtual address can be translated back 
   into the supplied physical address.
   (Jan.Karlsson at sonymobile.com, anderson at redhat.com)

 - Fix to automatically try /proc/kcore as an alternative live memory 
   source when the /dev/crash driver does not exist and /dev/mem is
   unusable because the kernel was configured with CONFIG_STRICT_DEVMEM. 
   Without the patch, the automatic switch from /dev/mem to /proc/kcore
   is only attempted on the X86 and X86_64 architectures.
   (anderson at redhat.com)

 - Added missing linefeeds to several error messages in makedumpfile.c.
   (anderson at redhat.com)

 - Fix for a regression introduced by a crash-5.1.1 patch that reworked
   the handling of "set" commands that are put in .crashrc files, such
   that only certain command options would get resolved before the crash 
   session is initialized.  Without this patch, the "--less", "--more", 
   "--no_scroll" and "--CRASHPAGER" crash command line options do not 
   properly override conflicting "set scroll <option>" entries that
   are put in a .crashrc file.
   (anderson at redhat.com)

 - Added new "--hex" and "--dec" crash command line options, which will
   set the command output format to hexadecimal or decimal.  These two
   command line options will override any "set radix [10|16]" settings 
   in a .crashrc file; since decimal is the default, the "--dec" option
   would only be necessary to override a "set radix 16" setting in a
   .crashrc file.
   (anderson at redhat.com)

 - Fix for the "runq" and "timer" commands when running against 2.6.34
   and later kernels that are not configured with CONFIG_SMP.  Without
   the patch, the "runq" command fails with the error message "runq: 
   per-cpu runqueues does not exist", and the "timer" command fails 
   with the error message "timer: zero-size memory allocation! (called
   from <address>)".
   (anderson at redhat.com)

 - If code.google.com is not available from the host build machine, then
   "make extensions" will be delayed by a 10 minute timeout of the
   "git clone" command that downloads the EPPIC library and extension 
   module source tree.  The patch pings code.google.com first in order 
   to determine its availability before attempting the download.
   (anderson at redhat.com)

 - For kernel versions 3.5 and later, in which the kernel log buffer has
   been converted from a byte-buffer to a variable-length record buffer,
   the "log -m" option will display the level in hexadecimal, and 
   depending upon the kernel version, the value also contains either the
   facility or flags bits. 
   (anderson at redhat.com)

 - Fix for accessing the per-cpu registers from ARM vmcores generated
   by recent kernels in which the per-cpu data region has been moved 
   into mapped kernel virtual address space.  Without the patch, an
   incorrect physical address is calculated, resulting in bogus register
   contents.
   (Jan.Karlsson at sonymobile.com)

 - Check that an s390x dumpfile is a "live dump" earlier during session
   initialization so that the internal LIVE_DUMP flag will get set when
   "crash --minimal" is invoked.
   (holzheu at linux.vnet.ibm.com)
   
 - Removed the usage of C++ keywords in structure and structure member
   names declared in "defs.h" so that extension modules written in C++
   will compile successfully.  Accordingly, the "struct namespace" is
   renamed to "struct symbol_namespace", the struct symbol_table_data's
   "namespace" member is renamed to "kernel_namespace", and the struct 
   gnu_request's "typename" member is renamed to "type_name".
   (anderson at redhat.com)

 - Fix for the date displayed by the initial system banner and by the
   "sys" command for Linux version 3.6 and later.  Without the patch,
   the date displayed will be that of the UNIX epoch, i.e., midnight,
   Jan 1, 1970 UTC, adjusted to local time.
   (anderson at redhat.com)
    
 - When the eppic.so extension module is built by "make extensions", the
   EPPIC source tree is downloaded from its upstream source repository
   at https://code.google.com/p/eppic.  However, if an EPPIC_GIT_URL 
   environment variable is defined, then the URL that it points to will
   be used as an alternative git source repository.
   (per.fransson.ml at gmail.com)

 - Fix for a segmentation violation generated by the "struct" command
   when printing a structure member using the "struct_name.member" 
   argument format, where the member is a "char *" that points to a 
   string that contains a "%" character.
   (bob.montgomery at hp.com, adk at acunu.com)

 - Patchset to support the most recent Xen hypervisor and Xen pvops 
   kernels:
     (1) Always calculate max_cpus value
     (2) Read only crash notes for onlined CPUs
     (3) Read variables from dynamically allocated per_cpu data
     (4) Get idle data from alternative source
     (5) Read data correctly from dynamically allocated console ring
     (6) Add support for 3 level P2M tree
   (daniel.kiper at oracle.com)

 - Fix for building a 32-bit eppic.so extension module after having 
   built crash with "make target=ARM" or "make target=X86" on an x86_64
   host.  Without the patch, the eppic.so extension module would be 
   built as a 64-bit binary.
   (per.fransson.ml at gmail.com, anderson at redhat.com)

 - For the ARM architecture, fix the determination of the kernel modules
   base address when modules are not installed, and update the "mach"
   command to display the "KERNEL MODULES BASE" address.
   (mika.westerberg at iki.fi, anderson at redhat.com)

 - Fix for the "kmem -[sS]" commands for Linux version 3.6 and later
   kernels configured with CONFIG_SLUB.  Without the patch, the commands
   fail with the error message "kmem: invalid structure member offset:
   kmem_cache_objsize".
   (anderson at redhat.com)

 - Fix for an invocation failure when running against Linux version 3.6
   and later kernels that are configured with CONFIG_SLAB.  Without the 
   patch, the crash session fails during initialization with the error
   message "crash: invalid structure member offset: kmem_cache_s_next".
   (anderson at redhat.com)

 - Fix for the "kmem -[sS]" commands on kernels that are configured with
   CONFIG_SLUB to prevent a silent hang if a per-node slab cache partial 
   list recurses back onto itself.  Without the patch, it was necessary
   to kill the command; with the patch an error message is displayed and
   the command continues on to the next kmem slab cache.
   (anderson at redhat.com)

 - Fix for the "kmem -[sS]" and "kmem -s list" options on dumpfiles from
   kernels that are configured with CONFIG_SLUB which have been filtered
   by the makedumpfile facility.  Without the patch, it is possible that
   those commands may generate the error message "kmem: page excluded: 
   kernel virtual address: <address>  type: kmem_cache buffer", and
   would require either the "--zero_excluded" command line option or 
   having to execute "set zero_excluded on" during runtime in order to
   complete successfully.
   (anderson at redhat.com)





More information about the Crash-utility mailing list