|
|
Created:
7 years, 6 months ago by Dai Mikurube (NOT FULLTIME) Modified:
7 years, 4 months ago CC:
chromium-reviews, Nico, ojan, pdr. Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionAdd 'profiling_full_stack_frames' build option not to optimize out stack frames when profiling.
It enables the heap-profiler in Release builds.
BUG=252560
R=phajdan.jr@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=208127
Patch Set 1 #Patch Set 2 : rebased #Messages
Total messages: 18 (0 generated)
Hi Paweł, Could you take a look at this build option? I thought you're a good reviewer for this since you were working around profilers and stack traces. Thanks.
Ahh, sorry, it's not working.
Sorry again. I had a wrong command line locally. :( I think it's working.
LGTM
Thanks!
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmikurube@chromium.org/17115015/1
Step "update" is always a major failure. Look at the try server FAQ for more details. http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura...
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmikurube@chromium.org/17115015/18001
Retried try job too often on linux_aura for step(s) content_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura...
Message was sent while issue was closed.
Committed patchset #2 manually as r208127 (presubmit successful).
Message was sent while issue was closed.
I'm unable to get anything other than adresses when profiling content_shell with "perf" on linux. With either Release or Debug. This seems to be a recent regression and I wonder if it could be related to this change? GYP_DEFINES="profiling=1" gclient runhooks ninja -C ./out/Release content_shell perf record -g ./out/Release/content_shell -- "javascript:while(true) {}" --no-sandbox --disable-setuid-sandbox --dump-render-tree --single-process perf report shows me all the time spent under a non-symboled address. Similarly with Debug (which I would expect to work regardless of profiling=1). Maybe you have theories?
Message was sent while issue was closed.
On 2013/07/30 19:32:52, eseidel wrote: > I'm unable to get anything other than adresses when profiling content_shell with > "perf" on linux. > > With either Release or Debug. > > This seems to be a recent regression and I wonder if it could be related to this > change? > > GYP_DEFINES="profiling=1" gclient runhooks > ninja -C ./out/Release content_shell > perf record -g ./out/Release/content_shell -- "javascript:while(true) {}" > --no-sandbox --disable-setuid-sandbox --dump-render-tree --single-process > > perf report shows me all the time spent under a non-symboled address. > > Similarly with Debug (which I would expect to work regardless of profiling=1). > > Maybe you have theories? Are these the precise repro steps, or do you happen by chance to build component mode? Maybe perf cannot symbolize in component mode with -rdynamic?
Message was sent while issue was closed.
Those are precise repro steps. Or rather, I've repro'd using those steps. I normally call gyp_chromium directly, and I normally export the variables, but I have done exactly those steps and repro'd. ojan is also unable to get stacks on his machine using perf. Last time I used perf (a few weeks ago) I was able to get stacks just fine for profiling=1 builds. It's possible this change had nothing to do with this regression. Just figured commenting here might reach the right people. I would encourage anyone to try: perf record -g ./out/Debug/content_shell -- "javascript:while(true) {}" --no-sandbox --disable-setuid-sandbox --dump-render-tree --single-process ^C perf report Note: That's on a Debug build, and see if they can get content_shell symbols. If they can, then something else may be wrong with their setup. But so far at least ojan can confirm my "perf doesn't work with Release or even Debug builds" findings. :) Happy to file a bug if that would be helpful.
Message was sent while issue was closed.
> Note: That's on a Debug build, and see if they can get content_shell symbols. > If they can, then something else may be wrong with their setup. Sorry I meant *my* setup in that sentence. :( If perf works for others, then it's just my problem obviously. :)
Message was sent while issue was closed.
BTW, I've repro'd with both clang and gcc. I've also tried getting stacks with base::debug::StackTrace and failed the other day, but I may have only tried that with Release. Now that I think about it, that's probably related. Likely something changed with the CC_FLAGS on linux recently?
Message was sent while issue was closed.
I've filed https://code.google.com/p/chromium/issues/detail?id=265996 and we can move the discussion there. Sorry for hijacking your review.
Message was sent while issue was closed.
I hope it's not related to the issue. ;)
Message was sent while issue was closed.
In the end I found out this was a multi-year old bug. Although I think Julien and I may be somewhat close to at least understanding what's going wrong. |