- Fix for 2.6.31 or later x86_64 CONFIG_NEED_MULTIPLE_NODES kernels running on systems that have multiple NUMA nodes. By default, those kernels use the "page" (or "lpage") percpu memory allocators, which utilize vmalloc space for percpu memory. Without the patch, the crash session would fail during initialization with the error message "crash: cannot determine idle task addresses from init_tasks[] or runqueues[]", followed by "crash: cannot resolve init_task_union". (anderson@xxxxxxxxxx) - Fix for the snap.c extension module to properly handle NUMA systems with multiple nodes, or single node systems whose first unity-mapped PT_LOAD segment starts on a non-zero physical address. Without the patch, a crash session on the resultant vmcore would fail with the error message: "crash: vmlinux and <filename> do not match!" (anderson@xxxxxxxxxx) - Added a defensive mechanism to handle corrupt Elf32_Phdr/Elf64_Phdr structures in an ELF vmcore. Without the patch, a hand-carved bogus p_offset field in a Elf32_Phdr/Elf64_Phdr structure could possibly cause a segmentation violation during inialization. With the fix, if an invalid Elf32_Phdr or Elf64_Phdr p_offset field is encountered, a warning message will be displayed, and the crash session will bail out gracefully, or continue on if possible. (anderson@xxxxxxxxxx) - Added a defensive mechanism to handle corrupt Elf32_Ehdr/Elf64_Ehdr structures in an ELF vmcore. Without the patch, a hand-carved bogus e_phnum field in a Elf32_Phdr/Elf64_Phdr structure could possibly cause a segmentation violation during inialization. With the fix, if an invalid Elf32_Ehdr or Elf64_Ehdr e_phnum field is encountered, a warning message will be displayed and the crash session will bail out gracefully. (anderson@xxxxxxxxxx) - More non-functional changes for future integration of gdb-7.0 and for addressing Fedora packaging guidelines. (anderson@xxxxxxxxxx) - Fix for the x86 "bt [-t|-T]" commands when the backtrace passes through three stacks, which can happen when an interrupt is taken while operating on a per-cpu soft IRQ stack, and the crash occurs while operating on the per-cpu hard IRQ stack. Without the patch, the "bt" command terminates after displaying backtrace on the hard IRQ stack; "bt -t" displays the stack contents of the hard IRQ stack but stops with the error message "bt: non-process stack address for this task: <task-address>"; "bt -T" displays the the same error message as "bt -t", but displays the stack contents of the process stack. With the fix, all three "bt" invocations will display the backtraces or kernel text addresses on all three stacks, correctly transitioning from the hard IRQ stack to the soft IRQ stack to the process stack. (anderson@xxxxxxxxxx) - When handcrafting the backtrace starting points for the "bt" command by using the -S options, and the starting stack address is not in the task's process stack, a message gets displayed that indicates "non-process stack address for this task". However, if the starting stack address is a legitimate non-process stack address, such as a hard or soft IRQ stack address, or an x86_64 exception stack address, the message is confusing, and has been removed. (anderson@xxxxxxxxxx) Download from: http://people.redhat.com/anderson -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility