----- "James Washer" <washer@xxxxxxxx> wrote: > Trying to investigate a SLES10SP1 crash dump > > Using crash 4.0-7.6 > > Using -d9, I get the following just before crash gives up. > > Any ideas? > > thanks > - jim > > > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "powerpc64-unknown-linux-gnu"... > GETBUF(248 -> 0) > GETBUF(1500 -> 1) > > FREEBUF(1) > > FREEBUF(0) > <readmem: c00000000039db08, KVADDR, "kernel_config_data", 32768,(ROE) 11721c00> > crash: read error: kernel virtual address: c00000000039db08 type: "kernel_config_data" > WARNING: cannot read kernel_config_data > GETBUF(248 -> 0) > FREEBUF(0) > GETBUF(16 -> 0) > <readmem: c0000000006470b8, KVADDR, "cpu_possible_map", 16, (ROE), 1071e968> > crash: read error: kernel virtual address: c0000000006470b8 type: "cpu_possible_map" > WARNING: cannot read cpu_possible_map > <readmem: c000000000653130, KVADDR, "cpu_present_map", 16, (ROE), 1071e968> > crash: read error: kernel virtual address: c000000000653130 type: "cpu_present_map" > WARNING: cannot read cpu_present_map > <readmem: c0000000006470c8, KVADDR, "cpu_online_map", 16, (ROE), 1071e968> > crash: read error: kernel virtual address: c0000000006470c8 type: "cpu_online_map" > WARNING: cannot read cpu_online_map > FREEBUF(0) > <readmem: c0000000006d9f00, KVADDR, "xtime", 16, (FOE), 106f4218> > crash: read error: kernel virtual address: c0000000006d9f00 type: "xtime" > op720lpar5:/washer # Hi Jim, Without the prior debug output I can't tell whether the the dumpfile an ELF kdump or a compressed kdump. But in either case, every read from the dumpfile is failing. When readmem() is called, it translates those virtual address values into their physical address, and the physical address is passed onto either read_kdump() or read_diskdump(). A READ_ERROR is being returned from whichever of those two functions were called. (1) read_kdump() passes the request to read_netdump(), which is where the READ_ERROR is generated. (2) read_diskdump() -- used for compressed kdump vmcores -- calls diskdump.c's cache_page(), which is where the READ_ERROR is generated. In the case of read_kdump()'s call to read_netdump(), a READ_ERROR is generated for two possible reasons: 1. if the physical address does not fit into any of the PT_LOAD segments declared in the ELF header. 2. if the physical address does fit into a PT_LOAD segment, but the actual read() system call fails. In the case of read_diskdump()'s call to cache_page(), a READ_ERROR is generated for four possible reasons: 1. if the read() system call of the page descriptor fails. 2. if the page descriptor's advertised size is greater than the header's block_size. 3. if the read() system call of the compressed page fails. 4. if the uncompress() of the page data fails. (but there's an error message associated with that, so that's not the problem in your case) So the first thing to determine is where the READ_ERROR is generated. Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility