From: DuEugene <du...@ho...> - 2011-07-04 15:16:21
|
Hi all, I am using oprofile on an SMP system,with a setting of "--separate=all".When sampling finished, I use "opreport -l -m cpu" to analyse the data ,and I got a error message "opreport error: sanitize_profile_sample_files(): sample \ file parsed twice".When I checked the source code of oprofile, I found that the method named "parsed_filename::profile_spec_equal(parsed_filename const & parsed)" in parse_filename.cpp seemed to be a little strange. bool parsed_filename::profile_spec_equal(parsed_filename const & parsed) { return event == parsed.event && count == parsed.count && unitmask == parsed.unitmask && tgid == parsed.tgid && tid == parsed.tid && cpu == parsed.tid; } I wonder if "cpu == parsed.tid" here should be "cpu == parsed.cpu"? oprofile version is 0.9.5, the source code of version 0.9.7 is also the seem. |
From: Maynard J. <may...@us...> - 2011-07-05 13:19:19
|
On 07/04/2011 10:16 AM, DuEugene wrote: > Hi all, > I am using oprofile on an SMP system,with a setting of "--separate=all".When > sampling finished, I use "opreport -l -m cpu" to analyse the data ,and I got a > error message "opreport error: sanitize_profile_sample_files(): sample \ file > parsed twice".When I checked the source code of oprofile, I found that the > method named "parsed_filename::profile_spec_equal(parsed_filename const & > parsed)" in parse_filename.cpp seemed to be a little strange. > bool parsed_filename::profile_spec_equal(parsed_filename const & parsed) > { > return event == parsed.event && > count == parsed.count && > unitmask == parsed.unitmask && > tgid == parsed.tgid && > tid == parsed.tid && > cpu == parsed.tid; > } > > I wonder if "cpu == parsed.tid" here should be "cpu == parsed.cpu"? Seems likely. Can you patch the source and run the patched opreport to see if that resolves it? Thanks. -Maynard > oprofile version is 0.9.5, the source code of version 0.9.7 is also the seem. > > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > > > > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list |
From: DuEugene <du...@ho...> - 2011-07-17 15:23:39
|
> Date: Tue, 5 Jul 2011 08:18:48 -0500 > From: may...@us... > To: du...@ho... > CC: opr...@li... > Subject: Re: opreport error with "-m cpu" > > On 07/04/2011 10:16 AM, DuEugene wrote: > > Hi all, > > I am using oprofile on an SMP system,with a setting of "--separate=all".When > > sampling finished, I use "opreport -l -m cpu" to analyse the data ,and I got a > > error message "opreport error: sanitize_profile_sample_files(): sample \ file > > parsed twice".When I checked the source code of oprofile, I found that the > > method named "parsed_filename::profile_spec_equal(parsed_filename const & > > parsed)" in parse_filename.cpp seemed to be a little strange. > > bool parsed_filename::profile_spec_equal(parsed_filename const & parsed) > > { > > return event == parsed.event && > > count == parsed.count && > > unitmask == parsed.unitmask && > > tgid == parsed.tgid && > > tid == parsed.tid && > > cpu == parsed.tid; > > } > > > > I wonder if "cpu == parsed.tid" here should be "cpu == parsed.cpu"? > Seems likely. Can you patch the source and run the patched opreport to see if > that resolves it? > > Thanks. > -Maynard Yes,it works. diff -Naur oprofile-0.9.7-rc2/libpp/parse_filename.cpp oprofile-0.9.7-rc2_new/libpp/parse_filename.cpp --- oprofile-0.9.7-rc2/libpp/parse_filename.cpp 2011-07-05 10:25:04.000000000 +0800 +++ oprofile-0.9.7-rc2_new/libpp/parse_filename.cpp 2011-07-15 16:52:48.000000000 +0800 @@ -237,7 +237,7 @@ unitmask == parsed.unitmask && tgid == parsed.tgid && tid == parsed.tid && - cpu == parsed.tid; + cpu == parsed.cpu; } ostream & operator<<(ostream & out, parsed_filename const & data) > > > oprofile version is 0.9.5, the source code of version 0.9.7 is also the seem. > > > > > > > > > > ------------------------------------------------------------------------------ > > All of the data generated in your IT infrastructure is seriously valuable. > > Why? It contains a definitive record of application performance, security > > threats, fraudulent activity, and more. Splunk takes this data and makes > > sense of it. IT sense. And common sense. > > http://p.sf.net/sfu/splunk-d2d-c2 > > > > > > > > _______________________________________________ > > oprofile-list mailing list > > opr...@li... > > https://lists.sourceforge.net/lists/listinfo/oprofile-list > |
From: Maynard J. <may...@us...> - 2011-07-19 13:33:17
|
DuEugene wrote: > > > >> Date: Tue, 5 Jul 2011 08:18:48 -0500 >> From: may...@us... >> To: du...@ho... >> CC: opr...@li... >> Subject: Re: opreport error with "-m cpu" >> >> On 07/04/2011 10:16 AM, DuEugene wrote: >>> Hi all, >>> I am using oprofile on an SMP system,with a setting of "--separate=all".When >>> sampling finished, I use "opreport -l -m cpu" to analyse the data ,and I got a >>> error message "opreport error: sanitize_profile_sample_files(): sample \ file >>> parsed twice".When I checked the source code of oprofile, I found that the >>> method named "parsed_filename::profile_spec_equal(parsed_filename const & >>> parsed)" in parse_filename.cpp seemed to be a little strange. >>> bool parsed_filename::profile_spec_equal(parsed_filename const & parsed) >>> { >>> return event == parsed.event && >>> count == parsed.count && >>> unitmask == parsed.unitmask && >>> tgid == parsed.tgid && >>> tid == parsed.tid && >>> cpu == parsed.tid; >>> } >>> >>> I wonder if "cpu == parsed.tid" here should be "cpu == parsed.cpu"? >> Seems likely. Can you patch the source and run the patched opreport to see if >> that resolves it? >> >> Thanks. >> -Maynard > > Yes,it works. DuEugene , Thanks for verifying. *Suravee*, when you commit Will's patch, can you also commit this fix and include it in RC3, please? It's a pretty obvious bug and the fix wouldn't seem likely to have negative interactions. Thanks. -Maynard > > diff -Naur oprofile-0.9.7-rc2/libpp/parse_filename.cpp oprofile-0.9.7-rc2_new/libpp/parse_filename.cpp > --- oprofile-0.9.7-rc2/libpp/parse_filename.cpp 2011-07-05 10:25:04.000000000 +0800 > +++ oprofile-0.9.7-rc2_new/libpp/parse_filename.cpp 2011-07-15 16:52:48.000000000 +0800 > @@ -237,7 +237,7 @@ > unitmask == parsed.unitmask && > tgid == parsed.tgid && > tid == parsed.tid && > - cpu == parsed.tid; > + cpu == parsed.cpu; > } > > ostream & operator<<(ostream & out, parsed_filename const & data) > > >> >>> oprofile version is 0.9.5, the source code of version 0.9.7 is also the seem. >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> All of the data generated in your IT infrastructure is seriously valuable. >>> Why? It contains a definitive record of application performance, security >>> threats, fraudulent activity, and more. Splunk takes this data and makes >>> sense of it. IT sense. And common sense. >>> http://p.sf.net/sfu/splunk-d2d-c2 >>> >>> >>> >>> _______________________________________________ >>> oprofile-list mailing list >>> opr...@li... >>> https://lists.sourceforge.net/lists/listinfo/oprofile-list >> > |