Intermittent test_camera_fake_parameters.html | Set size ({height:2448, width:2448}), got size ({height:1836, width:3264})

RESOLVED FIXED in Firefox 39


5 years ago
4 years ago


(Reporter: RyanVM, Assigned: aosmond)



2.2 S11 (1may)
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(firefox38 wontfix, firefox39 fixed, firefox-esr31 unaffected, b2g-v2.2 fixed, b2g-master unaffected)



(1 attachment)

b2g_emulator_vm mozilla-inbound opt test mochitest-5 on 2014-09-18 17:15:13 PDT for push 1359e352a27d
slave: tst-linux64-spot-028

17:27:44     INFO -  184 INFO test: bug-1054803
17:27:44     INFO -  185 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | Extra test parameters 'picture-size-values=3264x1836,2448x2448,1836x3264'
17:27:44     INFO -  186 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | pictureSizes.length = 3
17:27:44     INFO -  187 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | found size ({height:3264, width:1836}) in pictureSizes
17:27:44     INFO -  188 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | found size ({height:1836, width:3264}) in pictureSizes
17:27:44     INFO -  189 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | found size ({height:2448, width:2448}) in pictureSizes
17:27:44     INFO -  190 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | Set size ({height:3264, width:1836}), got size ({height:3264, width:1836})
17:27:44     INFO -  191 INFO TEST-PASS | /tests/dom/camera/test/test_camera_fake_parameters.html | Set size ({height:1836, width:3264}), got size ({height:1836, width:3264})
17:27:44     INFO -  192 INFO TEST-UNEXPECTED-FAIL | /tests/dom/camera/test/test_camera_fake_parameters.html | Set size ({height:2448, width:2448}), got size ({height:1836, width:3264}) - expected PASS
17:27:44     INFO -  193 INFO TEST-OK | /tests/dom/camera/test/test_camera_fake_parameters.html | took 15445ms
I guess there is a race condition with the driver:
1) camera.setPictureSize is asynchronous and run first.
2) camera.getPictureSize is synchronous and run second.
3) 2 apparently may be completed before 1 is processed.

In some cases we might get an event indicating a state change which implies the parameter change was processed, but often we may be forced to rely upon a timeout period (or polling).

Perhaps the best solution is to check it immediately, if it fails, arm a timeout, wait 100ms, and try the check again and only fail the test if both the first and optional second tests fail.
Assignee: nobody → aosmond
Attachment #8595311 - Flags: review?(mhabicher)
Attachment #8595311 - Flags: review?(bugzilla) → review+
Comment on attachment 8595311 [details] [diff] [review]
bug1069725.patch, v1

NOTE: Please see to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 1054803
User impact if declined: None as this only changes a test case. Test case will continue to fail intermittently and nag on bugzilla.
Testing completed: Ran mochitests to ensure test case passes.
Risk to taking this patch (and alternatives if risky): Very low. Test case fails intermittently, at worst this will increase the frequency since the try shows it passes at least once. No change to the product so it cannot regress otherwise.
String or UUID changes made by this patch: N/A
Attachment #8595311 - Flags: approval-mozilla-b2g37?
Note this cannot land on inbound/mozilla-central first because the problem (and the code!) now only exists on the 2.2 branch. This was fixed on mozilla-central as part of a much larger change (bug 1062387) which would be preferable not to uplift.
Comment on attachment 8595311 [details] [diff] [review]
bug1069725.patch, v1

low risk, test only changes, approving to land.
Attachment #8595311 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Closed: 4 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S11 (1may)
You need to log in before you can comment on or make changes to this bug.