Closed Bug 637206 Opened 15 years ago Closed 15 years ago

Random pauses while watching Hulu videos

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(blocking2.0 final+)

VERIFIED FIXED
Tracking Status
blocking2.0 --- final+

People

(Reporter: pavlov, Assigned: gal)

Details

(Whiteboard: [has patch][hardblocker], fixed-in-tracemonkey)

Attachments

(2 files)

I am running Flash 10.2 r152 and today's nightly. I see random video pauses (maybe 500ms-1s long) while watching content on Hulu. The content doesn't seem to matter as I see it on most sites. I'm not sure exactly when this started, but it started fairly recently.
Andreas/Stuart: can you try to find each other on Monday and take a look at this? Just seems like the easiest way to figure out what's going on.
Stuart, can you reproduce this in a build with symbols, and if so, can you please profile the build during the pause?
Assignee: nobody → gal
I started seeing this fairly recently around the same time I saw significant GC fixes going in. 1-2 weeks ago.
Guys, seriously, you know the drill. I need some specifics here. Platform, STR, what video, what other tabs were open, what other extensions were installed, how long do I have to watch the video, how frequent are the pauses. Come on.
This is Windows 7 (x64), STR: Go to Hulu and click on a video. Other tabs open include Zimbra and Gmail -- No extensions. I see the pauses pretty much start right away.
Can you close all other tabs and see if this still reproduces?
Attached patch patchSplinter Review
Enable javascript.options.mem.log to see whats going on here. A CC triggers and collects a few objects (6-ish), which schedules another full GC since those cycles might have freed up GC objects, which again triggers a CC which frees another 6-ish objects. Rinse repeat every 5s. Without additional tabs open the pauses are not really visible, but opening 2 additional gmail tabs makes things really bad. I am seeing 500ms GC pauses. Thats ridiculous. There are two bugs here. The attached patch only triggers a GC after a CC if we freed at least 250 objects. This calms down the CC/GC iterations a lot. I can watch a long video without seeing any GC/CC happening as long background tabs don't do a lot of JS execution. The other bug is the 500ms GC pauses. WTF? Those are full GC, but still, 500ms is a billion cycles on my machine. The GC heap isn't that large. We must be doing something wrong. I will whip out shark and see whats up. New bug for that if appropriate. This patch should help stuart. Please verify.
Attachment #515535 - Flags: review?(Olli.Pettay)
I made a patch to always enable gc timing and dump it to the error console: GC mode: full, timestamp: 1777092705, total: 0 ms, mark: 269 ms, sweep (total/obj/str/shapes/chunks): 58 ms/48 ms/4 ms/5 ms/1 ms 269ms mark time. Ridiculous. The attached patch nicely avoids most GCs while watching hulu no matter how many tabs I have open so I am confident about that part of the fix, but I am very worried about these massive mark times.
Note: avoiding GCs like this is not a good idea in general. This keeps cycles alive longer and might cause bloat. We have to get our mark times under control. Everything else is just whack-a-mole.
Comment on attachment 515535 [details] [diff] [review] patch We should not allow endless CC calls without GC. Could you perhaps make 'collected' a static variable which is always increased by the number of collected objects, and if after that the value is > 250, PokeGC()
Whiteboard: [has patch]
Attached patch patchSplinter Review
Something like this. Hulu isn't accessible here, so I can't test this.
Attachment #515634 - Flags: review?(gal)
Comment on attachment 515634 [details] [diff] [review] patch I will test it.
blocking2.0: ? → final+
Whiteboard: [has patch] → [has patch][hardblocker]
Attachment #515634 - Flags: review?(gal) → review+
Attachment #515535 - Flags: review?(Olli.Pettay)
Whiteboard: [has patch][hardblocker] → [has patch][hardblocker], fixed-in-tracemonkey
Stuart, can you please verify that this bug is fixed? (you need a TM build)
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Oops, I pasted a very wrong link. Thanks Jesse.
Verified with Flash Version: 10.2.152.26
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: