From: Rick K. <rk...@nc...> - 2006-01-19 14:43:43
|
Tirath, Thanks for the good synopsis of what's going on and your experiments and results - this is a good start to work with. Backing up a bit, just by way of explanation, psprocess' job is conceptually pretty simple: it has to: 1. Parse an XML document and extract the samples within (it uses Tcl/tDOM) 2. Map each sample to a source code location (using libbfd or addr2line) 3. Do some management/bookkeeping/summarization and display results I'm thinking that one of steps 2 or 3 are where things are going astray here. The unusual thing is that, according to your latest experiments, the issues arise when the shell's file management is in the picture, either through redirection or a pipe. That seems strange to me, but is something I can try out on this end. To rule out (or implicate) step 2, I'll work with you off-list to verify the PC->source mappings that are generated. To do this, I'll modify the portion of psprocess where this is going on to provide debugging output for the individual PC values and where they are mapped. This will take a few days (it'll be based on the 0.6.1 version of PerfSuite which your psinv output shows you are using). I'll supply you a patch which should simply be a drop-in file replacement (since psprocess is a script, not a compiled object/binary). There is currently no such tracing supported in psprocess but I think it will be a useful thing to incorporate in general to track things like this. If the mappings are all identical (as they should be, but that's what we're checking for), then it'll point to data management within psprocess as the problem and we can go from there. In any case, we'll summarize the results back to this mailing list and with luck will have pinpointed it for the upcoming 0.6.2a3 release. Rick p.s. the BFD n/a output only means that the version of BFD on your system does not support a way of determining its version number. See: http://sources.redhat.com/ml/binutils/2004-02/msg00196.html |