crash can not exit from readmem() recursive until it is killed because of
OOM or Segmentation fault on PPC64 cpu.

readmem-->kvtop-->ppc64_vtop_level4-->readme-->kvtop....


root@localhost:~# uname -a
Linux localhost 3.4.20 #2 SMP PREEMPT Thu Jan 24 14:43:59 CST 2013 ppc64 GNU/Linux
root@localhost:~#

root@localhost:~# crash

crash 6.1.0
Copyright (C) 2002-2012  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 GN! U 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 "powerpc64-wrs-linux"...

Segmentation fault (core dumped)
root@localhost:~# gdb /usr/bin/crash core
GNU gdb (Linux Sourcery CodeBench 4.6a-98) 7.4.50.20120716-cvs
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free softwar! e: 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 "powerpc64-wrs-linux-gnu".
For bug reporting instructions, please see:
<support@codesource.com>...
Reading symbols from /usr/bin/crash...Reading symbols from /usr/bin/.debug/crash...done.
done.
[New LWP 1166]

warning: Could not load shared library symbols for linux-vdso64.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `crash '.
Program terminated with signal 11, Segmentation fault.
#0  readmem (addr=13835058055299842048, memtype=1, buffer=0x10cbc460,
    size=4096, type=0x106eafe8 "level4 page", error_handle=1) at memory.c:1959
1959    {
(gdb) bt
#0  readmem (addr=13835058055299842048, memtype=1, buffer=0x10cbc460,
    size=4096, type=0x106eafe8 "level4 page", error_handle=1) at memory.c:1959
#1!   0x000000001011a2e4 in ppc64_vtop_level4 (vaddr=13835058055299842048,
    level4=0xc0000000010dc000, paddr=0xfffe73ed1d8, verbose=<optimized out>)
    at ppc64.c:561
#2  0x0000000010097264 in kvtop (tc=<optimized out>,
    kvaddr=<error reading variable: value has been optimized out>,
    paddr=<optimized out>,
    verbose=<error reading variable: value has been optimized out>)
    at memory.c:2765
#3  0x000000001009895c in readmem (addr=13835058055299842048,
    memtype=<optimized out>, buffer=<optimized out>, size=<optimized out>,
    type=0x106eafe8 "level4 page", error_handle=1) at memory.c:2032
#4  0x000000001011a2e4 in ppc64_vtop_level4 (vaddr=13835058055299842048,
    level4=0xc0000000010dc000, paddr=0xfffe73ed418, verbose=&! lt;optimized out>)
    at ppc64.c:561
#5  ! 0x0000000010097264 in kvtop (tc=<optimized out>,
    kvaddr=<error reading variable: value has been optimized out>,
    paddr=<optimized out>,
    verbose=<error reading variable: value has been optimized out>)
    at memory.c:2765
#6  0x000000001009895c in readmem (addr=13835058055299842048,
    memtype=<optimized out>, buffer=<optimized out>, size=<optimized out>,
---Type <return> to continue, or q <return> to quit---quit
type=Quit
(gdb) quit