Bob Montgomery wrote: > On Tue, 2007-03-20 at 11:18 +0900, Ken'ichi Ohmichi wrote: > > Hi Bob, > > > > Thank you for the great report. > You are welcome. > > Before continuing the discussion of issues with proposed changes to ELF > dumpfile generation, I'd like to recap where we are and suggest a couple > of actions. > > 1) Makedumpfile patch: Ken'ichi Ohmichi's email of Wed, 7 Mar 2007 > 10:43:38 +0900 contained the patch "point_same_zero_page.patch". That > patch contains the nice solution to remove redundant zero page images > from the diskdump dump file by pointing the page descriptors of zero > pages to a common zero image. I suggest that this patch should be > applied to makedumpfile as soon as possible, without waiting on a > possible solution to the ELF situation. As described in my report, ELF > and diskdump dump files have not shown identical behavior in the past. > This patch makes diskdump dump files more accurate, and leaves ELF dump > files at the same level of accuracy that they have always had. > > 2) Crash patch: Ken'ichi Ohmichi's crash patch in the email of Tue, 20 > Mar 2007 11:18:02 +0900 should be submitted to crash as soon as > possible. The error message is a bit wordy, and could be reduced to > prevent wrap on 80 column windows, as suggested below, but that is a > minor issue, since the output is already a bit unwieldy: > > Current patch prints on 80-column screen (three levels of crash are now > reporting the problem):
When Ken'ichi agrees to and commits the makedumpfile change, I'll do the same for crash. BTW, you won't get all the gdb-related clutter if you use the crash "rd" command to read memory instead of the gdb "x" command. Anyway, as the patch is currently written, there will be two error messages, and a "rd" command would look like this: crash> rd 0xffff810000005ff0 rd: diskdump: paddr(5ff0) excluded from dump rd: seek error: kernel virtual address: ffff810000005ff0 type: "64-bit KVADDR" crash> I guess that's OK. Although I actually kind of liked your original suggestion for an additional return value to readmem(). That way we could at least consolidate the 2 error messages into just one. > > crash> x/xg 0xffff810000005ff0 > 0xffff810000005ff0: gdb: diskdump: cannot access paddr(5ff0) due to the > excl > uded page > gdb: seek error: kernel virtual address: ffff810000005ff0 type: > "gdb_readmem_ca > llback" > Cannot access memory at address 0xffff810000005ff0 > crash> > > With a shortened message in diskdump.c: > > crash> x/xg 0xffff810000005ff0 > 0xffff810000005ff0: gdb: diskdump: paddr(5ff0) excluded from dump > gdb: seek error: kernel virtual address: ffff810000005ff0 type: > "gdb_readmem_ca > llback" > Cannot access memory at address 0xffff810000005ff0 > crash> > > With these two patches, crash reports the contents of diskdump dump > files produced by makedumpfile correctly. Zero content pages that have > not been excluded for other reasons remain accessible, and pages that > have really been excluded become inaccessible, instead of showing 0x0 > contents. Crash should continue to read old dump files as before, > because of the change in version number in the dumpfiles. > I am a little bit worried that this may cause an unnecessary abort -- based upon your experience with my suggestion of returning an error instead of a zero-filled buffer from the current compressed diskdump format -- so I may be paranoid. Anyway, I'll probably put in an "out" so that the user has the choice of getting a zero-filled buffer like it does now. Dave > > Bob Montgomery
-- Crash-utility mailing list [email protected] https://www.redhat.com/mailman/listinfo/crash-utility
