Last Comment Bug 593703 - When scrolling with D3D9 layers, plugins aren't clipped properly against chrome
: When scrolling with D3D9 layers, plugins aren't clipped properly against chrome
Status: RESOLVED FIXED
[depends on 590568]
:
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: Trunk
: x86 Windows 7
: -- normal with 2 votes (vote)
: ---
Assigned To: Robert O'Callahan (:roc) (email my personal email if necessary)
:
: Milan Sreckovic [:milan]
Mentors:
: 596715 601761 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-09-05 10:55 PDT by Rob Arnold [:robarnold]
Modified: 2010-12-05 15:17 PST (History)
22 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
betaN+


Attachments
Screenshot (429.86 KB, image/png)
2010-09-06 09:45 PDT, Rob Arnold [:robarnold]
no flags Details
Reduced test case. Open in Fx, reduce window size such that scrollbars appear, scroll down, observe toolbar. (281 bytes, text/html)
2010-10-13 17:54 PDT, Ed Morley [:emorley]
no flags Details

Description Rob Arnold [:robarnold] 2010-09-05 10:55:19 PDT
STR:
1) Go to http://www.reddit.com/r/programming/ and spot the flash ad on the right hand side
2) Scroll slowly (don't use page down) so that the top part plugin should be clipped by chrome.

Expected:
The UI is still visible

Actual:
The UI has a white rectangle where I'd expect the plugin to be. Mousing over the white rectangle or switching tabs redraws parts of it.
Comment 1 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-09-05 21:30:25 PDT
I don't see this. That URL doesn't have a Flash ad for me, but I don't see any problems on pages that do have Flash ads.
Comment 2 Rob Arnold [:robarnold] 2010-09-06 09:45:07 PDT
Created attachment 472418 [details]
Screenshot

Turns out I can reproduce this on youtube. Not all videos seem to display the bug. The URL for the one in the screenshot is http://www.youtube.com/watch?v=z99EHyG2jQA
Comment 3 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-09-06 18:40:49 PDT
Can you reproduce it every time with that URL? I can't reproduce it at all.
Comment 4 Rob Arnold [:robarnold] 2010-09-06 22:03:12 PDT
Yes, every time. I should also mention that I'm using GDI, not D2D. The reddit link sometimes has flash ads and only some of them exhibit the problem. That youtube video is consistent. I'm playing it at 360p (the default). I also just noticed that my browser hangs when I try to switch resolutions for that video. I'm not sure if it's related to this issue.
Comment 5 Joe Drew (not getting mail) 2010-09-08 12:29:10 PDT
A very similar thing happens on OS X without any accelerated layer manager (and has since bug 130078 landed). I wonder if it's the same root cause?
Comment 6 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-09-08 22:41:32 PDT
Joe, is that still happening on Mac after 592563 was fixed?
Comment 7 Joe Drew (not getting mail) 2010-09-09 07:19:50 PDT
Yep.
Comment 8 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-09-09 15:36:51 PDT
Can you file a new bug for that with steps to reproduce? Because I don't know how.
Comment 9 Rob Arnold [:robarnold] 2010-09-09 15:39:50 PDT
(In reply to comment #8)
> Can you file a new bug for that with steps to reproduce? Because I don't know
> how.

I cannot reproduce the hang anymore. I suspect my browser somehow worked itself into a bad state. If I find STR, I'll file. Original issue still remains.
Comment 10 Rob Arnold [:robarnold] 2010-09-09 15:40:20 PDT
Err, I'm sorry, I misread who that was directed to.
Comment 11 Joe Drew (not getting mail) 2010-09-10 10:54:29 PDT
The bug I'm seeing on OS X is bug 594992.
Comment 12 Mike Beltzner [:beltzner, not reading bugmail] 2010-09-14 11:35:40 PDT
Should this be marked as betaN+? Not sure it's a beta6/7 blocker anymore.
Comment 13 Rob Arnold [:robarnold] 2010-09-15 14:35:01 PDT
*** Bug 596715 has been marked as a duplicate of this bug. ***
Comment 14 Timothy Nikkel (:tnikkel) 2010-09-15 14:42:39 PDT
I tried and failed to reproduce this with D2D on and D2D off.
Comment 15 Timothy Nikkel (:tnikkel) 2010-09-29 23:14:01 PDT
I failed again to reproduce this (D2D on or off).

For anybody else that has seen this it would be useful to have info like the following:
1) was d2d on or off
2) the site and what you did to see the problem
3) graphics card info
Comment 16 Rob Arnold [:robarnold] 2010-09-30 09:16:32 PDT
1) D2D off
2) http://www.youtube.com/watch?v=z99EHyG2jQA scroll down while the video is playing and you see white chunks in the titlebar just as in the screenshots.
3) ATI Mobility Radeon X1400
Driver Version: 8.561.0.0:
Driver Date: 12-1-2008

