Closed Bug 101356 Opened 23 years ago Closed 2 years ago

Printing example URL on printer devices with many fonts is very slow

Categories

(Core :: Printing: Output, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: roland.mainz, Unassigned)

References

()

Details

An attempt to print the example URL
(http://www.public.iastate.edu/~rllew/chrn1998.html) took ~25mins with the
Xprint module (but this isn't an Xprint module specific issue - Xprint just has
tons of fonts which makes it more worse than for the PS module).

Reducing the number of available fonts significantly reduces the time to print
the pages.

Quick investigation shows that a huge pile of that time is spend in searching
fonts:
-- snip --
 ff12ee40 __1cFnsStrKStrCompare6Frk02ii_i_ (d503e0, 129dfb4, ffffffff, 1, 5, 0)
+ 28
 ff135054 __1cInsStringUEqualsWithConversion6kMrk0ii_i_ (d503dc, 129dfb0, 1,
ffffffff, 0, 0) + 10
 ff135014 __1cInsStringQEqualsIgnoreCase6kMrk0_i_ (d503dc, 129dfb0, 190, 0, 0,
0) + 10
 ff36361c __1cGnsFontGEquals6kMrk0_i_ (d503dc, 129dfb0, 921e, f, a2f6a, a) + 6c
 ff362524
__1cLnsFontCacheNGetMetricsFor6MrknGnsFont_pnHnsIAtom_rpnOnsIFontMetrics__I_
(b27018, d503dc, 498490, ffbe7284, 1, fb90a700) + 48
 ff361a00
__1cRDeviceContextImplNGetMetricsFor6MrknGnsFont_rpnOnsIFontMetrics__I_ (940a08,
d503dc, ffbe7284, ff361994, 24494, bf097c) + 6c
 fb8e35ac __1cWnsRenderingContextXlibHSetFont6MrknGnsFont__I_ (bfdfe8, d503dc,
0, fb9079c0, 0, fc5220a0) + 84
 fc170060 __1cMnsLineLayoutTVerticalAlignFrames6Mpn0ALPerSpanData__v_ (ffbe76dc,
ffbe7a3c, fb8e3528, bfdfe8, 6dd, ffbe75fc) + 48
 fc16ea70
__1cMnsLineLayoutLReflowFrame6MpnInsIFrame_p2rIpnTnsHTMLReflowMetrics_ri_I_
(fc5220a0, 19309a0, 0, ffbe75fc, 0, ffbe7764) + f64
 fc118290
__1cMnsBlockFrameRReflowInlineFrame6MrnSnsBlockReflowState_rnMnsLineLayout_pnJnsLineBox_pnInsIFrame_pC_I_
(d32730, ffbe805c, ffbe76dc, 19309d8, 19309a0, ffbe766b) + 60
 fc117fe8
__1cMnsBlockFrameUDoReflowInlineFrames6MrnSnsBlockReflowState_rnMnsLineLayout_pnJnsLineBox_pipCii_I_
(0, ffbe805c, ffbe76dc, 19309d8, ffbe7da4, ffbe7bb7) + 1b0
 fc117de8
__1cMnsBlockFrameYDoReflowInlineFramesAuto6MrnSnsBlockReflowState_pnJnsLineBox_pipCii_I_
(d32730, ffbe805c, 19309d8, ffbe7da4, ffbe7bb7, 0) + 64
 fc117c48
__1cMnsBlockFrameSReflowInlineFrames6MrnSnsBlockReflowState_pnJnsLineBox_piii_I_
(d32730, ffbe805c, 19309d8, ffbe7da4, 0, 0) + a0
 fc1166a0
__1cMnsBlockFrameKReflowLine6MrnSnsBlockReflowState_pnJnsLineBox_pii_I_ (d32730,
ffbe805c, 19309d8, ffbe7da4, 0, e1) + 41c
 fc115cf8 __1cMnsBlockFrameQReflowDirtyLines6MrnSnsBlockReflowState__I_ (0,
ffbe805c, e1, fc47990b, 80000000, fee39d24) + 35c
 fc113b50
__1cMnsBlockFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(d32730, b294f0, ffbe8790, ffbe83e4, ffbe866c, 0) + 5b4
 fc121120
__1cUnsBlockReflowContextNDoReflowBlock6MrnRnsHTMLReflowState_nOnsReflowReason_pnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbe8748, ffbe83e4, 2, d32730, fc51fd18, ffbe8778) + 340
 fc120bec
__1cUnsBlockReflowContextLReflowBlock6MpnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbe8748, d32730, ffbe8670, 1, 110, 0) + 260
 fc117620
__1cMnsBlockFrameQReflowBlockFrame6MrnSnsBlockReflowState_pnJnsLineBox_pi_I_
(d2e354, ffbe8c94, d33004, ffbe89dc, ffbe865c, 0) + 240
 fc116304
__1cMnsBlockFrameKReflowLine6MrnSnsBlockReflowState_pnJnsLineBox_pii_I_ (d2e354,
ffbe8c94, d33004, ffbe89dc, 0, 384) + 80
 fc115cf8 __1cMnsBlockFrameQReflowDirtyLines6MrnSnsBlockReflowState__I_ (0,
ffbe8c94, 2a3, fc47990b, 80000000, fee39d24) + 35c
 fc113b50
__1cMnsBlockFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(d2e354, b294f0, ffbe90d4, ffbe901c, ffbe9390, 0) + 5b4
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, d2e354, b294f0, ffbe90d4, ffbe901c, 0) + c0
 fc27f52c
__1cQnsTableCellFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(d2e2f8, b294f0, ffbe9470, ffbe9394, 44, 22) + 378
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, d2e2f8, b294f0, ffbe9470, ffbe9394, 0) + c0
 fc297e00
__1cPnsTableRowFrameOReflowChildren6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rnMnsTableFrame_rIi_I_
(d236d0, b294f0, 2, ffbe9664, 1cf54a0, 1) + 4a8
 fc298898
__1cPnsTableRowFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(d236d0, b294f0, ffbe971c, ffbe9664, ffbea6cc, 374) + c4
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, d236d0, b294f0, ffbe971c, ffbe9664, 0) + c0
 fc29a3ac
__1cUnsTableRowGroupFrameOReflowChildren6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rnVnsRowGroupReflowState_rIpnPnsTableRowFrame_ip9A_I_
(1cf5418, b294f0, ffbe97f0, ffbe97e4, ffbea6cc, 17b50) + 1a0
 fc29be90
__1cUnsTableRowGroupFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf5418, b294f0, ffbe9cb8, ffbe9c00, ffbea6cc, 0) + e4
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, 1cf5418, b294f0, ffbe9cb8, ffbe9c00, 0) + c0
 fc28b7fc
__1cMnsTableFrameOReflowChildren6MpnOnsIPresContext_rnSnsTableReflowState_iirIpi_I_
(1cf54a0, b294f0, ffbe9dcc, 2a80, 0, ffbea6cc) + 26c
 fc2895dc
__1cMnsTableFrameLReflowTable6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_inOnsReflowReason_ri9ArI_I_
(1cf54a0, b294f0, ffbea1b4, ffbe9f80, 356b, 0) + 108
 fc289230
__1cMnsTableFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf54a0, b294f0, ffbea1b4, ffbe9f80, ffbea6cc, 374) + 378
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(3, 1cf54a0, b294f0, ffbea1b4, ffbe9f80, 1) + c0
 fc29327c
__1cRnsTableOuterFrameQOuterReflowChild6MpnOnsIPresContext_pnInsIFrame_rknRnsHTMLReflowState_rnTnsHTMLReflowMetrics_pirnGnsSize_rnInsMargin_9F9FnOnsReflowReason_rI_I_
(1cf5454, b294f0, 1cf54a0, ffbea444, ffbea1b4, 0) + 264
 fc294924
__1cRnsTableOuterFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf5454, b294f0, ffbea7f0, ffbea444, fc293018, 1) + 2bc
 fc121120
__1cUnsBlockReflowContextNDoReflowBlock6MrnRnsHTMLReflowState_nOnsReflowReason_pnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbea7a8, ffbea444, 0, 1cf5454, fc5303bc, ffbea7d8) + 340
 fc120bec
__1cUnsBlockReflowContextLReflowBlock6MpnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbea7a8, 1cf5454, ffbea6d0, 0, 0, 1) + 260
 fc117620
__1cMnsBlockFrameQReflowBlockFrame6MrnSnsBlockReflowState_pnJnsLineBox_pi_I_
(1cf5530, ffbeacf4, 123517c, ffbeaa3c, ffbea6bc, fc33eb8c) + 240
 fc116304
