Open Bug 810127 Opened 12 years ago Updated 1 year ago

CCLockedOut GCs are a top source of chrome hangs

Categories

(Core :: Cycle Collector, defect)

defect

Tracking

()

People

(Reporter: mccr8, Unassigned)

References

Details

(Whiteboard: [Snappy])

If the CC is locked out when the CC timer fires, we finish the current GC off. This is apparently the source of something like 1% of 5+ second hangs caught by the chrome hang detector.
See comment 6 and comment 10 in bug 810022 for further discussion.
We could tweak the locked out heuristics a bit to make this happen less often, but it is fairly surprising that finishing off a GC would cause such long hangs.
I suspect what's happening here is that the machine is already running slowly (swapping, or maybe the CPU is overloaded with other tasks). That would cause everything to slow down, which would lead to very long GCs with many slices. At some point, the CC will demand some time to run and then we'll try to finish the GC along this path.

It would be nice if the hang detector could avoid firing in situations where we're swapping a lot or other stuff is running. There's not much we can do about those sorts of hangs.
Severity: normal → S3
Component: XPCOM → Cycle Collector
You need to log in before you can comment on or make changes to this bug.