- Due to a change in the x86 disassembler output from the embedded
gdb-7.0 that was introduced in crash version 5.0.0, there may be
a stream of warning messages during invocation that indicate
crash: invalid input: string: and crash: input string too
large: string: (9 vs 8) on 2.6.20 and earlier x86 kernels.
(ander...@redhat.com)
- As of glibc 2.11, the mkstemps() function has been introduced as a
versioned symbol. As a result, crash utility binaries built on host
machines with glibc 2.11 or later cannot be run on systems that run
pre-2.11 glibc versions, failing during invocation with the error
message crash: relocation error: crash: symbol mkstemps, version
GLIBC_2.11 not defined in file libc.so.6 with link time reference.
With the patch, the pre-existing version of mkstemps() from the
built-in libiberty.a library will always be used.
(jmo...@redhat.com)
- Fix for the irq command on 2.6.33 and later kernels to account for
the removal of the irqaction.mask structure member. Without the
patch, the irq command fails with the error message irq: invalid
structure member offset: irqaction_mask.
(bernh...@bwalle.de)
- Added a defensive mechanism to handle a corrupted cache_cache
kmem_cache structure. Without the patch, a vmcore that had such
a corruption caused a failure during invocation with the error
message crash: zero-size memory allocation!.
(ander...@redhat.com)
- Fix for the swap, kmem -i, and vm -p commands to account for
the 2.6.33 kernel changes to the swap_info_struct data structure and
the swap_info[] array type. Without the patch, swap would show
only the command's header, kmem -i would show zero swap usage, and
vm -p would show (unknown swap location) when translating the
swap file name for any swapped-out pages in the task.
(ander...@redhat.com)
- Fix for a segmentation violation during session invocation when
running against 2.6.30 or later x86_64 dumpfiles whose kernel is not
configured with CONFIG_SMP.
(ander...@redhat.com)
- Fix for the bt command on an ia64 INIT process that interrupted
a task that was running in user space, but was unable to modify the
original (interrupted) task's stack. Without the patch, the INIT
task's backtrace would not display the task that was interrupted,
and would display the error message bt: unwind: failed to locate
return link (ip=user-virtual-address)!. With the patch, the
interrupted task information is displayed in the same manner as if
the original stack had been modified.
(tin...@redhat.com)
- Fix for x86, s390, s390x and ia64 architectures to set the system
cpu count equal to the highest cpu online plus one. Without the
patch, those architectures would use the number of online cpus as
the system's total cpu count, which would be misleading when any
offline cpu number was less than the highest online cpu number.
(ander...@redhat.com)
- Fix for package build failure on x86_64 when using gcc-4.5. Without
the patch, these types of errors are generated:
unwind_x86_32_64.c:50:2: error: initializer element is not constant
unwind_x86_32_64.c:50:2: error: (near initialization for
'reg_info[7].offs')
unwind_x86_32_64.c:50:2: error: initializer element is not constant
unwind_x86_32_64.c:50:2: error: (near initialization for
'reg_info[8].offs')
(troy.he...@hp.com)
- Fix to recognize the symbol type change of per-cpu variables from
'd' or 'D' to 'V'. Without the patch, entering a command of the
form p per_cpu__variable would fail with the error message
p: gdb request failed: p per_cpu__variable. With the fix,
the symbol is recognized as a per-cpu variable, in which case the
data type of the variable is displayed, followed by a list of the
virtual addresses of each per-cpu instance of the variable.
(ander...@redhat.com)
- Fix for the struct and union commands when passed an address that
is in a valid kernel virtual address region but is either unmapped or
non-existent. Without the patch, the following three error messages
are displayed:
struct name struct: invalid kernel virtual address:
kernel-address type: gdb_readmem_callback
gdb called without error_hook: Cannot access memory at address
kernel-address
*** glibc detected *** crash: double free or corruption (!prev):
crash-address ***
followed by a backtrace and the crash utility memory map. The session
aborts at that point. With the fix, the commands will fail gracefully
after displaying error messages reporting that the kernel virtual
address cannot be accessed.
(ander...@redhat.com)
- Update for 2.6.33 and later s390 and s390x kernels to account for the
_lowcore structure member name change from st_status_fixed_logout
to psw_save_area.
(holz...@linux.vnet.ibm.com)
- Fix for very large Xen domU