[ANNOUNCE] crash gcore command, version 1.2.1 is released
by HATAYAMA Daisuke
This is the release of crash gcore command, version 1.2.1.
ChangeLog:
- Fix failure of coredump at accessing memory for VSYSCALL page due
to wrong conversion of uvtop which wrongly treats address
VSYSCALL_START as belongs to kernel direct mapping region. This fix
executes uvtop in verbose mode to make it always paging and
retrieves the correct physical address from its output. Without
this fix, VSYSCALL page fails to be collected and core dump process
is aborted; though VSYSCALL page is done in the last so allmost all
corefile is already generated.
(d.hatayama(a)jp.fujitsu.com)
- Skip page-faulted pages by lseek() rather than writing zero-filled
pages. By this, generated core file has holes in the corresponding
positions for each page-faulted pages if filesystem supports sparse
files. This is highly useful when the target process has huge
virtual memory space such as qemu process that has huge physical
memory of KVM guest machine.
(d.hatayama(a)jp.fujitsu.com)
- Fix the bug that filter for hugepage shared/private memory can
depend on flags other than HP or HS flags. This was introduced at
the introduction of VM_DONTDUMP where VM_RESERVED flag was
removed. At the time, there was a check to see if VM_REESRVED flag
was set after a check to see if VM_HUGETLB. But the latter check
was not changed when the former check was removed.
(d.hatayama(a)jp.fujitsu.com)
MD5 CheckSum:
$ md5sum crash-gcore-command-1.2.1.tar.gz
e767ab8f5e00a881f5c6e64fde541f7d crash-gcore-command-1.2.1.tar.gz
--
Thanks.
HATAYAMA, Daisuke
11 years, 6 months
[ANNOUNCE] crash-7.0.0 is available
by Dave Anderson
The upgrade from gdb-7.3.1 to gdb-7.6 has been accomplished with
this release. It was painful as usual, and as history has proven
in the past, there are going to be regressions. I've addressed
several of them, but it's highly likely that others will crop up.
Most notably, the eppic extension module no longer builds, but
that needs to be addressed in the eppic git tree.
Download from: http://people.redhat.com/anderson
Changelog:
- 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.
(anderson(a)redhat.com)
- Continued incremental steps for support of the ARM64 architecture.
(anderson(a)redhat.com)
- 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.
(qiaonuohan(a)cn.fujitsu.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(ataufer(a)us.ibm.com)
- 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)".
(anderson(a)redhat.com, ataufer(a)us.ibm.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- gdb-7.6 has reworked its do_cleanups() functionality, which requires
the gdb_error_hook() function to pass all_cleanups() as an argument.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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]".
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
- 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.
(anderson(a)redhat.com)
11 years, 6 months
crash read error: kernel virtual address / vmcore address mismatch ?
by Anand Raj Manickam
Hi ,
Sorry about re posting this as i did not find solution ...
I m facing a issue where on
#crash /data/linux-2.6.30.8/vmlinux /proc/vmcore
crash 6.1.6
Copyright (C) 2002-2013 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011 NEC Corporation
Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. Enter "help copying" to see the conditions.
This program has absolutely no warranty. Enter "help warranty" for details.
GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
crash: read error: kernel virtual address: c127a9c8 type: "cpu_possible_mask"
I did follow few threads around , I have a case similar to
https://www.redhat.com/archives/crash-utility/2010-August/msg00029.html
Both the System Kernel and the Debug Kernel are the same.
My current config for
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x400000
The /proc/kallsyms is diffrent between the System Kernel and Debug Kernel.
On the System Kernel it starts from 0x400000 .On the Debug kernel it
starts from 0x1000000 .
if i change the CONFIG_PHYSICAL_START=0x400000 . It does NOT core dump.
my crashkernel=128M is the setting on grub.
Let me know if you need more info
Anand
11 years, 6 months
[PATCH v3] Show module taint flags
by Aaron Tomlin
Hi Dave,
Sorry about the delay. I've finally found the time to attempt another version.
As per your request, I've updated *help_mod[] to document the -T option.
Also in this particular version, I omit ' ' and '-', when false, as I'm under
the impression that we're only interested in true values as per module_flags()
(since 2.6.25).
I suspect that there shouldn't be a situation where a module isn't tainted since
every module is either proprietary license or GPL. However, if this is not
acceptable I can change this behaviour.
For module.gpgsig_ok case (as seen in kernel-2.6.32-1.el6), I've decided to follow
the same logic to highlight "(U)" to the user, as per print_modules().
With regards to module.sig_ok, this is handled, as seen under 3.8.9-200.fc18:
nf_nat G
bnx2i G
ip6t_REJECT G
nf_defrag_ipv6 G
be2iscsi G
tun G
test GFO
For pre 2.6.28 kernels, I'll work on a solution that simply displays the bit number
to then refer the user to the relevant kernel source for details on what the bit
number means, as per your suggestion. I just wanted to get this version out to the
mailing list for review.
Cheers,
Aaron
--8<--
help.c | 18 ++++++++-
kernel.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 140 insertions(+), 2 deletion
11 years, 6 months