Hi, I used crash-4.0-3.18 and found a problem. When I used kmem command to get information of virtual address e000000105090000, which is page ptr, segmentation fault occurred. ----------------------------------------------------------------------- KERNEL: /usr/lib/debug/lib/modules/2.6.18-8.el5/vmlinux DUMPFILE: /dev/mem CPUS: 4 DATE: Tue Feb 6 15:53:25 2007 UPTIME: 01:12:05 LOAD AVERAGE: 0.55, 0.56, 0.30 TASKS: 185 NODENAME: build.fujitsu.com RELEASE: 2.6.18-8.el5 VERSION: #1 SMP Fri Jan 26 14:16:09 EST 2007 MACHINE: ia64 (1600 Mhz) MEMORY: 31.2 GB PID: 16173 COMMAND: "crash" TASK: e0000040b2660000 [THREAD_INFO: e0000040b2661040] CPU: 1 STATE: TASK_RUNNING (ACTIVE) crash> kmem -p | grep e000000105090000 e000000105090000 180000000 ------- ----- 0 600200080000 crash> kmem -p e000000105090000 Segmentation fault (core dumped) ----------------------------------------------------------------------- This is a backtrace. #0 0x40000000000faa20 in nr_to_section (nr=15032385540) at memory.c:11897 #1 0x40000000000fb360 in valid_section_nr (nr=15032385540) at memory.c:11966 #2 0x40000000000ab000 in dump_mem_map_SPARSEMEM (mi=0x60000fffffd88370) at memory.c:3754 #3 0x40000000000b00c0 in dump_mem_map (mi=0x60000fffffd88370) at memory.c:4120 #4 0x40000000000a7b70 in cmd_kmem () at memory.c:3345 #5 0x400000000005ad20 in exec_command () at main.c:528 #6 0x400000000005a900 in main_loop () at main.c:487 It seems that there is a problem in dump_mem_map_SPARSEMEM. Here is a part of it. switch (mi->flags) { case ADDRESS_SPECIFIED: switch (mi->memtype) { case KVADDR: 1) if (is_page_ptr(mi->spec_addr, NULL)) pg_spec = TRUE; else { if (kvtop(NULL, mi->spec_addr, &phys, 0)) { 2) mi->spec_addr = phys; phys_spec = TRUE; } else return; } break; (snipped) if (mi->flags & ADDRESS_SPECIFIED) { 3) ulong pfn = mi->spec_addr >> PAGESHIFT(); section_nr = pfn_to_section_nr(pfn); } 4) if (!(section = valid_section_nr(section_nr))) { 1) e000000105090000 is a page pointer, so is_page_ptr returns TRUE. 2) mi->spec_addr is converted to physical addr here, but, this code does not be executed in this case. 3) mi->spec_addr is converted to pfn, but mi->spec_addr has virtual address in this case, so this conversion fails. 4) section_nr has invalid section number and it causes fault. I have yet to find how to fix it. Any idea? Takao Indoh -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility