Closed Bug 931930 Opened 6 years ago Closed 6 years ago

Intermittent test_geolocation_reset_accuracy_wrap.js | Test timed out

Categories

(Core :: DOM: Geolocation, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla28
blocking-b2g koi+
Tracking Status
firefox26 --- wontfix
firefox27 --- unaffected
firefox28 --- unaffected
firefox-esr24 --- unaffected
b2g-v1.2 --- fixed

People

(Reporter: philor, Assigned: jdm)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

I remember there being some reason why I was reluctant to push this test full of timeouts to aurora, what could it have been? Oh, yeah, the way it's full of timeouts!

https://tbpl.mozilla.org/php/getParsedLog.php?id=29784652&tree=Mozilla-Aurora
Ubuntu ASAN VM 12.04 x64 mozilla-aurora opt test xpcshell on 2013-10-28 09:40:38 PDT for push 0fcff6f948f6
slave: tst-linux64-ec2-332

10:25:55     INFO -  Retrying tests that failed when run in parallel.
10:25:55     INFO -  TEST-INFO | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | running test ...
10:30:55  WARNING -  TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | Test timed out
10:30:55     INFO -  Can't trigger Breakpad, just killing process
10:30:55  WARNING -  TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | test failed (with xpcshell return code: -9), see following log:
10:30:55     INFO -  >>>>>>>
10:30:55     INFO -  TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1)
10:30:55     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test run in child pending (2)
10:30:55     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test MAIN run_test finished (2)
10:30:55     INFO -  parent: TEST-INFO | (xpcshell/head.js) | running event loop
10:30:55     INFO -  Xlib:  extension "RANDR" missing on display ":0".
10:30:55     INFO -  child: CHILD-TEST-STARTED
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1)
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | test pending (2)
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | test MAIN run_test finished (2)
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | running event loop
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | test finished (1)
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | exiting test
10:30:55     INFO -  child: TEST-INFO | (xpcshell/head.js) | No (+ 0) checks actually run
10:30:55     INFO -  child: CHILD-TEST-COMPLETED
10:30:55     INFO -  parent: TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | [check_results : 65] true == true
10:30:55     INFO -  parent: TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | [check_results : 67] false == false
10:30:55     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test finished (1)
10:30:55     INFO -  parent: TEST-INFO | (xpcshell/head.js) | exiting test
10:30:55     INFO -  <<<<<<<


https://tbpl.mozilla.org/php/getParsedLog.php?id=29785682&tree=Mozilla-Aurora
Ubuntu ASAN VM 12.04 x64 mozilla-aurora opt test xpcshell on 2013-10-28 10:00:24 PDT for push dba809d7ee66
slave: tst-linux64-ec2-034

