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

Dave Anderson anderson at redhat.com
Thu Feb 10 20:28:45 UTC 2011



 - Added the /dev/crash memory driver Makefile and source file to
   the crash package for live system analysis when the target 
   system's kernel was configured with CONFIG_STRICT_DEVMEM, or was
   not configured with CONFIG_PROC_KCORE, or whose /proc/kcore is 
   simply not functional.  The driver can be built and installed by
   entering the memory_driver subdirectory and entering "make", and 
   then "insmod crash.ko".  If the module is successfully installed,
   it will be used by default for live crash sessions.
   (anderson at redhat.com)

 - Fix for the "extend -u" command option.  Without the patch, after
   the successful unloading of a crash extension module, there may be
   an invalid error message that indicates "extend: <module>.so and
   <module>.so are different".
   (anderson at redhat.com)

 - Implement support for Xen version 4 hypervisor dumpfiles:
   1. Accept the "__per_cpu_shift" symbol.  Without the patch, crash
      initialization fails on X86, X86_64 and IA64 dumpfiles.
   2. Make the x86_64 XEN_VIRT_START value a variable dependent upon 
      the Xen version.  Without the patch, crash initialization fails
      on x86_64 dumpfiles.           
   3. In Xen version 4, "init_tss" is a per-cpu symbol.  Without this 
      patch, crash fails during initialization with the error message
      "crash: cannot resolve init_tss" on X86 and X86_64 dumpfiles.
   4. Each domain can have a different number of max VCPUs in Xen 
      version 4.  Prepare for this by converting the static array into
      a dynamic one.
   5. If the size of the vcpu array in struct domain is known, use it
      to size the dynamically allocated vcpu array in crash.  This 
      enables crash to initialize domains with a different number of 
      VCPUs than specified by the XEN_HYPER_MAX_VIRT_CPUS macro.
   6. The "vcpu" field changed from a fixed array to a pointer to an 
      array.  The size of the array is stored in the (newly introduced)
      "max_vcpus" field.  Modify xen_hyper_store_domain_context() to 
      account for this change.
   7. The command line options (such as opt_sched) are discarded after
      boot in Xen version 4, so they are no longer available.  Use the
      "ops" variable (if it exists) to determine the active scheduler. 
      Without this patch, crash fails during initialization with the
      error message "crash: schedule data not found".
   (ptesarik at suse.cz)

 - Created a new extension module API: 

     int load_module_symbols_helper(char *module);

   It takes a kernel module name as an argument, and performs the same 
   procedure as the command "mod -s <module>".
   (nakayama.ts at ncos.nec.co.jp, anderson at redhat.com)

 - When loading debuginfo data for kernel module object files with the 
   "mod" command or with the new load_module_symbols_helper() extension 
   module API, search a non-standard directory path by specifying the
   directory tree in the CRASH_MODULE_PATH shell environment variable.
   (nakayama.ts at ncos.nec.co.jp, anderson at redhat.com)

 - Created a new extension module API: 

     int get_kernel_config(char *conf_name, char **str);

   The kernel must be configured with CONFIG_IKCONFIG.  It takes a 
   kernel configuration item string, which may be of the format 
   "CONFIG_XXX" or just "XXX", and a pointer to a char *.  The function 
   returns:

     IKCONFIG_Y:   configuration item is built into the kernel
     IKCONFIG_M:   configuration item is part of a kernel module
     IKCONFIG_STR: configuration item consists of a string
     IKCONFIG_N:   the kernel is not configured with CONFIG_IKCONFIG or
                   the configuration item is not configured.

   If "Y", "M" or "STR", the configuration item's string representation
   will be pointed to by the passed-in "str" pointer.
   (nakayama.ts at ncos.nec.co.jp, anderson at redhat.com)

 - Update of the "extensions/trace.c" extension module.  Initially
   designed to support 2.6.32 (RHEL6), it has been updated to support 
   kernels up to 2.6.38-rc1.
   (laijs at cn.fujitsu.com)

 - Fix for the internal parse_line() function to properly handle 
   multiple string arguments.  Without the patch, the second, fourth,
   etc., string argument would get broken up into individual tokens.
   (bob.montgomery at hp.com)

 - Updates to support ARM page table changes and PTE differences that
   were introduced in 2.6.38 kernels.  Deleted two irrelevant ARM-only
   source code comments.
   (ext-mika.1.westerberg at nokia.com)

 - Removed two unused "struct syment" local variable declarations in
   the gdb_add_symbol_file() function in gdb-7.0/gdb/symtab.c.
   (ptesarik at suse.cz)

 - Replaced the usage of the VOID_PTR() macro with the ULONG() macro for 
   structure member accesses in vm_area_dump(), vm_area_page_dump() and
   next_upage().
   (ptesarik at suse.cz)

 - Implemented support for makedumpfile's "vmcore.flat" dumpfile format.
   It is no longer necessary to revert the flat dumpfile back into an 
   ELF vmcore or compressed kdump vmcore with "makedumpfile -R", or with
   the "makedumpfile-R.pl" script.  Without the patch, attempting to use
   a flat dumpfile fails with the message "crash: vmcore.flat: not a 
   supported file format".
   (oomichi at mxs.nes.nec.co.jp)

 - Moved the GDB_CONF_FLAGS logic from the Makefile into configure.c.
   (ptesarik at suse.cz)

 - Use memset() in the shift_string_right() utility function, and use 
   shift_string_right() and memset() in the mkstring() utility function.
   (ptesarik at suse.cz)

 - Added a new "search -p" option to search physical memory.  Until now
   only kernel virtual memory and user virtual memory of the current
   context could be searched.
   (anderson at redhat.com)

 - Optimization of the "search -k" function resulting in a significant
   time reduction when cycling through vmalloc memory space.
   (anderson at redhat.com)

 - Added a new "search -K" option, which searches a subset of kernel
   virtual memory, restricting the search to kernel unity-mapped virtual
   memory, and on the x86_64 and ia64 machines, their discretely mapped
   kernel-text/static-data regions.
   (anderson at redhat.com)

 - Added a new "search -V" option, which searches a subset of kernel
   virtual memory, restricting the search to kernel virtual memory
   that was allocated by vmalloc(), kernel module memory, and the 
   virtual mem_map region if it exists on x86_64, ia64, ppc64 and 
   s390x machines.
   (anderson at redhat.com)

 - Reworked the functionality of the "search" command to break up kernel
   virtual memory into machine-dependent address regions so that the
   cycling through disparate virtual address regions can be done in a 
   more efficient manner.
   (anderson at redhat.com)

 - Fix for "search -k" on x86_64.  Early 2.6 kernels did not have their
   module virtual address space included in the kernel's "vmlist" array;
   without the patch, module memory is not searched.  
   (anderson at redhat.com)

 - Fix for "search -k" on x86_64.  Without the patch, the kernel's
   mapped kernel text/static-data region is not searched as a separate
   region.
   (anderson at redhat.com)

 - Fix for "search -k" on architectures that may have a virtual memmap, 
   such as x86_64, ia64, ppc64 and s390x.  Without the patch, virtual
   memmap array memory is not searched.
   (anderson at redhat.com)

 - Fix for "search -k" on s390x.  Without the patch, the command may
   end prematurely with the error message "search: read error: kernel 
   virtual address: 0  type: entry".
   (anderson at redhat.com)

 - Fix for "search" command to prevent unnecessary read error messages
   for memory pages that are not contained in a xendump dumpfile.  
   Without the patch, the output may be interspersed with messages that
   indicate "search: cannot find mfn in page index". 
   (anderson at redhat.com)

 - Fix for a compile failure of the embedded gdb-7.0/bfd/verilog.c file 
   due to a smarter -Werror flag used by gcc-4.6. 
   (anderson at redhat.com)

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




More information about the Crash-utility mailing list