__1cMnsBlockFrameKReflowLine6MrnSnsBlockReflowState_pnJnsLineBox_pii_I_
(1cf5530, ffbeacf4, 123517c, ffbeaa3c, 0, fc5303bc) + 80
 fc115cf8 __1cMnsBlockFrameQReflowDirtyLines6MrnSnsBlockReflowState__I_ (0,
ffbeacf4, 0, fc47990b, 80000000, fee39d24) + 35c
 fc113b50
__1cMnsBlockFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf5530, b294f0, ffbeb428, ffbeb07c, ffbeb304, 0) + 5b4
 fc121120
__1cUnsBlockReflowContextNDoReflowBlock6MrnRnsHTMLReflowState_nOnsReflowReason_pnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbeb3e0, ffbeb07c, 0, 1cf5530, fc51fd18, ffbeb410) + 340
 fc120bec
__1cUnsBlockReflowContextLReflowBlock6MpnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbeb3e0, 1cf5530, ffbeb308, 0, 0, 1) + 260
 fc117620
__1cMnsBlockFrameQReflowBlockFrame6MrnSnsBlockReflowState_pnJnsLineBox_pi_I_
(1cf557c, ffbeb92c, 12350a0, ffbeb674, ffbeb2f4, fc33eb8c) + 240
 fc116304
__1cMnsBlockFrameKReflowLine6MrnSnsBlockReflowState_pnJnsLineBox_pii_I_
(1cf557c, ffbeb92c, 12350a0, ffbeb674, 0, fc51fd18) + 80
 fc115cf8 __1cMnsBlockFrameQReflowDirtyLines6MrnSnsBlockReflowState__I_ (0,
ffbeb92c, 0, fc47990b, 80000000, fee39d24) + 35c
 fc113b50
__1cMnsBlockFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf557c, b294f0, ffbec060, ffbebcb4, ffbebf3c, 0) + 5b4
 fc121120
__1cUnsBlockReflowContextNDoReflowBlock6MrnRnsHTMLReflowState_nOnsReflowReason_pnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbec018, ffbebcb4, 0, 1cf557c, fc51fd18, ffbec048) + 340
 fc120bec
__1cUnsBlockReflowContextLReflowBlock6MpnInsIFrame_rknGnsRect_iiirnInsMargin_rI_I_
(ffbec018, 1cf557c, ffbebf40, 0, 0, 1) + 260
 fc117620
__1cMnsBlockFrameQReflowBlockFrame6MrnSnsBlockReflowState_pnJnsLineBox_pi_I_
(1cf5638, ffbec564, 12050c0, ffbec2ac, ffbebf2c, fc33eb8c) + 240
 fc116304
__1cMnsBlockFrameKReflowLine6MrnSnsBlockReflowState_pnJnsLineBox_pii_I_
(1cf5638, ffbec564, 12050c0, ffbec2ac, 0, fc51fd18) + 80
 fc115cf8 __1cMnsBlockFrameQReflowDirtyLines6MrnSnsBlockReflowState__I_ (0,
ffbec564, 0, fc47990b, 80000000, fee39d24) + 35c
 fc113b50
__1cMnsBlockFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf5638, b294f0, ffbecc20, ffbec8c8, ffbecb58, 0) + 5b4
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, 1cf5638, b294f0, ffbecc20, ffbec8c8, 0) + c0
 fc18663c
__1cLnsPageFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(1cf55c8, b294f0, ffbecc20, ffbecb5c, ffbecb58, fc18b8a4) + 278
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, 1cf55c8, b294f0, ffbecc20, ffbecb5c, 0) + c0
 fc1a8898
__1cZnsSimplePageSequenceFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(c57084, b294f0, ffbece3c, ffbecd7c, ffbecf54, 356b) + 27c
 fc12bf90
__1cQnsContainerFrameLReflowChild6MpnInsIFrame_pnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_iiIrI_I_
(0, c57084, b294f0, ffbece3c, ffbecd7c, 0) + c0
 fc1c4730
__1cNViewportFrameGReflow6MpnOnsIPresContext_rnTnsHTMLReflowMetrics_rknRnsHTMLReflowState_rI_I_
(c57048, b294f0, ffbed014, ffbecf58, ffbecf54, c57084) + 2b0
 fc18e2b0 __1cJPresShellNInitialReflow6Mii_I_ (c0f270, 2d00, 3b0b, 1, fc50eb80,
ffbed03c) + 458
 fd4b4554 __1cSDocumentViewerImplFPrint6MipnG__FILE_pnQnsIPrintListener__I_
(a17490, fc53b658, 0, ffbed174, a17118, fd7c8940) + ae4
 fc946cf8 __1cQGlobalWindowImplFPrint6M_I_ (8628a0, 6, 3fc, 41ad48, 41b144,
ff1a9590) + b4
 ff111d5c XPTC_InvokeByIndex (8628a4, 45, 0, ffbed3a0, 85ec40, 8000fc00) + 48
 fe062c90 __1cQXPCWrappedNativeKCallMethod6FrnOXPCCallContext_n0AICallMode__i_
(ffbed490, 0, ffbed3a0, fe0650f8, 0, 3eb220) + b64
 fe06f2fc __1cRXPC_WN_CallMethod6FpnJJSContext_pnIJSObject_Ipl4_i_ (436950,
85ec40, 0, b2c5d0, ffbed5b0, 2800) + 13c
 ff245608 js_Invoke (436950, 0, 0, fe06f1c0, b2c5d0, ff2c978c) + a14
-- snip --

jesup - do you see any way to avoid this massive slowdown during reflow ?
Summary: Printing example URL "hangs" on printer devices with many fonts is very slow → Printing example URL on printer devices with many fonts is very slow
Something is horrible wrong here. 
I am getting "hangs" now (it does not finish after 6 hours, I had to kill the
Zilla) with the same stack trace "snapshots" with many many pages (like
http://www.spiegel.de/) - it looks that a checkin busted something...

rods, can you test the example URL on Win32/Mac, please ?
Severity: normal → critical
Keywords: hang
Summary: Printing example URL on printer devices with many fonts is very slow → Printing example URL on printer devices with many fonts hangs
I don't know anything about Xprint, that is don's area
Summary: Printing example URL on printer devices with many fonts hangs → [Xprint]Printing example URL on printer devices with many fonts hangs
rods:
OK... sorry for the confusion. I fact I had two problems (I found [2] during
debugging of [1]):
1. performance is worse if I add many fonts (this should affect all print
modules incl. PS and Xprint)
2. Xprint module has a "hang" issue due stupid code, I filed bug 102461 for that

Fixing "summary" back to original... this bug is about [1] ...
Keywords: hang
Summary: [Xprint]Printing example URL on printer devices with many fonts hangs → Printing example URL on printer devices with many fonts is very slow
Target Milestone: --- → mozilla1.0
Bugs targeted at mozilla1.0 without the mozilla1.0 keyword moved to mozilla1.0.1 
(you can query for this string to delete spam or retrieve the list of bugs I've 
moved)
Target Milestone: mozilla1.0 → mozilla1.0.1
Blocks: 192070
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a3) Gecko/20040902
This doesn't currently appear to be a problem on Windows XP.  Is it still a
problem on other platforms?  If it is, please change the target milestone, if
not please close the bug.
Can anyone still reproduce this bug?
Assignee: dcone → printing
QA Contact: sujay
Target Milestone: mozilla1.0.1 → ---
(In reply to comment #6)
> Can anyone still reproduce this bug?

WFM, however, I'm not linux
(In reply to comment #6)
> Can anyone still reproduce this bug?

Mats, is this WFY?
Severity: critical → major
(In reply to comment #8)
My results with a Seamonkey trunk debug build is this:
On http://www.public.iastate.edu/~rllew/chrn1998.html
Print Preview (PP) and PostScript (PS) print to file and printer works
without error. PP takes 3-4 seconds. PS to file takes 20 seconds, 10 before
the progress dialog comes up then another 10 sec. This is slow compared
to printing other pages on this machine (this is on a 3GHz P4).

On http://www.spiegel.de/
PP works fine (3s). PS to file/printer gives error dialog "An unknown error
occurred while printing." - also, in about 1 of 8 attempts I get a hang.

In a Seamonkey 1.8 branch debug build:
On http://www.public.iastate.edu/~rllew/chrn1998.html
PP takes 10 seconds. PS to file 20 sec (10+10 as trunk above).

On http://www.spiegel.de/
PP works fine (3s). PS to file/printer works fine, takes about
7 seconds (3 before the progress dialog to come up, then 4 more).
No hangs or errors.

All tests were done with a clean profile. No extensions/plugins installed.


I believe the error on http://www.spiegel.de/ is a separate problem so
I filed bug 338904.

This bug is about the poor performance when printing the URL
http://www.public.iastate.edu/~rllew/chrn1998.html
which only seems to occur on Linux.
Severity: major → normal
OS: All → Linux
Assignee: printing → nobody
QA Contact: printing

Page no longer active

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.