Closed Bug 1090149 Opened 10 years ago Closed 10 years ago

Opening video app fails after ~1000 iterations during video playback stability test

Categories

(Firefox OS Graveyard :: Gaia::System::Window Mgmt, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.1+, b2g-v2.1 fixed, b2g-v2.2 fixed)

RESOLVED FIXED
2.1 S8 (7Nov)
blocking-b2g 2.1+
Tracking Status
b2g-v2.1 --- fixed
b2g-v2.2 --- fixed

People

(Reporter: vasanth, Assigned: alive)

References

Details

(Whiteboard: [caf priority: p1][CR 744204])

Attachments

(2 files)

[Blocking Requested - why for this release]:

We are using kind of test_endurance_video_playback.py to open the video app, play the video and close app for 3000 iterations.
After ~1000 iterations, it fails with below call stack [2]

Seems "this.app" var at [1] is null in rare cases.
Would like to know how to fix this. 
Whether just adding a null check would be enough?

[1] https://github.com/mozilla-b2g/gaia/blob/v2.1/apps/system/js/app_transition_controller.js#L179

[2] Exception
-------------
TEST-UNEXPECTED-ERROR | test_video_playback.py TestEnduranceVideoPlayback.test_endurance_video_playback | JavascriptException: JavascriptException: TypeError: this.app is null
stacktrace:
        @app://system.gaiamobile.org/js/app_transition_controller.js, line 179

Traceback (most recent call last):
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/marionette_test.py", line 171, in run
    testMethod()
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/internal/testbox/sanity/test_video_playback.py", line 25, in test_endurance_video_playback
    self.drive(test=self.video_playback, app='video')
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/runner/mixins/endurance.py", line 92, in drive
    self.test_method()
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/internal/testbox/sanity/test_video_playback.py", line 32, in video_playback
    self.app = self.apps.launch('Video')
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/gaia/tests/python/gaia-ui-tests/gaiatest/gaia_test.py", line 65, in launch
    result = self.marionette.execute_async_script("GaiaApps.launchWithName('%s')" % name, script_timeout=launch_timeout)
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/marionette.py", line 1251, in execute_async_script
    filename=os.path.basename(frame[0]))
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/decorators.py", line 35, in _
    return func(*args, **kwargs)
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/marionette.py", line 638, in _send_message
    self._handle_error(response)
  File "/local/mnt/workspace/vasantha/softwares/wtp-116/out/host/marionette/marionette_auto_venv/local/lib/python2.7/site-packages/marionette/marionette.py", line 686, in _handle_error
    raise errors.JavascriptException(message=message, status=status, stacktrace=stacktrace)
Whiteboard: [CR 744204] → [caf priority: p2][CR 744204]
Whiteboard: [caf priority: p2][CR 744204] → [caf priority: p1][CR 744204]
NI :alive/:timdream here to help, also cc'ing Hema/:djf to see if they have any more ideas here.
Flags: needinfo?(timdream)
Flags: needinfo?(alive)
blocking-b2g: 2.1? → 2.1+
Assignee: nobody → alive
Flags: needinfo?(alive)
Not sure how to run the test yet, does this work for you?
Attachment #8513141 - Flags: feedback?(vasanth)
I thought this is a dup but Alive already respond.
Flags: needinfo?(timdream)
(In reply to Alive Kuo [:alive][NEEDINFO!] from comment #2)
> Created attachment 8513141 [details] [review]
> https://github.com/mozilla-b2g/gaia/pull/25590
> 
> Not sure how to run the test yet, does this work for you?

I will run the test. 
Will update in 1 or 2 days (Goal: 60 hours) if I see any other issue with this fix.
Flags: needinfo?(vasanth)
Comment on attachment 8513141 [details] [review]
https://github.com/mozilla-b2g/gaia/pull/25590

We are able to run video stability without this issue for more than 60 hours.
Flags: needinfo?(vasanth)
Attachment #8513141 - Flags: feedback?(vasanth) → feedback+
I am going to fire a new bug to track all null check issue in appWindow subcomponents.
Attachment #8514914 - Flags: review?(timdream)
Attachment #8514914 - Flags: review?(timdream) → review+
https://github.com/mozilla-b2g/gaia/commit/ab50579edb24d4e69b1a172fd221daad8196980a
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8514914 [details] [review]
https://github.com/mozilla-b2g/gaia/pull/25694

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
Not regression
[User impact] if declined:
Stability test cannot be processed
[Testing completed]:
Tbpl is green
[Risk to taking this patch] (and alternatives if risky):
No, one line fix
[String changes made]:
No
Attachment #8514914 - Flags: approval-gaia-v2.1?
Attachment #8514914 - Flags: approval-gaia-v2.1? → approval-gaia-v2.1+
Unable to verify at this location as this issue involves an automated test.
QA Whiteboard: [QAnalyst-Triage?][QAnalyst-verify-]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?][QAnalyst-verify-] → [QAnalyst-Triage+][QAnalyst-verify-]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: