Change logs for crash source package in Trusty

  • crash (7.0.3-3ubuntu4.5) trusty; urgency=medium
    
      * Fix for: Unable to analyse vmcore/dump via crash due to bad kernel
        debug info build (LP: #1607894).
    
     -- Robert Hooker <email address hidden>  Thu, 01 Dec 2016 12:03:17 -0500
  • crash (7.0.3-3ubuntu4.4) trusty; urgency=medium
    
      * Fix for crash: page excluded: kernel virtual address: ffff881052fa8000
        type: "fill_task_struct" (LP: #1523606)
    
     -- Dave Chiluk <email address hidden>  Mon, 07 Dec 2015 11:38:05 -0600
  • crash (7.0.3-3ubuntu4.3) trusty; urgency=medium
    
      * Fix-for-the-PPC64-bt-command-on-both-big-endian-and-.patch (LP: #1429250)
      * Remove extraneous patch:
          0001-Implemented-support-for-the-ARM64-bt-l-option.patch
    
     -- Chris J Arges <email address hidden>  Mon, 10 Aug 2015 16:44:48 -0500
  • crash (7.0.3-3ubuntu4.2) trusty; urgency=medium
    
      * Initial-working-implementation-of-the-basic-ARM64-bt.patch,
        Cleaned-up-the-exception-frame-displays-of-64-bit-in.patch,
        Implemented-support-for-the-ARM64-bt-e-option.patch,
        Implemented-support-for-the-ARM64-bt-l-option.patch:
         - Add initial ARM64 support for the 'bt' command. (LP: #1466686)
      * Fix-for-the-ARM64-page-size-determination-on-Linux-4.patch. (LP: #1460941)
    
     -- dann frazier <email address hidden>  Tue, 23 Jun 2015 09:37:27 -0500
  • crash (7.0.3-3ubuntu4.1) trusty; urgency=medium
    
      * Linux-4.0.patch: Backport support for 4.0+ kernel versions. (LP: #1444528)
     -- Chris J Arges <email address hidden>   Wed, 22 Apr 2015 13:36:49 -0500
  • crash (7.0.3-3ubuntu4) trusty-proposed; urgency=medium
    
      * debian/patches/Updated-the-ARM64-implementation-to-support-Linux-3..patch:
        Basic support >= 3.13 kernels on arm64. (LP: #1354349).
     -- dann frazier <email address hidden>   Tue, 30 Sep 2014 15:04:06 -0600
  • crash (7.0.3-3ubuntu3) trusty-proposed; urgency=medium
    
      * Build crash for ppc64el. LP: #1318809.
      * Add ppc64el support (debian/control, debian/rules (for patches),
        gdb-7.6-ppc64el.patch); patch-set provided by Bharata Rao.
     -- Mauricio Faria de Oliveira <email address hidden>   Fri, 16 May 2014 08:52:26 -0300
  • crash (7.0.3-3ubuntu2) trusty; urgency=low
    
      * debian/tests/live: Previous merge dropped the "allow-stderr" restriction.
        Redirect gpg stderr to stdout, as that's the only known and expected
        stderr source.
     -- Martin Pitt <email address hidden>   Thu, 21 Nov 2013 09:47:25 +0100
  • crash (7.0.3-3ubuntu1) trusty; urgency=low
    
      * Merge with Debian; remaining changes:
        - Build for armhf, arm64.
      * Minor fixes for live autopkgtest.
    
    crash (7.0.3-3) unstable; urgency=low
    
      * Add autopkgtest and try to keep the Debian and Ubuntu crash packages in
        sync  (closes: #721095)
    
    crash (7.0.3-2) unstable; urgency=low
    
      * Fix from  Louis Bouchard <email address hidden> to resolve FTBS on
        i386
    
    crash (7.0.3-1) unstable; urgency=low
    
      * Fix for the ARM architecture if the backtrace unwind information cannot be
        gathered during session initialization.  Without the patch, the two
        unwind-related warning messages indicating "WARNING: UNWIND: failed to
        gather unwind_table list" and "WARNING: UNWIND: failed to initialize
        module unwind tables" are followed by the fatal error message "crash:
        cannot hash task_struct entries".
    
      * Fix for the "help -[Dn]" dumpfile information display of the GUID EFI
        table in the header of SADUMP dumpfiles.  Without the patch, only 33 of
        the 36 bytes in the table are translated.
    
      * Fix for the determination of the kernel NR_CPUS configurable for Linux 3.8
        and later kernels that are configured with CONFIG_SLAB.  Without the
        patch, the kernel's compiled-in NR_CPUS value was incorrectly calculated
        to be the sum of the kernel's NR_CPUS and MAX_NUMNODES configurables.
    
      * In the next release of makedumpfile, the status field of the dumpfile
        header of compressed kdumps will show the compression type that was
        utilized.  The "help -[Dn]" output has been updated to display that
        information.
    
      * For kernels configured with CONFIG_SLAB in which an array_cache pointer
        referenced by a kmem_cache structure is invalid, the individual cache(s)
        will be marked as invalid.  During session initialization, the message
        "crash: kmem_cache: <cache-address>: invalid array_cache pointer" will be
        displayed, and during runtime, attempts to access the cache(s) will result
        in a message indicating that the cache is "[INVALID/CORRPUTED]".  Without
        the patch, the message "crash: unable to initialize kmem slab cache
        subsystem" is displayed during session initialization, and run-time
        commands that attempt to access the kmem slab cache subsystem fail with
        the error message "kmem cache slab subsystem not available".
    
      * Fix for the "kmem -[sS] <slab-object-address>" option in Linux 3.6 and
        later kernels configured with CONFIG_SLAB.  Without the patch, the command
        fails with the message "kmem: address is not allocated in slab subsystem:
        <slab-object-address>.  This also causes the "kmem <slab-object-address>"
        command to (quietly) fail to determine that the address is a slab object.
    
      * Fix for the "bt" command if a kernel __init text address is encountered.
        Without the patch, and depending upon the reallocation of the __init text
        memory, a bogus framesize may be calculated, or more likely, in a
        compressed kdump, a warning message indicating "bt: page excluded: kernel
        virtual address: <address>  type: gdb_readmem_callback" will be displayed
        following the frame data.
    
      * Update for determining whether an S390X PTE contains a swap entry in Linux
        3.12 and later kernels.
    
      * Resurrected the translation and display of the page.flags bits by the
        "kmem -p" command on Linux 2.6.26 and later kernels whose vmlinux
        debuginfo data contains either the "pageflags" enumerator or the
        "pageflag_names" array of trace_print_flags structures.  If they are not
        available, just the page.flags value is printed in hexadecimal, as has
        been done since Linux 2.4.9.
    
      * Fix for the "bt" command when used with vmcore files that were created
        with the recently-introduced "virsh dump --memory-only", which dumps KVM
        guests into an ELF vmcore similar to those created by the kdump facility.
        Without the patch, a faulty backtrace for the panic task may be generated
        due to the use of incorrect starting RSP/RIP registers; this happens
        because (unlike kdump) the non-panicking cpus are offlined prior to the
        dumpfile being created, which in turn leads to the use of the wrong
        NT_PRSTATUS note.
    
      * Fix for the CPU number display on systems with 255 or more cpus during the
        initial banner, by the "set" command, the "ps" command, and by all
        commands that display the per-task header consisting of the task address,
        pid, cpu and command name.  Without the patch, for cpu 255, the "sys"
        command displays "NO_PROC_ID", and the other commands would show a "-" for
        the cpu number; for cpu numbers greater than 255, garbage values would be
        displayed in the cpu number field.
    
      * Implemented support for compressed kdump header version 6, in which
        makedumpfile(8) adds new fields in the kdump_sub_header to support large
        memory systems with pfn values that are larger than 32-bits.  Without the
        patch, if the system contains physical memory located in high memory such
        that its maximum pfn value is overflows the 32-bit "max_mapnr" field in
        the header, the crash session will fail with the error message "crash:
        vmlinux and vmcore do not match!".
    
      * Fix for the "net -s" command on Linux 3.8 and later kernels.  Without the
        patch, the command fails with the message "net: invalid structure member
        offset: inet_opt_daddr".
    
      * Fix a build failure in a native ARM64 environment due to obsolete LKCD
        dumpfile headers.
    
      * Implementation of a new "per-cpu object" as an argument format that can be
        passed to the "p", "struct", "union" or "*" commands.  The format is
        expressed as either <per-cpu symbol>:<cpu-specifier> or as <per-cpu
        offset>:<cpu-specifier>, where the per-cpu symbol or per-cpu offset must
        precede a colon, and where the <cpu-identifier> follows the colon.
        Without the patch, per-cpu symbols are only accepted by the "p" command,
        and the data type and the resolved kernel virtual address for each per-cpu
        instance are displayed shown.  With this patch, a colon and a
        cpu-specifier may be appended to the symbol name, and the the contents of
        the symbol on each cpu that is specified will be displayed by the "p"
        command.  For the "struct/union/*" commands, an argument may be specified
        using either a per-cpu offset value or per-cpu symbol name followed by a
        colon and cpu-specifier, and the contents of each structure/union on each
        specified cpu will be displayed.
    
        Fixed several minor flaws that were detected by a Coverity Scan.
     -- Chris J Arges <email address hidden>   Mon, 18 Nov 2013 08:22:03 -0600
  • crash (7.0.2-1ubuntu1) trusty; urgency=low
    
      * Merge with Debian; remaining changes:
        - Build for armhf.
        - Add a live autopkgtest to run crash on running kernel.
      * Build for AArch64.
    
    crash (7.0.2-1) unstable; urgency=low
    
      * Added "bison" to the BuildRequires line of the crash.spec file.
               Without the patch, the build of the embedded gdb-7.6 module will fail
               unless either /usr/bin/bison or /usr/bin/yacc are available.  The
               failure will result in a stream of error messages from different
               files that indicate:
    
                 multiple definition of 'main'
                 undefined reference to 'c_parse_escape'
                 undefined reference to 'ada_parse'
                 undefined reference to 'ada_error'
                 undefined reference to 'c_parse'
                 undefined reference to 'c_error'
                 undefined reference to 'cp_demangled_name_to_comp'
                 undefined reference to 'cp_demangled_name_parse_free'
                 undefined reference to 'cp_comp_to_string'
                 undefined reference to 'cp_new_demangle_parse_info'
    
               and the build fails like so:
    
                 collect2: ld returned 1 exit status
                 make[4]: *** [gdb] Error 1
                 crash build failed
    
               If building with rpmbuild, the new BuildRequires "bison" entry will
               prevent the build from initiating unless the bison package has been
               installed.  If building with the tar.gz file, the build attempt will
               proceed and fail unless either the bison or byacc (Berkeley Yacc)
               package is installed.
    
      * Fix the S390X initialization sequence on kernels that are configured
               with CONFIG_STRICT_DEVMEM to automatically try /proc/kcore if:
    
                (1) the /dev/crash driver is not available, and
                (2) the initial /dev/mem access fails.
    
               Without the patch, if /dev/mem is selected as the memory source and
               it is restricted, the crash session will fail during initialization
               with the error message "crash: read error: kernel virtual address:
               <address>  type: cpu_possible_mask".
    
      * When checking whether a argument on the crash command line is a dumpfile
        that may be in makedumpfile's "flattened" format, do not bother checking
        character device files.
    
      * Fix for the PPC64 virtual-to-physical virtual address translation
        mechanism for vmalloc and user-space virtual addresses on Linux 3.10 and
        later kernels.  Without the patch, the message "WARNING: cannot access
        vmalloc'd module memory" is displayed during initialization, and during
        the crash session, if a command attempts to translate or read a vmalloc or
        user-space virtual address, it will fail.
    
      * Clean up all files that emit "warning: format not a string literal and no
        format arguments" when compiled with -Wformat-security warning option.
        All instances of fprintf, sprintf and snprintf using the format
        "fprintf(fp, buf)" are replaced with "fprintf(fp, "%s", buf)".  Also, the
        -Wformat-security warning option has been added to the option list used
        when compiling with "make warn".
    
      * Fix a build failure when compiling with very old gcc-3.4.6 version on a
        2.6.9-based RHEL4 IA64 host.  The bfd library in gdb-7.6 is compiled with
        the -Werror option, and it fails with the message "elflink.c:4733:
        warning: 'idx' might be used uninitialized in this function".
    
      * Fix a build failure when compiling with very old gcc-3.4.6 version on a
        2.6.9-based RHEL4 S390 or S390X hosts.  The embedded gdb-7.6 fails to
        compile with the error message "s390-nat.c:364: error: storage size of
        'iov' isn't known".
    
      * Fix to properly store two-digit kernel version numbers. (closes: #717036)
    
      * Fix to provide hugepage address translation for the "vtop" command on the
        PPC64 architecture.
    
      * Fix for the "log" command to account for the kernel data structure name
        change from "log" to "printk_log" in Linux 3.11-rc4 and later kernels.
        Without the patch, the message "WARNING: log buf data structure(s) have
        changed" will be displayed during initialization and by the "log" command.
    
      * Fix to add a linefeed after the description of the "kmem -I" option in the
        "help kmem" output, which was recently added in crash-7.0.0.
    
      * Document the "-s" command line option in the "crash -h|--help" output and
        in the crash.8 man page to also indicate that runtime command scrolling is
        turned off by default.
    
      * Fix for the "irq -d" option on 2.6.25 and later X86_64 kernels to display
        the Intel interrupt descriptor table contents.  Without the patch, those
        kernel versions would display "irq: -d option not supported or applicable
        on this architecture or kernel".
    
      * Fix for the "kmem -[sS]" options on Linux 3.11-rc1 and later kernels that
        are configured with CONFIG_SLAB.  Without the patch, the command fails
        with the error message "kmem: invalid structure member offset:
    
      * Fix for the "kmem <address>" and the "bt -F" options on Linux 3.8 and
        later kernels that are configured with CONFIG_SLUB.  Without the patch,
        the command would fail with the error message "kmem: invalid structure
        member offset: page_slab".
    
      * Fix misspellings in the "bt" and "search" help page output.
    
      * Fix for the determination of the base of the kernel's unity-mapped virtual
        address region on recent ARM kernels whose "_stext" variable address has
        changed from 0xc0008000 to 0xc0100000.  Without the patch, the crash
        session fails during invocation with the error message "crash: vmlinux and
        vmcore do not match!".
    
      * When printing data structures, prevent the embedded gdb from symbolically
        translating pointers that are not kernel virtual addresses.  Kernel or
        module symbols that are not virtual addresses can be mistaken for virtual
        addresses, leading to NULL pointers being invalidly translated into a
        symbol name from the vmlinux or module object file.  For example, in
        X86_64 kernels, NULL pointers are translated into the symbol
        "irq_stack_union", whose value is not a virtual address, but rather a
        per-cpu offset value of 0.
    
      * Fix for the "kmem -s <address>" or "kmem <address>" options on Linux 3.11
        and later kernels configured with CONFIG_SLAB.  Without the patch, both
        commands fail with the error message "kmem: cannot resolve cache_cache".
    
      * Fix to prevent the "bt" command from generating a segmentation violation
        in a case where the per-cpu "current_task" variable and the runqueue's
        "curr" variable did not agree, and the panic task had overflowed its
        kernel stack.  This led to the selection of the a starting RSP address
        which belonged to the other task; without the patch, the command generated
        a segmentation violation after printing the first frame of the backtrace.
    
    crash (7.0.1-3) unstable; urgency=low
    
      * Updated format-strings patch to cover additional architectures
      * Requested update to packages-arch-specific to enable s390x and armel
        (#717283)
    
    crash (7.0.1-2) unstable; urgency=low
    
      * Missed updating the Architecture line in the -1 upload, armel
        (closes: #656132)
      * Move defs.h to /usr/include/crash (closes: #702513)
      * Patch from Stefan Bader to add a format string to all *printf calls
    
    crash (7.0.1-1) unstable; urgency=low
    
      * Enable armel (closes: #656132)
      * Enable s390x (closes: #710675)
      * Include the crash/defs.h header (closes: #702513)
      * Sync with the Ubuntu crash package, build crash extensions, SPU has been
        dropped (closes: #584119), lpia has been dropped (closes: #504522).
      * Fix the -I include path sequence in the extensions/eppic.mk file to
        prevent a series of "redefined" and "redeclaration" warnings when
        compiling the EPPIC extension module.
      * Address two compile-time warnings generated as a result of the
        gdb*7.6.patch.  Without the patch, there are "warning: no previous
        prototype" warnings for gdb_main_entry() and replace_ui_file_FILE().
      * Implemented a new "mod -t" option that walks through the installed modules
        and checks for non*zero values in each module's "taints" bitmask, and
        translates the bits into symbolic letters if possible, or shows the
        hexadecimal value of the bitmask if not.  In older kernels, the
        "license_gplok" field is checked, and if non*zero, its value is displayed
        in hexadecimal.  Lastly, if the "gpgsig_ok" member exists and is zero, a
        "(U)" notation will also be displayed.
       * Fixed compiler warnings generated by extensions/trace.c when compiled
         with *DFORTIFY_SOURCE=2.  Without the patch, the messages "warning:
         ignoring return value of 'mktemp', declared with attribute
         warn_unused_result", "warning: ignoring return value of 'fwrite',
         declared with attribute warn_unused_result", and "warning: 'trace_dat'
         may be used uninitialized in this function" are generated.
      * Laid down the basic infrastructure for the ARM64 backtrace facility using
        the kernel's arm64 unwind facility as a basis.  Compile*tested only.
      * Implemented the ARM64 virtual-to-physical kernel and user address
        translation functions, supporting both 2*level page tables with 64K pages,
        and 3*level page tables with 4K pages.  Also added the associated PTE
        translator function.  Compile*tested only.
      * Implemented the capability of building crash as an x86_64 binary for
        analyzing ARM64 dumpfiles on an x86_64 host, which can be done by entering
        "make target=ARM64".  After the initial build is complete, subsequent
        builds can be done by entering "make" alone.
      * Added "aarch64" to the ExclusiveArch: line in the crash.spec file.
      * Fix for the S390X "bt" command for Linux 3.10 and later kernels.  Without
        the patch, the starting stack location of the per*cpu async and panic
        stacks of active tasks would be incorrectly determined.
    
    crash (7.0.0-1) unstable; urgency=low
    
      * Updated the embedded gdb version to FSF gdb-7.6, which was officially
        released by the Free Software Foundation on http://www.gnu.org on 4/26/13.
        The primary motivation for upgrading from gdb-7.3.1 is for future ARM64
        support, but there are also issues with respect to kernels built with
        gcc-4.8.0.  The relevant pieces of gdb-7.3.1.patch were forward-ported to
        the gdb-7.6.patch, and the GDB_7_6 #define has been applied in the
        top-level sources where appropriate.
    
      * Continued incremental steps for support of the ARM64 architecture.
    
      * Fix for the "struct name.member <address>" option if the "member" name is
        also coincidentally a member of an embedded structure that is located
        before the targeted member.  Without the patch, the value of the embedded
        structure's member is displayed instead of the targeted member.
    
      * Expose a heretofore unadvertised "kmem -[sS] -I slab[,slab]" option that
        specifies one or more slab cache names in a comma-separated list that the
        "kmem -[sS]" option should ignore.  This can be helpful in cases where a
        corrupted slab cache may never complete, or in very large memory systems
        where one or more caches take an inordinate amount of time to complete.
    
      * Fix for the "kmem -i" option on Linux 3.9 and later kernels.  Without the
        patch, the "TOTAL SWAP", "SWAP USED" and "SWAP FREE" lines are not
        displayed because the kernel's former "swapper_space" singular
        address_space structure has has been changed into a "swapper_spaces" array
        of address_space structures, with one for each swap partition.
    
      * Support for the PPC64 BOOK3E processor family, whose virtual memory
        layout and PTE format are significantly different.  Without the patch, the
        crash session fails to initialize properly.  (<email address hidden>)
    
      * Fix for the PPC64 "sys", "mach" and initial system banner display of of
        the processor speed in more recent kernels.  Without the patch, the
        "MACHINE" line in the initial banner and in the "sys" command display may
        show "MACHINE: ppc64 (unknown Mhz)", and the "mach" command may show
        "PROCESSOR SPEED: (unknown)".  (<email address hidden>, <email address hidden>)
    
      * Since the libgdb.a file no longer exists in gdb-7.6, the Makefile does not
        check for it as a determining factor for whether a build has succeeded.
    
      * gdb-7.6 requires that the bfd library's "config.h" file be #include'd
        before the "bfd.h" file by the top-level symbols.c file.
    
      * gdb-7.6 has replaced/moved the gnu_debuglink_crc32() utility function to
        bfd_calc_gnu_debuglink_crc32(); the call in symbols.c has been configured
        based upon the gdb version.
    
      * gdb-7.6 has reworked its do_cleanups() functionality, which requires the
        gdb_error_hook() function to pass all_cleanups() as an argument.
    
      * gdb-7.6 causes the anon_member_offset() function to fail due to a change
        in the output string; the function has been changed to work with both old
        and new gdb versions.
    
      * gdb-7.6 required changes to vm_stat_init() and vm_event_state_init()
        functions because enum lists get displayed differently on the S390X and
        PPC64 architectures, which in turn caused failures of "kmem -i", "kmem -z"
        and "kmem -V" on those two machine types.
    
      * Adjusted the alignment of the "kmem -V" and "kmem -z" display of the items
        in the vm_stat[] array based upon the longest enumerator name string.
    
      * Adjusted the alignment of the "kmem -V" display of the cumulative totals
        of the per-cpu "vm_event_states" items based upon the longest enumerator
        name string.
    
      * Modified the top-level Makefile such that if the tar.gz file of the
        configured gdb version does not exist in the build directory, try to wget
        the file from http://ftp.gnu.org/gnu/gdb.  This is normally not necessary
        because the most recent gdb tar.gz file is bundled with the the crash
        utility tar.gz and src.rpm files.  However, it will allow the use of the
        gdb-less crash.tar.gz file created via "make tar" to be copied to another
        location, or perhaps copied to a git tree, and then built without
        containing the the gdb tar.gz file.
    
      * Fix for the s390x.c file to handle a gcc-4.8.0 compiler warning when
        building crash with "make warn", or compiler failures when building with
        "make Warn" on an S390x machine.  Without the patch, gcc-4.8.0 generates
        the message "error: variable ‘psw_addr’ set but not used
        [-Werror=unused-but-set-variable]".
    
      * Fixes for the s390dbf.c file to handle gcc-4.8.0 compiler warnings when
        building crash with "make warn", or compiler failures when building with
        "make Warn" on an S390X machine.  Without the patch, gcc-4.8.0 generates
        three "error: variable ‘<variable>’ set but not used
        [-Werror=unused-but-set-variable]" messages.
    
      * Fix for an X86_64 warning message that gets displayed during session
        initialization when running against Linux 3.9 kernels that were compiled
        with gcc-4.8.0.  Without the patch, the warning message "crash: cannot
        determine thread return address" is displayed prior to the system
        information.
    
      * Fix for lack of kernel text line number information by the "dis -l" and
        "sym <text-symbol or address>" options on Linux 3.9 kernels that were
        compiled with gcc-4.8.0.  Without the patch, the line number information
        for kernel text symbols of type "(T)" may not be able to be determined and
        displayed.
     -- Matthias Klose <email address hidden>   Sat, 19 Oct 2013 16:54:49 +0200
  • crash (6.1.6-1ubuntu2) saucy; urgency=low
    
      * Add a live autopkgtest to run crash on running kernel.
     -- Chris J Arges <email address hidden>   Tue, 27 Aug 2013 12:37:03 -0500