Closed Bug 1092204 Opened 7 years ago Closed 6 years ago

Random flash instance not showing with multiple instances on one page

Categories

(Core :: JavaScript Engine: JIT, defect)

33 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1081850

People

(Reporter: stijn, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2

Steps to reproduce:

Logged on a website with multiple flash instances with the latest version (33). 32 worked fine.


Actual results:

One or more instances are not showing, they are present, i can select them and audio is playing. But they are not visible.


Expected results:

The flash instance(s) should have been visible.
Please provide the URL of your test page.
Component: Untriaged → Plug-ins
Flags: needinfo?(stijn)
Product: Firefox → Core
(also, what version of flash player are you using?)
The site is password protected. Is it possible to direct message you the URL, login name and password? 
I'm using Flash version 13,0,0,206
Flags: needinfo?(stijn)
(In reply to stijn from comment #3)
> The site is password protected. Is it possible to direct message you the
> URL, login name and password? 
> I'm using Flash version 13,0,0,206

You could email me, but I'm not the best person to investigate this, so that won't scale very well... Can you create a public testcase out of the existing page (e.g. zip relevant assets so I can run it locally, or put it up on a public bit of the web)? Presumably, if the instances either load or don't load, whether the chat app and so on can actually connect to whatever server you normally use isn't important?
(In reply to stijn from comment #3)
> The site is password protected. Is it possible to direct message you the
> URL, login name and password? 
> I'm using Flash version 13,0,0,206

Looking at the testcase, I can reproduce, trying to find when this regressed.
Status: UNCONFIRMED → NEW
Ever confirmed: true
This broke on Nightly in this timeframe:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=be076357691c&tochange=2f5df65e3662

Nothing really jumps out at me there.

The odd thing is that sometimes I see flashes of the plugin and then it disappears. I can reproduce the issue on Windows as well.

Georg, any ideas on where to look? (Stijn, can I share these login details with my coworkers?)
Flags: needinfo?(stijn)
Flags: needinfo?(georg.fritzsche)
OS: Mac OS X → All
Hardware: x86 → All
yes, sure.
Flags: needinfo?(stijn)
Hm, i'm not seeing anything obvious on a quick scan, although there is e.g. some gfx changes in there.
Can we continue on mozilla-inbound builds?

Flash is at version 15.x - does it also happen with that?
Flags: needinfo?(georg.fritzsche)
(In reply to Georg Fritzsche [:gfritzsche] from comment #8)
> Hm, i'm not seeing anything obvious on a quick scan, although there is e.g.
> some gfx changes in there.
> Can we continue on mozilla-inbound builds?

Only if we build ourselves, because it's too long ago now for the inbound builds to still be there (june/july). On Windows, that takes long. I can give it a shot either later tonight or perhaps on Sunday/Monday.

> Flash is at version 15.x - does it also happen with that?

Yes, on both Windows and OS X I run 15.0.0.152, and it happens on both of those.

I almost suspect the flash is interacting with the rest of the page here, and something about that is breaking things. In fact, it does look like there's a significant amount of JS involved here as well.

Stijn, have you tried using debugging/logging on the JS and the rendering stuff in there to figure out what's different between 32 and 33?
Flags: needinfo?(stijn)
Don't know about any different no, but I can tell you there's one 'hidden' flash file opening a socket and communicating through javascript to the other flash files.
Flags: needinfo?(stijn)
Still looking at what's going on here. There's a JS error that crops up some of the time, which is that this block:

      if((m - lastRender) < 200 || lastRender == -1){
          if(_rightElement.get(0).scrollHeight <= _rightElement.height()){
              setTimeout(renderer.render,300);
          }
          return;
      }

runs this.render on a timeout, but without a proper "this" object, which breaks the method. Try:

setTimeout(function() { renderer.render(); }, 300);

instead.

Still not sure why the page as a whole broke in 33 - I'll continue to look...
(In reply to :Gijs Kruitbosch from comment #11)
> Still looking at what's going on here. There's a JS error that crops up some
> of the time

in particular, that causes this:

TypeError: this.render is not a function - renderengine.js:353
(In reply to :Gijs Kruitbosch from comment #9)
> (In reply to Georg Fritzsche [:gfritzsche] from comment #8)
> > Hm, i'm not seeing anything obvious on a quick scan, although there is e.g.
> > some gfx changes in there.
> > Can we continue on mozilla-inbound builds?
> 
> Only if we build ourselves, because it's too long ago now for the inbound
> builds to still be there (june/july). On Windows, that takes long. I can
> give it a shot either later tonight or perhaps on Sunday/Monday.

Huh, I was wrong. Narrowed down to:

https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=9dafb9b56b5c&tochange=6f2c1e191d9d

This looks like a JS engine thing (don't see how this would be broken by the graphics change...) Kannan/Dan, any idea how this could be broken by the changes you made in that window?

I'll build locally to figure out more.
Flags: needinfo?(sunfish)
Flags: needinfo?(kvijayan)
So I'm trying to narrow this down, but my self-built nightlies crash flashplayer instantaneously (on two separate machines). :-\

I'll have a look if the flash player crashes go away if I build with MSVC2010 instead, or downgrade flash.
Confirmed locally that this is bug 928928. Also confirmed by verifying the problem goes away when I disable the baseline jit via about:config.

Kannan, I'll forward you credentials for the testcase; I've not really looked at whittling down that testcase yet, but expect it might be difficult considering it depends on the remote flash... :-\
Blocks: 928928
Component: Plug-ins → JavaScript Engine: JIT
Flags: needinfo?(sunfish)
Fixing bug 1081850 might well fix this too...
(In reply to Boris Zbarsky [:bz] from comment #16)
> Fixing bug 1081850 might well fix this too...

Yeah, I'm really super unsure about how the visually obvious regression is related to the code here - but the regression range is pretty unequivocal, so I guess we'll just have to see if it does (or have someone dig into the code here - please ping me if you want details for the STR).
Noting that bug 1081850 has landed.  Noting and leaving needinfo on.  Can this be tested against the original URLs?
(In reply to Kannan Vijayan [:djvj] from comment #18)
> Noting that bug 1081850 has landed.  Noting and leaving needinfo on.  Can
> this be tested against the original URLs?

Yes, this seems to be fixed against today's nightly. Thank you!
(In reply to :Gijs Kruitbosch from comment #19)
> (In reply to Kannan Vijayan [:djvj] from comment #18)
> > Noting that bug 1081850 has landed.  Noting and leaving needinfo on.  Can
> > this be tested against the original URLs?
> 
> Yes, this seems to be fixed against today's nightly. Thank you!

Stijn, can you confirm that if you download a build from https://nightly.mozilla.org/ (should be date-marked for today), this now works with your site? It does for me, but let's just make doubly sure. :-)
Flags: needinfo?(stijn)
I'll wait for further confirmation before marking as dup.  I've asked for uplift into aurora and beta.
Flags: needinfo?(kvijayan)
It's seem to work now, thanks!
Flags: needinfo?(stijn)
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1081850
You need to log in before you can comment on or make changes to this bug.