[Crash-utility] Another parsing bug -- likely confusion caused by open parenthesis

Bruce Korb bruce.korb at gmail.com
Sat Feb 18 01:35:26 UTC 2012


crash> p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page | sed 's/^\$[0-9]* =/0xFFFF8804125CBA60 =/' >> trace-data.txt\n
gdb: gdb request failed: p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page | sed 's/^\$[0-9]* =/0xFFFF8804125CBA60 =/'
crash> p/x *(*(struct trace_page*)0xFFFF8804125CBA60).page
$1467 = {
   flags = 0x200000000000000,
   _count = {
     counter = 0x1
   },
   {
     _mapcount = {
       counter = 0xffffffff
     },
     {
       inuse = 0xffff,
       objects = 0xffff
     }
   },
   {
     {
       private = 0x0,
       mapping = 0x0
     },
     ptl = {
       raw_lock = {
         slock = 0x0
       }
     },
     slab = 0x0,
     first_page = 0x0
   },
   {
     index = 0x0,
     freelist = 0x0,
     reserve = 0x0,
     frag_count = {
       counter = 0x0
     }
   },
   lru = {
     next = 0xdead000000100100,
     prev = 0xdead000000200200
   }
}
==============
P.S. speaking of dead horses:  were the fprintf(fp...) placed *before*
the command pipe redirection (like when the command had just been read
in and not yet scanned), *THEN* the output would go to the right place.
Here, the command scanning just goes off into the weeds and misses the
pipe operator entirely.




More information about the Crash-utility mailing list