10:44:37     INFO -  Retrying tests that failed when run in parallel.
10:44:37     INFO -  TEST-INFO | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | running test ...
10:49:37  WARNING -  TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | Test timed out
10:49:37     INFO -  Can't trigger Breakpad, just killing process
10:49:37  WARNING -  TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | test failed (with xpcshell return code: -9), see following log:
10:49:37     INFO -  >>>>>>>
10:49:37     INFO -  TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1)
10:49:37     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test run in child pending (2)
10:49:37     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test MAIN run_test finished (2)
10:49:37     INFO -  parent: TEST-INFO | (xpcshell/head.js) | running event loop
10:49:37     INFO -  Xlib:  extension "RANDR" missing on display ":0".
10:49:37     INFO -  child: CHILD-TEST-STARTED
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1)
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | test pending (2)
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | test MAIN run_test finished (2)
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | running event loop
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | test finished (1)
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | exiting test
10:49:37     INFO -  child: TEST-INFO | (xpcshell/head.js) | No (+ 0) checks actually run
10:49:37     INFO -  child: CHILD-TEST-COMPLETED
10:49:37     INFO -  parent: TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | [check_results : 65] true == true
10:49:37     INFO -  parent: TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/dom/tests/unit/test_geolocation_reset_accuracy_wrap.js | [check_results : 67] false == false
10:49:37     INFO -  parent: TEST-INFO | (xpcshell/head.js) | test finished (1)
10:49:37     INFO -  parent: TEST-INFO | (xpcshell/head.js) | exiting test
10:49:37     INFO -  <<<<<<<
I'm super confused by what's triggering the timeout, since both the child test and the parent one appear to be finishing.
I'm crossing my fingers that bug 934066 would address this too.
Depends on: 934066
Still hitting this with bug 934066 landed on beta :(
Assignee: nobody → josh
Trying the patch against beta this time: https://tbpl.mozilla.org/?tree=Try&rev=47e7dc306474
We're timing out when shutting down the QuotaManager (in particular, TransactionThreadPool::Shutdown). Curiouser and curiouser.
Let's see if https://tbpl.mozilla.org/?tree=Try&rev=950fd9b401fd makes any difference.
Nailed it: https://tbpl.mozilla.org/?tree=Try&rev=7747a8b664ac

The members of PositionOption are uninitialized when created in the chrome process. This could have serious effects on b2g, so this should land ASAP. The effects include overenthusiastic timer creation leading to inflated power consumption and unexpected geolocation errors.
blocking-b2g: --- → 1.3?
Since this test failure hits b2g26 as well (v1.2), shouldn't this be blocking koi?
blocking-b2g: 1.3? → koi?
Attachment #8338847 - Flags: review?(doug.turner) → review+
https://hg.mozilla.org/mozilla-central/rev/a7db5760c6cf
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Please request approval for Aurora/Beta ASAP :)
Further investigation shows that this only affects Beta and b2g. All of this could have been avoided if we had used the PositionOptionsInitializer struct instead of PositionOptions, but newer versions of Gecko rectify the footgun.
Comment on attachment 8338847 [details] [diff] [review]
Initialize all members of PositionOptions when creating it by hand in the chrome process.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 832411
User impact if declined: Sheriff unhappiness.
Testing completed (on m-c, etc.): Many try retriggers, automated tests, manual inspection.
Risk to taking this patch (and alternatives if risky): Zero risk.
String or IDL/UUID changes made by this patch: None
Attachment #8338847 - Flags: approval-mozilla-beta?
FWIW, I would suggest that we either land this on both Aurora and Beta or only on b2g26. I'd be OK with the latter, FWIW.
Not going to block because it doesn't have clear user impact. However, we should take this on an approval. I think a beta approval means this lands on b2g26 as well, but Ryan will be able to confirm that.
blocking-b2g: koi? → -
Comment 42 makes it sound like there are clear user-facing issues. Also, it doesn't sound like we really want to land this on beta at this point. Please reconsider the blocking status.
Flags: needinfo?(jsmith)
(In reply to Ryan VanderMeulen [:RyanVM UTC-5][Back 2-Dec] from comment #53)
> Comment 42 makes it sound like there are clear user-facing issues. Also, it
> doesn't sound like we really want to land this on beta at this point. Please
> reconsider the blocking status.

If we aren't considering landing this on beta at this point, then why do we need this on b2g26?

Josh - Can you give more details on impact?
Flags: needinfo?(jsmith) → needinfo?(josh)
This is a b2g-only issue that shows up in IPC tests; we would only land on beta if it would make the sheriff's happier. The big problem here is that the geolocation code makes decisions based on uninitialized memory. Assuming that there's an equal probably of any possible value appearing in the memory location being read, any time a website uses WatchPosition we have a 50% chance that we end up continuously spawning timers without limit, which could severely impact battery life as well as overall performance. There's also a range of values which could cause us to spawn a new timer every second or less; for larger values, it's probably less of a serious concern.
Flags: needinfo?(josh)
Okay - given the power consumption risk, I'll move this back to koi+ then.
blocking-b2g: - → koi+
Comment on attachment 8338847 [details] [diff] [review]
Initialize all members of PositionOptions when creating it by hand in the chrome process.

This doesn't affect desktop Firefox and Fx26 is nearly finished on m-b anyway, so let's just land this on b2g26 and be done with it :)
Attachment #8338847 - Flags: approval-mozilla-beta?
You need to log in before you can comment on or make changes to this bug.