-
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