Closed Bug 762407 Opened 8 years ago Closed 8 years ago

Exiting youtube player fullscreen mode causes the app to be unresponsive and eventually display a Force close dialog

Categories

(Firefox for Android :: General, defect, blocker)

14 Branch
ARM
Android
defect
Not set
blocker

Tracking

()

VERIFIED FIXED
Tracking Status
firefox14 --- verified
firefox15 --- verified
blocking-fennec1.0 --- +

People

(Reporter: AdrianT, Assigned: snorp)

References

()

Details

Attachments

(3 files)

Attached file logs
Firefox Mobile Native 14 beta 6/ Nightly 16.0a1 2012-06-06
Device: HTC Desire (Android 2.2)/ Samsung Galaxy S2 (Android 2.3.4)/ HTC Desire Z (Android 2.3.3)

Steps to reproduce:
1. Open Firefox Mobile.
2. Go to youtube.com and start a flash video.
3. Using the player button set it to full screen.
4. Let it play a few seconds and exit full screen.
5. Pan around the page.
6. reload the page or navigate to a new one.

Expected results:
At step 5 everything is drawn correctly
At step 6 the app can be used

Actual results:
At step 5 the video player and the power part of the page are no longer displayed.
At step 6 reload or navigating to another page is impossible. After some time the app displays a Force close dialog.

Notes:
Please see the video capture: http://youtu.be/G_LjOQ0ym4Q
Assignee: nobody → snorp
blocking-fennec1.0: ? → +
Neither snorp nor I can reproduce this, qawanted to get STR that we can use to reproduce.
Keywords: qawanted
Unable to reproduce, 06/08 Nighty - Galaxy Nexus (4.0.4), nor my HTC Nexus One (2.3.4).

Leaving qawanted to see if kbrosnan or nhirata can repro.
Looking at the log, it looks like a H264 video?
Looking at the log it looks like an Application Not Responding (ANR) in fennec due to running H264 video full screen... not sure if it's because of destroying when it's locked? or OOM issues with screenshots from the H264 video... 

I can reproduce the ANR by going to :
1. http://www.youtube.com/watch?v=4N2YWRJ-ppo
2. set it to full screen
3. zoom and pan around
4. click on a related link on the right and try to play a vid

Samsung Galaxy S II, Beta 6.
1. http://www.youtube.com/watch?v=4N2YWRJ-ppo
2. set it to full screen
3. hit the full screen button again to exit full screen
4. zoom and pan around
5. click on a related link on the right and try to play a vid
Attached file ANR traces
easiest way for me to reproduce this is to hit the awesomebar after exiting fullscreen
so, this looks like deadlock. We might need something like bug 680311
What is happening here is that after exiting fullscreen mode, Flash waits for the SurfaceView to be readded to the view hierachy. Specifically, I believe it is waiting for the surfaceCreated() callback to be invoked. Currently we invalidate the plugin which causes Paint() to be called on the next iteration. This is normally where we add the plugin view. Unfortunately, because Flash has us tied up we don't make it that far. This patch calls AddPluginView() immediately upon exiting fullscreen, eliminating the problem. The other changes in the code are mostly housekeeping.
Attachment #631946 - Flags: review?(blassey.bugs) → review+
https://hg.mozilla.org/mozilla-central/rev/5a4551a75db3
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Comment on attachment 631946 [details] [diff] [review]
Avoid deadlock when exiting fullscreen Flash videos on Android

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 
User impact if declined: 
Testing completed (on m-c, etc.): 
Risk to taking this patch (and alternatives if risky): 
String or UUID changes made by this patch:
Attachment #631946 - Flags: approval-mozilla-beta?
Attachment #631946 - Flags: approval-mozilla-aurora?
Comment on attachment 631946 [details] [diff] [review]
Avoid deadlock when exiting fullscreen Flash videos on Android

[Triage Comment]
If we're going to take this for our 1.0 release, this is the beta to do it in. Our ratings may suffer if we introduce a new regression, but we can always update if necessary. Hopefully QA will find any regressions ahead of beta sign-offs as well.
Attachment #631946 - Flags: approval-mozilla-beta?
Attachment #631946 - Flags: approval-mozilla-beta+
Attachment #631946 - Flags: approval-mozilla-aurora?
Attachment #631946 - Flags: approval-mozilla-aurora+
This seems to have caused a small Talos (SVG) regression. Was that expected?

Regression SVG NoChrome increase 4.44% on Android 2.2 (Native) mobile
------------------------------------------------------------------------
    Previous: avg 7595.971 stddev 95.176 of 30 runs up to revision b7dd74f5a7d2
    New     : avg 7933.472 stddev 31.344 of 5 runs since revision 5a4551a75db3
    Change  : +337.501 (4.44% / z=3.546)
    Graph   : http://mzl.la/KxWrIe

Changeset range: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b7dd74f5a7d2&tochange=5a4551a75db3

Changesets:
  * http://hg.mozilla.org/mozilla-central/rev/5a4551a75db3
    : James Willcox <jwillcox@mozilla.com> - Bug 762407 - Avoid deadlock when exiting fullscreen Flash videos on Android r=blassey
    : http://bugzilla.mozilla.org/show_bug.cgi?id=762407

Bugs:
  * http://bugzilla.mozilla.org/show_bug.cgi?id=762407 - Exiting youtube player fullscreen mode causes the app to be unresponsive and eventually display a Force close dialog
Issue is no longer reproducible on Nightly 16.0a1 2012-06-19. Aurora 15.0a2 2012-06-19 or Firefox Mobile 14 beta 7 on HTC Desire running Android 2.2. Exiting youtube fullscreen no longer blocks the device use. Closing as verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.