The drivers are old because it's a mobile chip.
Comment 17 Darren Kalck [:D-Kalck] 2010-10-03 05:04:03 PDT
1) D2D off
2) Any youtube video
3) nVidia GeForce 7800 GT
Driver Version: 195.62
Comment 18 Timothy Nikkel (:tnikkel) 2010-10-03 11:51:46 PDT
(In reply to comment #17)
> 1) D2D off
> 2) Any youtube video
> 3) nVidia GeForce 7800 GT
> Driver Version: 195.62

Is that an older version of the driver? What happens if you use the latest driver?
Comment 19 Darren Kalck [:D-Kalck] 2010-10-03 12:04:19 PDT
Yes, it's an "old" version, because I use an old card, but I will try the latest driver version.
Comment 20 Darren Kalck [:D-Kalck] 2010-10-03 12:14:31 PDT
Just installed 258.96, and I have the same problem.
Comment 21 Timothy Nikkel (:tnikkel) 2010-10-04 11:11:51 PDT
For the people who see this, it started between the 2010-08-27 and 2010-08-28 nightlies?
Comment 22 Darren Kalck [:D-Kalck] 2010-10-05 08:35:57 PDT
No, it started after 2010-08-28 and before 2010-09-09, I'll try to narrow the regression window.
Comment 23 Darren Kalck [:D-Kalck] 2010-10-05 08:55:41 PDT
Here is the regression window :
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=bd474ff6f86c&tochange=fd13b6ce36bd
Comment 24 Bas Schouten (:bas.schouten) 2010-10-05 08:58:09 PDT
(In reply to comment #23)
> Here is the regression window :
> http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=bd474ff6f86c&tochange=fd13b6ce36bd

That just tells us enabling D3D9 layers caused your problem, which we already knew :-)
Comment 25 Darren Kalck [:D-Kalck] 2010-10-05 09:22:51 PDT
(In reply to comment #24)
> (In reply to comment #23)
> > Here is the regression window :
> > http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=bd474ff6f86c&tochange=fd13b6ce36bd
> 
> That just tells us enabling D3D9 layers caused your problem, which we already
> knew :-)
Sorry, when setting layers.accelerate-all to true the regression window stated by timothy is right.
Comment 26 Ed Morley [:emorley] 2010-10-06 06:18:48 PDT
Occurs for me on any YouTube page after scrolling.

Disabling hardware acceleration fixes it.

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20101005
Firefox/4.0b7pre

Flash: v10.1.85.3

Adapter Description: NVIDIA GeForce 6200 TurboCache(TM)
Vendor ID: 10de
Device ID: 0161
Adapter RAM: 64
Adapter Drivers: nvd3dumx,nvd3dum
Driver Version: 8.17.12.6063
Driver Date: 9-10-2010
Direct2D Enabled: false
DirectWrite Enabled: false
GPU Accelerated Windows: 1/1 Direct3D 9

For configs of other people who this has also been happening to, see bug 597955 (which should probably be marked a dupe of this one).

Thanks!
Comment 27 Joe Drew (not getting mail) 2010-10-06 11:36:42 PDT
Timothy, your comment 21 implies you have a theory?
Comment 28 Joe Drew (not getting mail) 2010-10-06 13:59:49 PDT
*** Bug 601761 has been marked as a duplicate of this bug. ***
Comment 29 Timothy Nikkel (:tnikkel) 2010-10-06 16:12:28 PDT
(In reply to comment #27)
> Timothy, your comment 21 implies you have a theory?

Just the opposite unfortunately. What we need here is a machine that can reproduce this in the hands of someone who can debug it.
Comment 30 Ed Morley [:emorley] 2010-10-06 17:11:46 PDT
If someone can guide me through whatever you need doing (I haven't touched a debugger for years), I'm more than happy to help.
Comment 31 Timothy Nikkel (:tnikkel) 2010-10-06 23:25:18 PDT
Unfortunately there isn't anything specific I can think of to look at in a debugger, just general debugging.
Comment 32 Timothy Nikkel (:tnikkel) 2010-10-07 01:39:13 PDT
I have a wild guess, anyone who sees this bug could you try this try server build? http://stage.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/tnikkel@gmail.com-94a378af37db/
Comment 33 Ed Morley [:emorley] 2010-10-07 09:27:45 PDT
The bug occurs using that tryserver build too. (Albeit using the same profile, I didn't test using a brand new profile, should I have done?).
Comment 34 Timothy Nikkel (:tnikkel) 2010-10-07 11:50:21 PDT
Not using a new profile is fine.
Comment 35 Timothy Nikkel (:tnikkel) 2010-10-12 21:57:41 PDT
I wonder if bug 590568 is the same as this.
Comment 36 Ed Morley [:emorley] 2010-10-12 23:48:23 PDT
The screenshot in the other bug looks exactly like what happens on my machine.

Reference you wanting to try using a debugger, would me setting up VNC on this machine and giving you access help?
Comment 37 Darren Kalck [:D-Kalck] 2010-10-13 00:15:37 PDT
(In reply to comment #32)
> I have a wild guess, anyone who sees this bug could you try this try server
> build?
> http://stage.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/tnikkel@gmail.com-94a378af37db/

I still see the bug with this build.
Comment 38 fxtech 2010-10-13 00:38:30 PDT
hi i am coming from this bug https://bugzilla.mozilla.org/show_bug.cgi?id=590568 , i could say we are experiencing same issue. Untill now it seams that only nvidia card before the 8xxx series are affected

Adapter Description NVIDIA GeForce 7600 
GS Vendor ID10de
Device ID 0392
Adapter RAM 512
Adapter Driver snvd3dum
Driver Version 8.17.12.6089
Driver Date 10-8-2010
Direct2D Enabled true
DirectWrite Enabled true
GPU Accelerated Windows1/1 Direct3D 9
Comment 39 Timothy Nikkel (:tnikkel) 2010-10-13 00:58:42 PDT
(In reply to comment #36)
> Reference you wanting to try using a debugger, would me setting up VNC on this
> machine and giving you access help?

Your machine would also need a build environment including mozilla-build and visual studio, so before we go that route I think we should exhaust some other options; somewhere in Mozilla there must be a laptop that has this problem.
Comment 40 Bas Schouten (:bas.schouten) 2010-10-13 08:27:08 PDT
(In reply to comment #39)
> (In reply to comment #36)
> > Reference you wanting to try using a debugger, would me setting up VNC on this
> > machine and giving you access help?
> 
> Your machine would also need a build environment including mozilla-build and
> visual studio, so before we go that route I think we should exhaust some other
> options; somewhere in Mozilla there must be a laptop that has this problem.

You can create a debug build, give it to him, and then use the Remote Debugger. to hook your local debugger to the build on his machine.
Comment 41 Ed Morley [:emorley] 2010-10-13 15:57:08 PDT
I've just spotted something strange.

If I watch YouTube videos embedded in a certain news site, the issue doesn't occur. However, if click through to view the video on it's page on YouTube, the issue does.

ie:
Embedded video works fine = http://www.neowin.net/news/twitter-redesign-fully-rolled-out
Same video on Youtube, broken = http://www.youtube.com/watch?v=NshQFrpC2O4

The news site embeds the video using <object>, whereas YouTube uses javascript, presumably so the page xhtml validates. Could this be the reason that one works and the other doesn't, for the same video?

Hope that helps :-)
Comment 42 fxtech 2010-10-13 16:06:10 PDT
confirmed , good guess
Comment 43 Timothy Nikkel (:tnikkel) 2010-10-13 16:19:53 PDT
(In reply to comment #41)
> The news site embeds the video using <object>, whereas YouTube uses javascript,
> presumably so the page xhtml validates. Could this be the reason that one works
> and the other doesn't, for the same video?

That is interesting. I wonder if a page with the problem can be reduced. There might be something telltale in the reduced page that could help narrow this down.
Comment 44 Timothy Nikkel (:tnikkel) 2010-10-13 16:22:32 PDT
(In reply to comment #40)
> You can create a debug build, give it to him, and then use the Remote Debugger.
> to hook your local debugger to the build on his machine.

I didn't know about this. Are there details somewhere about how to do this?
Comment 45 Ed Morley [:emorley] 2010-10-13 17:51:01 PDT
I've managed to create a reduced test case and as a result have found out something that may hopefully be of use to you. (As well as finding out the difference probably isn't due to object vs embed).

#Causes the issue:
<html>
<head></head>
<body>
<embed height="385" width="640" src="http://www.youtube.com/v/NshQFrpC2O4" type="application/x-shockwave-flash"></embed>
</body>
</html>

#Works fine:
<html>
<head></head>
<body>
<embed height="385" width="640" src="http://www.youtube.com/v/NshQFrpC2O4" type="application/x-shockwave-flash" wmode="transparent"></embed>
</body>
</html>

ie: if the wmode="transparent" is present, the issue does not occur, if it is missing, it occurs.
Comment 46 Ed Morley [:emorley] 2010-10-13 17:54:58 PDT
Created attachment 483035 [details]
Reduced test case. Open in Fx, reduce window size such that scrollbars appear, scroll down, observe toolbar.
Comment 47 Bas Schouten (:bas.schouten) 2010-10-13 17:56:39 PDT
(In reply to comment #46)
> Created attachment 483035 [details]
> Reduced test case. Open in Fx, reduce window size such that scrollbars appear,
> scroll down, observe toolbar.

Sadly this isn't too helpful. In transparent mode drawing is completely different. This is indeed a problem with windowed plugins. But it doesn't occur for most people.
Comment 48 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-10-13 18:07:40 PDT
OK, I can reproduce this in my VM.
Comment 49 Timothy Nikkel (:tnikkel) 2010-10-13 18:11:41 PDT
(In reply to comment #45)
> I've managed to create a reduced test case...

Thanks for doing that. It at least shows that you don't need any special testcase to cause this.
Comment 50 Andreas Eibach 2010-10-17 18:51:32 PDT
I read somewhere far above that you can inhibit this by turning off hardware acceleration.
You mean by the Settings in the Flash context menu?

No changes here; the glitches still appear as if I had made no changes.
Comment 51 Vykintas Vyšniauskas 2010-10-18 01:17:59 PDT
(In reply to comment #50)
> I read somewhere far above that you can inhibit this by turning off hardware
> acceleration.
> You mean by the Settings in the Flash context menu?
 
This was about the "Use hardware acceleration when available" option in the "Advanced" tab of Firefox/Minefield Options.
Comment 52 Andreas Eibach 2010-10-18 09:23:44 PDT
Ah, thanks!
I was looking high and low in about:config and found nothing.
Comment 53 fxtech 2010-10-18 12:06:42 PDT
i know , title already said it , but just to confirm , that even using DX9 card on Win7 , enabling "layers.use-d3d10" the youtube glitch disappears , so we can assume that the issue is on layer code and not on flash
Comment 54 fxtech 2010-10-19 16:28:18 PDT
another round 

strange situation here:

layers.accelerate-all;false

layers.prefer-d3d9;false

gfx.direct2d.force-enabled;true

result in

Direct2D Enabled true
DirectWrite Enabled true
GPU Accelerated Windows 0/1

all seams accelerated , i have better score on ie9 test drive than before

all the glitch (black box , trasparent layer not rendere etc etc) gone

flash player glitch gone (a white box is drawed on the toolbar but is repainted almost immediatly with chrome element)
Comment 55 Ed Morley [:emorley] 2010-11-14 01:49:31 PST
Dupe of https://bugzilla.mozilla.org/show_bug.cgi?id=590568 ?
Comment 56 Robert O'Callahan (:roc) (email my personal email if necessary) 2010-12-05 15:17:06 PST
Should have been fixed in bug 590568.

Note You need to log in before you can comment on or make changes to this bug.