Shark failing to get entire stack
Jonathan Watt <[email protected]> Sat, 13 Nov 2010 20:13:41 +0000
| Newsgroups | gmane.comp.mozilla.performance |
|---|---|
| Message-ID | <[email protected]> |
I'm using Shark to try to profile a bug in the official FF4 beta 7 Mac build
which is causing Firefox to sit at 100% CPU, while minimized, with no tabs of
interest (as far as I can tell) open.
0.0% 54.6% XUL nsCanvasRenderingContext2D::
DrawImage(nsIDOMElement*, float, float,
float, float, float, float, float,
float, unsigned char)
0.0% 54.6% XUL moz_cairo_fill_preserve
0.0% 54.6% XUL cairo_gstate_fill
0.0% 54.5% XUL cairo_surface_fill
0.0% 54.5% XUL cairo_quartz_surface_fill
0.0% 54.1% XUL cairo_quartz_draw_image
0.0% 54.1% CoreGraphics CGContextDrawImage
0.0% 54.1% libRIP.A.dylib ripc_DrawImage
0.0% 53.9% libRIP.A.dylib ripc_RenderImage
0.0% 53.9% libRIP.A.dylib ripl_BltImage
0.0% 53.4% libRIP.A.dylib ripl_Mark
0.0% 53.4% CoreGraphics argb32_image
10.5% 53.4% CoreGraphics argb32_image_mark
42.9% 42.9% CoreGraphics argb32_sample_ARGB32
My first problem is that in Top-Down Tree view Shark claims that
nsCanvasRenderingContext2D::DrawImage is the top of the call stack, which of
course is nonsense. Does anyone know why it's doing that, and how I can get it
to figure out/display the full call stack?
I'm also seeing a lot of "Unknown Library" entries without symbols. For example:
0.0% 0.3% XUL js::mjit::JaegerShot(JSContext*)
0.1% 0.1% Unknown Library 0x1145ee000 [621.5KB]
0.0% 0.0% XUL js::mjit::stubs::ValueToBoolean(js::VMFrame&)
0.0% 0.0% XUL js::mjit::stubs::UncachedCallHelper(
js::VMFrame&, unsigned int,
js::mjit::stubs::UncachedCallResult*)
0.0% 0.0% Unknown Library 0x1327b3eb8 [unknown]
0.0% 0.0% Unknown Library 0x1269e61c9 [unknown]
0.0% 0.0% Unknown Library 0x1264fa228 [unknown]
0.0% 0.0% Unknown Library 0x1264f4460 [unknown]
0.0% 0.0% Unknown Library 0x1224fe2e4 [unknown]
0.0% 0.0% Unknown Library 0x11d067c9e [unknown]
0.0% 0.0% Unknown Library 0x11477febc [unknown]
This is with KernelDebugKit mounted. Does anyone know how I can get Shark to
identify these libraries and find the symbols for these things too?
Jonathan