New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 149139 link

Starred by 4 users

Issue metadata

Status: Fixed
Last visit > 30 days ago
Closed: Nov 2012
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

issue 153714

Sign in to add a comment

MP4 video kills tab rendering

Reported by, Sep 14 2012

Issue description

Chrome Version       : 23.0.1262.0
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
URLs (if applicable) :

What steps will reproduce the problem?
2. Open some tabs
1. Attempt to play the video in Chrome (click the link or paste into the omnibox, it doesn't matter)

What is the expected result?
The video plays.

What happens instead?
The audio plays, but no video. Additionally, once the tab is closed,
existing tabs fail to render; i.e. switching between them does not cause the new tab to draw: instead the old tab (whatever tab was open behind the video when it closed) continues to display.

Please provide any additional information below. Attach a screenshot if
possible. (no screenshot, but it's a blank tab with the video scrubber controls and no video)

UserAgentString: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.10 (KHTML, like Gecko) Chrome/23.0.1262.0 Safari/537.10

Labels: -Area-Undefined Area-Internals Feature-GPU-Video
I am able to play the video & audio without any issue using 23.0.1262.0 (Official Build 155673) m.
Could u pls provide us with the chrome://gpu contents which helps us in further debugging 

Comment 2 by, Sep 14 2012

Labels: Action-FeedbackNeeded

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated on all pages
3D CSS: Hardware accelerated
CSS Animation: Accelerated
WebGL: Hardware accelerated
WebGL multisampling: Hardware accelerated
Flash 3D: Hardware accelerated
Flash Stage3D: Hardware accelerated
Texture Sharing: Hardware accelerated
Video Decode: Hardware accelerated
Sandbox Status
SUID Sandbox: No
PID namespaces: No
Network namespaces: No
Seccomp-legacy sandbox: No
Seccomp-BPF sandbox: No
Adequately sandboxed: Yes
Version Information
Data exported	Fri Sep 14 2012 19:13:25 GMT-0700 (Pacific Daylight Time)
Chrome version	23.0.1262.0 (Official Build 155673) dev-m
Operating system	Windows NT 6.1 SP1
Software rendering list version	2.9
ANGLE revision	1274
2D graphics backend	Skia
Performance Information
Graphics	7.2
Gaming	7.2
Overall	5.4
Driver Information
Initialization time	121
GPU0	VENDOR = 0x1002, DEVICE= 0x94b3
Optimus	false
AMD switchable	false
Driver vendor	Advanced Micro Devices, Inc.
Driver version	8.961.0.0
Driver date	4-5-2012
Pixel shader version	3.0
Vertex shader version	3.0
GL version	
b3DAccelerationEnabled	true
b3DAccelerationExists	true
bAGPEnabled	true
bAGPExistenceValid	true
bAGPExists	true
bCanRenderWindow	true
bDDAccelerationEnabled	true
bDriverBeta	false
bDriverDebug	false
bDriverSigned	false
bDriverSignedValid	false
bNoHardware	false
dwBpp	32
dwDDIVersion	10
dwHeight	1050
dwRefreshRate	59
dwWHQLLevel	0
dwWidth	1680
iAdapter	0
lDriverSize	1067520
lMiniVddSize	0
szAGPStatusEnglish	Enabled
szAGPStatusLocalized	Enabled
szChipType	ATI display adapter (0x94B3)
szD3DStatusEnglish	Enabled
szD3DStatusLocalized	Enabled
szDACType	Internal DAC(400MHz)
szDDIVersionEnglish	10.1
szDDIVersionLocalized	10.1
szDDStatusEnglish	Enabled
szDDStatusLocalized	Enabled
szDXVAHDEnglish	Not Supported
szDXVAModes	ModeMPEG2_A ModeMPEG2_C
szDescription	ATI Radeon HD 4770
szDeviceId	0x94B3
szDeviceIdentifier	{D7B71EE2-D7F3-11CF-D677-0A2DBEC2C535}
szDeviceName	\\.\DISPLAY1
szDisplayMemoryEnglish	215 MB
szDisplayMemoryLocalized	215 MB
szDisplayModeEnglish	1680 x 1050 (32 bit) (59Hz)
szDisplayModeLocalized	1680 x 1050 (32 bit) (59Hz)
szDriverAssemblyVersion	8.961.0.0
szDriverAttributes	Final Retail
szDriverDateEnglish	4/5/2012 19:20:04
szDriverDateLocalized	4/5/2012 7:20:04 PM
szDriverLanguageEnglish	English
szDriverLanguageLocalized	English
szDriverModelEnglish	WDDM 1.1
szDriverModelLocalized	WDDM 1.1
szDriverName	aticfx64.dll,aticfx64.dll,aticfx64.dll,aticfx32,aticfx32,aticfx32,atiumd64.dll,atidxx64.dll,atidxx64.dll,atiumdag,atidxx32,atidxx32,atiumdva,atiumd6a.cap,atitmm64.dll
szDriverNodeStrongName	oem2.inf:ATI.Mfg.NTamd64.6.1:ati2mtag_RV7X:8.961.0.0:pci\ven_1002&dev_94b3
szDriverVersion	8.17.0010.1124
szKeyDeviceID	Enum\PCI\VEN_1002&DEV_94B3&SUBSYS_0D001002&REV_00
szKeyDeviceKey	\Registry\Machine\System\CurrentControlSet\Control\Video\{F1C6A6C3-7311-4030-B518-706FD3A571C5}\0000
szManufacturer	Advanced Micro Devices, Inc.
szMiniVdd	n/a
szMiniVddDateEnglish	n/a
szMiniVddDateLocalized	n/a
szMonitorName	Generic PnP Monitor
szNotesEnglish	No problems found.
szNotesLocalized	No problems found.
szOverlayEnglish	Not Supported
szRankOfInstalledDriver	00E62001
szRevisionId	0x0000
szSubSysId	0x0D001002
szTestResultD3D7English	Not run
szTestResultD3D7Localized	Not run
szTestResultD3D8English	Not run
szTestResultD3D8Localized	Not run
szTestResultD3D9English	Not run
szTestResultD3D9Localized	Not run
szTestResultDDEnglish	Not run
szTestResultDDLocalized	Not run
szVdd	n/a
szVendorId	0x1002
Crash List
8ff47e17162d3fb7: Thursday, September 6, 2012 9:24:32 PM
8ff47e17162d3b2a: Thursday, September 6, 2012 9:24:29 PM
26204ee029e1007b: Monday, August 27, 2012 6:24:52 PM
eba65b2ea3ff02b8: Friday, August 24, 2012 10:12:33 PM
457beddc7aeffc49: Thursday, August 23, 2012 9:51:56 PM
d7ddacf477525675: Thursday, August 23, 2012 9:50:37 PM
62acf80394f0fa5a: Thursday, August 23, 2012 9:45:55 PM
2420d6d10e57a3d5: Wednesday, August 22, 2012 11:13:57 PM
01244319713da1e6: Sunday, August 19, 2012 11:13:38 PM
472d39829826a159: Tuesday, August 14, 2012 9:58:42 PM
b79695d8fe095b3d: Tuesday, August 14, 2012 9:56:58 PM
204c49003d61cb66: Tuesday, August 14, 2012 8:51:18 PM
d4ccd22018ede229: Tuesday, August 14, 2012 8:50:18 PM
f624f0f58fa2ffdb: Tuesday, August 14, 2012 8:49:06 PM
3f5840d597cc6131: Thursday, August 2, 2012 9:18:34 PM
a5c92ee1064d6be7: Thursday, August 2, 2012 9:18:03 PM
26fae4256a22c883: Tuesday, July 31, 2012 7:54:44 PM
10c7a2e65df8e9fa: Tuesday, July 31, 2012 1:08:34 AM
4a76e1d99af42ce1: Friday, July 27, 2012 8:16:16 PM
fcb359ef1c0b6a58: Friday, July 27, 2012 8:16:14 PM
f5f4efd622334265: Friday, July 27, 2012 8:16:13 PM
0254b671b7953186: Friday, July 27, 2012 8:16:12 PM
e9732607bf661b6e: Friday, July 27, 2012 8:15:04 PM
55e5b3952ddbe5b2: Wednesday, July 18, 2012 10:26:17 PM
0a8b6d4bf0f3787c: Wednesday, July 18, 2012 10:26:15 PM
460f2dccac9dc9b6: Wednesday, July 18, 2012 9:59:22 PM
72ab949238a39d49: Wednesday, July 18, 2012 9:48:21 PM
6db39ffc43bf7bab: Monday, July 16, 2012 10:38:20 PM
de0a7fc8974d27ec: Monday, July 16, 2012 10:25:55 PM
098e09274bb7b1ac: Wednesday, July 11, 2012 10:58:26 PM
a84c41590feb03f9: Wednesday, July 11, 2012 10:43:57 PM
6c1e307f9b1b6385: Tuesday, July 10, 2012 11:10:35 PM
c8b198a82cd7f596: Tuesday, July 10, 2012 11:10:07 PM
f40042bf2c43038b: Friday, July 6, 2012 12:55:57 PM
9838e8881faa9a2f: Friday, July 6, 2012 12:55:52 PM
@derek.schuff: does rebooting help?
Nope. I rebooted (and now my dev channel chrome is at 23.0.1270.0 dev-m) and the behavior is still consistent.
btw I'm also a chromium/NaCl developer (dschuff@) and while GPU isn't my area of expertise I'm totally fine with trying out canary or even doing my own builds with particular patches if you want to dig even deeper.
Ok, you asked for it :)
- Does disabling HW video decode in about:flags make a difference?
- How reliably does this repro for you?  (you say "open some tabs" - can you be more specific?
- Do you see the same symptoms if you kill the GPU process?
- Are there recent crashes in about:crashes (making sure crash-reporting is enabled)?
- Can you downgrade to beta or upgrade to canary and see if that changes things?
- Does using a clean --user-data-dir change things?
OK, I installed canary and played around some more in a clean environment.
Firstly, everything seems fine if I disable hw accelerated video. the video plays normally and everyting is fine. 
Opening just the video, or the video plus simple pages like the google home page, the video is black. the sound plays, but it dies if you switch to another tab. but it doesn't immediately affect the other tabs.
The bad interaction seems to be with tabs with Flash content. If you play the video in a new browser, close the tab, and open youtube, the homepage renders (without the flash content) but immediately becomes unresponsive. Eventually you get the butterbar about Flash crashing. (if you click to kill the plugin, the page becomes responsive again.) If you start the video, let it die (close the tab), then kill the GPU process , everything resets properly if you load another Flash page.
For some reason, about:crashes in Canary is showing crashes from before today, before I installed. strange. the only crash from today is crash 548c4806cbf6e2c8. (It seems unlikely to be related though, since it seems there would be more than one from today since I've been loading it over and over).
Haven't tried stable channel though.
Labels: Feature-Media-Video
Status: Assigned
"everything seems fine if I disable hw accelerated video" --> any ideas fischman?
.mp4 playback is busted on windows dev channel from 23.0.1268.0.  It's fixed in canary as of 24.0.1273.0, and the fix is merged to the m23 branch, but there hasn't been a dev channel release including the fix yet (:().  See  bug 150824  for the low-down.

Derek: can you try a canary newer than 1273 and report back? (also, what kind of machine is this?)
Canary updated to 24.0.1276.1 and it has the same behavior. (I also did see the rendering behavior again where switching to a new tab doesn't cause the new tab to draw, although i can't get it to reproduce reliably. the rest of the behavior in my last post still applies).
This is a homebuilt machine with an ASUS P8Z77-V motherboard, an Ivy Bridge CPU and Radeon HD4770 video. Do you have another off-corp test URL?
You can test .mp4 <video> playback using's HTML5 player (most/all of their videos have a "play in HTML5" link down-and-to-the-right of the video canvas itself), which serves .mp4 (as opposed to YouTube's HTML5 player, which defaults to .webm).

- Still no new about:crashes?
- Have you tried with a clean --user-data-dir=foo ?  (your comment about an old crash report makes me think your canary install is reusing a previous UDD, either from an older canary install or from a dev build)
- When you bring up just the video and you see a black canvas with audio playing, can you open the JS console in devtools, confirm that
contains a reasonable-looking URL, and then report what 
I am seeing something almost exactly like this in stable 22.0.1229.79 m. The only website that I have found to cause it is however. I have noticed that disabling hardware accelerated decoding resolves the issue for me. About gpu attached.
chrome gpu.htm
82.1 KB View Download
@seth.sims: AFAICT coursera uses embedded YouTube videos.  Can you repro the problem on
No it does not seem to happen on youtube as far as I know. But the videos for Statstics One, Introduction to Finance, Probalistic Graphical Models, Model Thinking, and Biostastics Bootcamp all have the problem. Several of the class use to host it's videos.
    I am also having inconsistent problems with the display not redrawing occasionally when minimizing/maximizing, switching tabs, and sometimes every few seconds on certain websites that have embedded multimedia. Resizing/undocking the window forces a redraw but it often only works for a few seconds. When this problem is going on I cannot even scroll the webpage w/o forcing a redraw. No idea if the two are related. I've not seen this second problem happen since I turned off the hardware acceleration. But I've not done a whole lot of testing either.
    This is not the first time my GPU has given chrome a headache. There was a bug fixed just in the last release that was traced back to some weirdness with this GPU.
The redraw problem I mentioned is still happening with the hardware decoding turned off; so it's probably not related to this bug.
OK, sorry for the delay, but found some interesting stuff.
Firstly, this reproduces with Vimeo's HTML5 player. Similar behavior with no video showing but sound playing, and the entire page becomes unresponsive. And the first time I did it it seemed to be doing something bad to the browser process too because clicking the Windows close button didn't work, I had to kill it with process explorer. (I couldn't get that to reproduce).

No new entries in chrome:crashes. (the crash data must be shared because even a clean --user-data-dir didn't clear them out).

$('video').src for the abovementioned URL evaluated to an empty string in the JS console, and $('video').errror was null, so no code there.
On $('video').src evaluated to undefined, as did $('video').error

Blocking: chromium:153714
Update: If you let the vimeo video play long enough without closing the tab, Chrome will recognize it as hung and kill the renderer, generating a crash report. I filed just in case it's useful.
@dschuff: can you try getting the error code from document.querySelector('video') instead of $('video') in the JS console?
(not sure why but the former works for me on vimeo and the latter doesn't)
If you're really feeling up to the challenge, you could build a Debug chrome (with  proprietary_codecs=1 ffmpeg_branding=Chrome in GYP_DEFINES to ensure it can play mp4/h264) and run it with
--enable-logging --vmodule=*content/common/gpu/media/*=10,gpu_video*=1 
to get a better idea of what's going on when things go south.

(the reason you need to build a chrome is much of this is DVLOG-based, and the continuous builder's binaries aren't going to have h264 built into them)
document.querySelector('video').src is something reasonable but document.querySelector('video').error is still null.

And as for a debug build, seems like as good excuse as any to fix my windows build, haven't done one in a while. I'll see what I can do.
@dschuff: ping on comment #22?
thanks for the reminder. I made a build, but forgot to bring it home :/
Hopefully will try it out tomorrow.
dschuff: any updates?
Status: WontFix
Resolving for now pending needed feedback; please reopen if new data is available.
So I finally got my build sucessfully running on my machine at home, sorry about the delay. Unfortunately there's not much interesting in the log:

[1110/] Initializing DXVA HW dec
oder for windows.
[1110/] Input stream info:

[1110/] Max latency: 0
[1110/] Min buffer size: 40
[1110/] Max lookahead: 0
[1110/] Alignment: 0
[1110/] Output stream info:

[1110/] Flags: 0x107
[1110/] Min buffer size: 41
[1110/] Alignment: 0
[8364:7188:1110/] GpuVideoDecoder::Init
ialize() succeeded.
[1110/] Received output for
mat change from the decoder. Recursively invoking DoDecode

@ananta: does 
[1110/] Received output format change from the decoder. Recursively invoking DoDecode
from #27 give you any ideas what's going on here?  (is that an exceptional condition for which we may have latent bugs?)
Status: Started
Ananta found an infloop he's going to break (  Derek - can you test that that fixes playback on your machine?
can do, I'll keep an eye on the bug and let you know once it lands.
Status: Fixed
Labels: Mstone-24 ReleaseBlock-Stable Merge-Requested
Project Member

Comment 33 by, Nov 16 2012

The following revision refers to this bug:

r168093 | | 2012-11-16T00:17:04.462079Z

Changed paths:

Don't wait endlessly for flushing the batched queries sent to the GPU driver
during H/W decode

We currently have a loop in the DXVA decoder on Windows 7 and above where we flush
the queued D3D command bufers and wait for the operation to complete. This causes an 
infinite loop on certain multicore machines due to a bug in the IDirect3DQuery9::GetData
call not returning the correct result. This seems to be a very old bug dating back to April 2008

Fix for now is to have an upper limit of 10 iterations while we wait for the flush to complete. ld

BUG= 149139 
Review URL:
dschuff: This change will be landing in tomorrow's canary. If you could verify it, I'll approve the merge for M24.
OK, so good news and bad news. The good news is that canary now works for me, just like you would expect.(25.0.1326.0). The bad news is that my graphics driver appears to have been updated and dev channel now works as well (25.0.1323.1).
Actually, looking at omahaproxy, neither of those revisions appears to include r168093. So maybe this isn't that useful :( I can try to get my old driver back if it would help.
I can reproduce this reliably on my home machine (AMD 4 cores with NVIDIA GeForce). Will test this out with the next Canary which includes the fix.

Comment 37 by, Nov 16 2012

ananta: r168093 made it in 25.0.1327.0. Could you please verify the bug? thanks!
Labels: -Action-FeedbackNeeded QA-verified
verified the fix on today's canary 25.0.1327.0 using AMD Dual-core with ATI Graphics card.

Comment 39 by, Nov 16 2012

Labels: -Merge-Requested Merge-Approved
Project Member

Comment 40 by, Nov 17 2012

Labels: -Merge-Approved merge-merged-1312
The following revision refers to this bug:

r168335 | | 2012-11-17T00:01:11.408611Z

Changed paths:

Merge 168093 - Don't wait endlessly for flushing the batched queries sent to the GPU driver
during H/W decode

We currently have a loop in the DXVA decoder on Windows 7 and above where we flush
the queued D3D command bufers and wait for the operation to complete. This causes an 
infinite loop on certain multicore machines due to a bug in the IDirect3DQuery9::GetData
call not returning the correct result. This seems to be a very old bug dating back to April 2008

Fix for now is to have an upper limit of 10 iterations while we wait for the flush to complete. ld

BUG= 149139 
Review URL:
Review URL:
Project Member

Comment 41 by, Mar 10 2013

Labels: -Area-Internals -Feature-GPU-Video -Feature-Media-Video -Mstone-24 Cr-Internals Cr-Internals-Media-Video M-24 Cr-Internals-GPU-Video

Sign in to add a comment