Closed Bug 28772 Opened 24 years ago Closed 24 years ago

www.linux.com causes excessive X server load

Categories

(Core :: XUL, defect, P3)

Sun
Solaris
defect

Tracking

()

VERIFIED DUPLICATE of bug 14961

People

(Reporter: tor, Assigned: pavlov)

References

()

Details

(Keywords: perf)

With a 2/21 evening CVS pull on solaris built optimized/non-debug, loading
www.linux.com takes about a minute and causes the X server to use a large
amount of cpu time:

	Wall time:		1:01
	mozilla-bin cpu time:	0:02
	Xsun cpu time:		0:55

Looking at an xscope run of mozilla, there appears to be about a half
minute of font loading (possibly bug 14961):

43.55: Client -->   56 bytes
         ............REQUEST: ListFontsWithInfo
                   max-names: 0001
                     pattern: "-*-helvetica-*-*-normal-*-*-*-100-100-*-*-*-*"
43.83:                                   316 bytes <-- X11 Server
                                         ..............REPLY: ListFontsWithInfo
                                                  min-bounds: 
                                                          max-bounds: 
                                                           min-char-or-byte2:
0020
                                                           max-char-or-byte2:
00ff
                                                                default-char:
0000
                                                              draw-direction:
LeftToRight
                                                                   min-byte1: 00
                                                                   max-byte1: 00
                                                             all-chars-exist:
True
                                                                 font-ascent: 16
                                                                font-descent: 4
                                                                replies-hint:
00000000
####### Unexpected reply
                                                                  properties:
(16)
                                                                        name:
"-linotype-helvetica-bold-o-normal-sans-17-120-100-100-p-0-iso8859-1"

There is also about twenty seconds of groups of commands like this:

26.62: Client -->  848 bytes
         ............REQUEST: PolyFillRectangle
                    drawable: DWB 03c00064
                          gc: GXC 03c001a5
                  rectangles: (1)
         ............REQUEST: PolyFillRectangle
                    drawable: DWB 03c00064
                          gc: GXC 03c001a6
                  rectangles: (1)
         ............REQUEST: PolyFillRectangle
                    drawable: DWB 03c00064
                          gc: GXC 03c001a7
                  rectangles: (1)
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c0024d
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c0024d
                  value-mask: <ALL>
####### Extended request opcode
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c0024d
                       src-x: 0
                       src-y: 0
                       dst-x: 0
                       dst-y: 724
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c0024d
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c0024e
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c0024e
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c0024e
                       src-x: 0
                       src-y: 0
                       dst-x: 32
                       dst-y: 724
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c0024e
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c0024f
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c0024f
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c0024f
                       src-x: 0
                       src-y: 0
                       dst-x: 64
                       dst-y: 724
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c0024f
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00250
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00250
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00250
                       src-x: 0
                       src-y: 0
                       dst-x: 96
                       dst-y: 724
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00250
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00251
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00251
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00251
                       src-x: 0
                       src-y: 0
                       dst-x: 128
                       dst-y: 724
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00251
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00252
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00252
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00252
                       src-x: 0
                       src-y: 0
                       dst-x: 0
                       dst-y: 756
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00252
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00253
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00253
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00253
                       src-x: 0
                       src-y: 0
                       dst-x: 32
                       dst-y: 756
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00253
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00254
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00254
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00254
                       src-x: 0
                       src-y: 0
                       dst-x: 64
                       dst-y: 756
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00254
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00255
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00255
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00255
                       src-x: 0
                       src-y: 0
                       dst-x: 96
                       dst-y: 756
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00255
         ............REQUEST: CreateGC
          graphic-context-id: GXC 03c00256
                    drawable: DWB 03c00064
                  value-mask: graphics-exposures
                  value-list:
                  graphics-exposures: False
         ............REQUEST: CopyGC
                      src-gc: GXC 03c001a8
                      dst-gc: GXC 03c00256
                  value-mask: <ALL>
         ............REQUEST: CopyArea
                src-drawable: DWB 03c001aa
                dst-drawable: DWB 03c00064
                          gc: GXC 03c00256
                       src-x: 0
                       src-y: 0
                       dst-x: 128
                       dst-y: 756
                       width: 0020
                      height: 0020
         ............REQUEST: FreeGC
                          gc: GXC 03c00256
         ............REQUEST: CopyArea
                src-drawable: DWB 03c00064
                dst-drawable: DWB 03c00045
                          gc: GXC 03c001a6
                       src-x: 0
                       src-y: 0
                       dst-x: 0
                       dst-y: 0
                       width: 0258
                      height: 02e4
Keywords: perf
Removed gimp freefonts from the end of my fontpath, so I'm now running with
Solaris' default fontpath.  This improved matters somewhat:

	Wall time:		0:36
	mozilla-bin cpu time:	0:01
	Xsun cpu time		0:28

The CreateGC/CopyGC/CopyArea/FreeGC sequences appear to be coming from the
toolbar:

   [1] XCopyGC(0xf0448, 0x382c98, 0x7fffff, 0x385e28, 0x0, 0xcc), at 0xfd3c206c
=>[2] nsImageGTK::Draw(this = 0x65c918, aContext = CLASS, aSurface = 0x34d238,
aX = 0, aY = 724, aWidth = 32, aHeight = 32), line 348 in "nsImageGTK.cpp"
  [3] nsRenderingContextGTK::DrawImage(this = 0x5ee738, aImage = 0x65c918, aX =
0, aY = 0, aWidth = 480, aHeight = 480), line 1593 in
"nsRenderingContextGTK.cpp"
  [4] nsCSSRendering::PaintBackground(aPresContext = 0x3ab918, aRenderingContext
= CLASS, aForFrame = 0x55728c, aDirtyRect = STRUCT, aBorderArea = STRUCT, aColor
= STRUCT, aSpacing = STRUCT, aDX = 0, aDY = 0), line 2229 in
"nsCSSRendering.cpp"
  [5] nsLeafFrame::Paint(this = 0x55728c, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 51 in "nsLeafFrame.cpp"
  [6] nsProgressMeterFrame::Paint(this = 0x55728c, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 168 in "nsProgressMeterFrame.cpp"
  [7] nsContainerFrame::PaintChild(this = 0x557204, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x55728c, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [8] nsBoxFrame::PaintChild(this = 0x557204, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x55728c, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [9] nsContainerFrame::PaintChildren(this = 0x557204, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [10] nsHTMLContainerFrame::Paint(this = 0x557204, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [11] nsBoxFrame::Paint(this = 0x557204, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [12] nsContainerFrame::PaintChild(this = 0x5571c4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557204, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [13] nsBoxFrame::PaintChild(this = 0x5571c4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557204, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [14] nsContainerFrame::PaintChildren(this = 0x5571c4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [15] nsHTMLContainerFrame::Paint(this = 0x5571c4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [16] nsBoxFrame::Paint(this = 0x5571c4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [17] nsContainerFrame::PaintChild(this = 0x557184, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x5571c4, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [18] nsBoxFrame::PaintChild(this = 0x557184, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x5571c4, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [19] nsContainerFrame::PaintChildren(this = 0x557184, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [20] nsHTMLContainerFrame::Paint(this = 0x557184, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [21] nsBoxFrame::Paint(this = 0x557184, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [22] nsContainerFrame::PaintChild(this = 0x5570c8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557184, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [23] nsBoxFrame::PaintChild(this = 0x5570c8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557184, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [24] nsContainerFrame::PaintChildren(this = 0x5570c8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [25] nsHTMLContainerFrame::Paint(this = 0x5570c8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [26] nsBoxFrame::Paint(this = 0x5570c8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [27] nsContainerFrame::PaintChild(this = 0x557088, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x5570c8, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [28] nsBoxFrame::PaintChild(this = 0x557088, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x5570c8, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [29] nsContainerFrame::PaintChildren(this = 0x557088, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [30] nsHTMLContainerFrame::Paint(this = 0x557088, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [31] nsBoxFrame::Paint(this = 0x557088, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [32] nsContainerFrame::PaintChild(this = 0x539820, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557088, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [33] nsBoxFrame::PaintChild(this = 0x539820, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x557088, aWhichLayer =
eFramePaintLayer_Underlay), line 2854 in "nsBoxFrame.cpp"
  [34] nsContainerFrame::PaintChildren(this = 0x539820, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [35] nsHTMLContainerFrame::Paint(this = 0x539820, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [36] nsBoxFrame::Paint(this = 0x539820, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 2814 in "nsBoxFrame.cpp"
  [37] nsContainerFrame::PaintChild(this = 0x5397e4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x539820, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [38] nsContainerFrame::PaintChildren(this = 0x5397e4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [39] nsHTMLContainerFrame::Paint(this = 0x5397e4, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 88 in "nsHTMLContainerFrame.cpp"
  [40] nsContainerFrame::PaintChild(this = 0x5397a8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x5397e4, aWhichLayer =
eFramePaintLayer_Underlay), line 225 in "nsContainerFrame.cpp"
  [41] nsContainerFrame::PaintChildren(this = 0x5397a8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 166 in "nsContainerFrame.cpp"
  [42] nsContainerFrame::Paint(this = 0x5397a8, aPresContext = 0x3ab918,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Underlay), line 133 in "nsContainerFrame.cpp"
  [43] PresShell::Paint(this = 0x354508, aView = 0x3abb20, aRenderingContext =
CLASS, aDirtyRect = STRUCT), line 2819 in "nsPresShell.cpp"
  [44] nsView::Paint(this = 0x3abb20, rc = CLASS, rect = STRUCT, aPaintFlags =
128U, aResult = 0), line 286 in "nsView.cpp"
  [45] nsViewManager2::RenderDisplayListElement(this = 0x29fc48, element =
0x574658, aRC = CLASS), line 706 in "nsViewManager2.cpp"
  [46] nsViewManager2::RenderViews(this = 0x29fc48, aRootView = 0x3abb20, aRC =
CLASS, aRect = STRUCT, aResult = 0), line 655 in "nsViewManager2.cpp"
  [47] nsViewManager2::Refresh(this = 0x29fc48, aView = 0x3abb20, aContext =
0x5ee738, rect = 0xffbeec88, aUpdateFlags = 1U), line 568 in
"nsViewManager2.cpp"
  [48] nsViewManager2::DispatchEvent(this = 0x29fc48, aEvent = 0xffbeeef0,
aStatus = 0xffbeed20), line 1126 in "nsViewManager2.cpp"
  [49] HandleEvent(aEvent = 0xffbeeef0), line 68 in "nsView.cpp"
  [50] nsWidget::DispatchEvent(this = 0x29fcf8, aEvent = 0xffbeeef0, aStatus =
nsEventStatus_eIgnore), line 1363 in "nsWidget.cpp"
  [51] nsWidget::DispatchWindowEvent(this = 0x29fcf8, event = 0xffbeeef0), line
1254 in "nsWidget.cpp"
  [52] nsWindow::DoPaint(this = 0x29fcf8, aX = 0, aY = 724, aWidth = 101,
aHeight = 17, aClipRegion = 0x309a70), line 563 in "nsWindow.cpp"
  [53] nsWindow::Update(this = 0x29fcf8), line 599 in "nsWindow.cpp"
  [54] nsWindow::UpdateIdle(data = (nil)), line 475 in "nsWindow.cpp"
  [55] g_main_dispatch(0xffbef160, 0xfd4d1890, 0x0, 0xfd4d17d0, 0xfd4cf680,
0xfd4cf680), at 0xfd4a291c
  [56] g_main_iterate(0x1, 0xffffffff, 0xffffffff, 0xfd4d1898, 0xfd4d1800,
0xfd4d188c), at 0xfd4a308c
  [57] g_main_run(0x2fefc8, 0xfd4d1890, 0xfd4cf680, 0xfd4d1920, 0xfd4d1890,
0xfd4cf680), at 0xfd4a3264
  [58] gtk_main(0xfd7f1440, 0xfd754da4, 0xfd73de1c, 0x2fefc8, 0x0, 0x0), at
0xfd62d1d4
  [59] nsAppShell::Run(this = 0xf5e10), line 304 in "nsAppShell.cpp"
  [60] nsAppShellService::Run(this = 0x68050), line 400 in
"nsAppShellService.cpp"
  [61] main1(argc = 1, argv = 0xffbef5f4, splashScreen = (nil)), line 651 in
"nsAppRunner.cpp"
  [62] main(argc = 1, argv = 0xffbef5f4), line 770 in "nsAppRunner.cpp"
Hmm... that last stack trace trapped the ProgressMeter - maybe that's another
culprit.  This is the sort of trace I was seeing before:

  [1] XCopyGC(0xf0508, 0x565388, 0x7fffff, 0x713810, 0x0, 0xff), at 0xfd3c206c
=>[2] nsImageGTK::Draw(this = 0x5faf88, aContext = CLASS, aSurface = 0x2c1588,
aX = 552, aY = 25, aWidth = 32, aHeight = 32), line 348 in "nsImageGTK.cpp"
  [3] nsRenderingContextGTK::DrawImage(this = 0x704948, aImage = 0x5faf88, aX =
202, aY = 0, aWidth = 480, aHeight = 480), line 1593 in
"nsRenderingContextGTK.cpp"
  [4] nsRenderingContextGTK::DrawImage(this = 0x704948, aImage = 0x5faf88, aRect
= STRUCT), line 1553 in "nsRenderingContextGTK.cpp"
  [5] nsTitledButtonFrame::PaintImage(this = 0x4f5e9c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Content), line 930 in "nsTitledButtonFrame.cpp"
  [6] nsTitledButtonFrame::Paint(this = 0x4f5e9c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Content), line 501 in "nsTitledButtonFrame.cpp"
  [7] nsContainerFrame::PaintChild(this = 0x4f5e5c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x4f5e9c, aWhichLayer =
eFramePaintLayer_Content), line 225 in "nsContainerFrame.cpp"
  [8] nsBoxFrame::PaintChild(this = 0x4f5e5c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aFrame = 0x4f5e9c, aWhichLayer =
eFramePaintLayer_Content), line 2854 in "nsBoxFrame.cpp"
  [9] nsContainerFrame::PaintChildren(this = 0x4f5e5c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Content), line 166 in "nsContainerFrame.cpp"
  [10] nsHTMLContainerFrame::Paint(this = 0x4f5e5c, aPresContext = 0x2d76a0,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Content), line 88 in "nsHTMLContainerFrame.cpp"
viewer shows the same performance characteristics:

	wall time:		0:38
	viewer cpu time:	0:01
	Xsun cpu time:		0:26

xscope output shows font querying dominating.  Marking duplicate of 14961.


*** This bug has been marked as a duplicate of 14961 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Sorry for the spam, changing QA contact.
QA Contact: paulmac → jrgm
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.