Worth, Kevin wrote:
 Hello kexec and crash mailing lists,
 
  
 
 Sorry to spam whoever’s code this ISN’T an issue with, but I really am 
 unsure of whether is a kdump or a crash issue. I am running an Ubuntu 
 7.04 with a 2.6.20 kernel (includes Ubuntus patches- source at 
 
http://packages.ubuntu.com/feisty/linux-source-2.6.20 ) and a modified 
 VMSPLIT/PAGE_OFFSET value (see bottom for details) on an i386 machine 
 with 4GB of memory. At first I thought this could be an issue with 
 makedumpfile stripping out things it shouldn’t, but I’ve found that 
 setting up my initrd script so that it simply performs “cp /proc/vmcore 
 /var/crash/vmcore” results in the same issue.
 
  
 
 I’ve tried this with both crash 4.0-6.3 and 4.0-7.2 and get the same 
 result. Unfortunately I’m locked at kernel 2.6.20 for other reasons, or 
 else I would try that.
 
  
 
 If anyone can offer suggestions of what to try, please let me know. If 
 this is something that has already been resolved elsewhere, sorry to 
 waste time, and if someone can point me to what resolved it, perhaps I 
 can look at backporting the fix myself. Thanks for your time.
 
  
 
 crash-4.0-7.2$ ./crash ~/vmcore ~/targetfiles/vmlinux-2.6.20-17.39-custom2
 
  
 
 crash 4.0-7.2
 
 <snip>Copyright notices…</snip>
 
 GNU gdb 6.1
 
 <snip>Copyright notices…</snip>
 
 This GDB was configured as "i686-pc-linux-gnu"...
 
  
 
 please wait... (gathering module symbol data)
 
 WARNING: cannot access vmalloc'd module memory
 
  
 
       KERNEL: /home/worthk/targetfiles/vmlinux-2.6.20-17.39-custom2
 
     DUMPFILE: /home/worthk/vmcore
 
         CPUS: 2
 
         DATE: Wed Oct  1 12:30:50 2008
 
       UPTIME: 00:35:11
 
 LOAD AVERAGE: 0.07, 0.09, 0.08
 
        TASKS: 94
 
     NODENAME: test-module
 
      RELEASE: 2.6.20-17.39-custom2
 
      VERSION: #3 SMP Wed Sep 24 10:11:03 PDT 2008
 
      MACHINE: i686  (2200 Mhz)
 
       MEMORY: 5 GB
 
 <6>SysRq : Trigger a crashdump"
 
          PID: 4304
 
      COMMAND: "bash"
 
         TASK: 5d7e9030  [THREAD_INFO: f4b70000]
 
          CPU: 0
 
        STATE: TASK_RUNNING (SYSRQ)
 
  
 
 crash> mod -s test
 
 mod: cannot access vmalloc'd module memory
 
  
 
  
 
 My kernel config is a bit outside the norm, in that the VMSPLIT value 
 has been modified to give 3GB of memory the kernelspace and 1GB of 
 memory to userspace. Below is a diff between the default Ubuntu 
 “generic” config and mine: 
To be honest with you I'm surprised it comes up at all...
If you do a "crash -d7 vmlinux vmcore", amongst the reams of
debug data you will see the readmem() that failed just prior
to the "WARNING: cannot access vmalloc'd module memory".  And
that will probably be the very first access of a vmalloc'd
virtual memory address.  Probably it's best to enter
"crash -d7 vmlinux vmcore > /tmp/junk", and then enter "q"
to silently kill the session.
For that matter, once you come up, I'm guessing that user
virtual address translation will fail as well.  Come up
as you did above, do a "vm" command on the "bash" task,
and then a "vtop" on a user virtual address.
Like this example:
crash> vm
PID: 25479  TASK: f6f2aaa0  CPU: 3   COMMAND: "bash"
    MM       PGD      RSS    TOTAL_VM
f6e3d740  f745c980  1560k    4608k
   VMA       START      END    FLAGS  FILE
f6c115f4    110000    112000     75  /lib/
f7212f94    112000    113000 100071  /lib/
f78cd0cc    113000    114000 100073  /lib/
f6954d84    584000    585000 8000075
f7241bcc    5b1000    5b4000     75  /lib/libtermcap.so.2.0.8.#prelink#.YYRDOu
f7212a14    5b4000    5b5000 100073  /lib/libtermcap.so.2.0.8.#prelink#.YYRDOu
f6e1a64c    61a000    623000     75  /lib/libnss_files-2.5.so
f73f738c    623000    624000 100071  /lib/libnss_files-2.5.so
f6eb79bc    624000    625000 100073  /lib/libnss_files-2.5.so
f7212f3c    719000    733000    875  /lib/
f721238c    733000    734000 100871  /lib/
f72e2b1c    734000    735000 100873  /lib/
f73f7964    ab5000    bf2000     75  /lib/
f6c11ee4    bf2000    bf4000 100071  /lib/
f73f7ee4    bf4000    bf5000 100073  /lib/
f73f7f3c    bf5000    bf8000 100073
f721217c   8048000   80f5000   1875  /bin/
f6cab90c   80f5000   80fa000 101873  /bin/
f724143c   80fa000   80ff000 100073
f68cf7ac   8574000   85aa000 100073
f6d354ec  b7d81000  b7f81000     71  /usr/lib/locale/locale-archive
f7594d84  b7f81000  b7f84000 100073
f6f24124  b7f84000  b7f85000 100073
f72e2d2c  b7f85000  b7f8c000     d1  /usr/lib/gconv/gconv-modules.cache
f72418b4  bfa8a000  bfa9f000 100173
crash> vtop 584000
VIRTUAL   PHYSICAL
584000    37cd6000
PAGE DIRECTORY: f745c980
   PGD: f745c980 => 369e0001
   PMD: 369e0010 => 11b7c1067
   PTE: 11b7c1c20 => 37cd6025
  PAGE: 37cd6000
   PTE     PHYSICAL  FLAGS
37cd6025  37cd6000  (PRESENT|USER|ACCESSED)
   VMA       START      END    FLAGS  FILE
f6954d84    584000    585000 8000075
   PAGE     PHYSICAL   MAPPING    INDEX CNT FLAGS
c16f9ac0   37cd6000         0         0 48 80000004
crash>
Does the vtop command fall apart somewhere?
BTW, if you haven't done it already, you should also
take the dumpfile out of the picture, and just run crash
on the live system.  If by some stretch of the imagination
*that* works, then you might have to point the finger back
at kdump operation.
In any case, at least you've got a situation where crash
can at least deal with unity-mapped addresses.  With those
addresses it doesn't have to do any kind of page-table
walk-throughs.
I'm guessing that there's something in x86.c's x86_init() function
in the PRE_GDB section that's not correct for your setup.
There is support for Red Hat's older "hugemem" 4G/4G split
kernels, where both the kernel and user space have 4G
(over-lapping) virtual address regions, and so there may be
some confusion there with yours.
For starters, bring up the session as you did above,
and enter "help -v" and "help -m".  They're debug
options that dump a couple internal crash data structures
which may shed some light.
Dave