Closed Bug 1658084 Opened 4 years ago Closed 4 years ago

Perma testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL

Categories

(Testing :: Mochitest, defect, P1)

defect

Tracking

(firefox-esr78 unaffected, firefox82 wontfix, firefox83+ wontfix, firefox84+ fixed)

RESOLVED FIXED
84 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox82 --- wontfix
firefox83 + wontfix
firefox84 + fixed

People

(Reporter: intermittent-bug-filer, Assigned: nika)

References

(Regression)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Filed by: apavel [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=312458006&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/c0eDAA0kS5apdB6XhDXq9Q/runs/0/artifacts/public/logs/live_backing.log


task 2020-08-08T00:12:09.777Z] 2:10.03 /builds/worker/checkouts/gecko/testing/mochitest/tests/python/test_basic_mochitest_plain.py
[task 2020-08-08T00:12:09.778Z] 2:10.03 ============================= test session starts ==============================
[task 2020-08-08T00:12:09.778Z] 2:10.03 platform linux2 -- Python 2.7.17, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/gecko-QUm8IANb-2/bin/python
[task 2020-08-08T00:12:09.778Z] 2:10.03 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2020-08-08T00:12:09.778Z] 2:10.03 collecting ... collected 6 items
[task 2020-08-08T00:12:09.779Z] 2:10.03
[task 2020-08-08T00:12:09.779Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_pass PASSED
[task 2020-08-08T00:12:09.779Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_fail PASSED
[task 2020-08-08T00:12:09.779Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_crash PASSED
[task 2020-08-08T00:12:09.779Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_asan SKIPPED
[task 2020-08-08T00:12:09.780Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_assertion PASSED
[task 2020-08-08T00:12:09.780Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL
[task 2020-08-08T00:12:09.781Z] 2:10.03
[task 2020-08-08T00:12:09.781Z] 2:10.03 =================================== FAILURES ===================================
[task 2020-08-08T00:12:09.782Z] 2:10.03 _______________________________ test_output_leak _______________________________
[task 2020-08-08T00:12:09.782Z] 2:10.03
[task 2020-08-08T00:12:09.782Z] 2:10.03 runtests = <function inner at 0x7fcc643447d0>
[task 2020-08-08T00:12:09.783Z] 2:10.03
[task 2020-08-08T00:12:09.783Z] 2:10.03 @pytest.mark.skip_mozinfo("!debug")
[task 2020-08-08T00:12:09.783Z] 2:10.03 def test_output_leak(runtests):
[task 2020-08-08T00:12:09.783Z] 2:10.03 status, lines = runtests('test_leak.html')
[task 2020-08-08T00:12:09.783Z] 2:10.03 # TODO: mochitest should return non-zero here
[task 2020-08-08T00:12:09.783Z] 2:10.03 assert status == 0
[task 2020-08-08T00:12:09.783Z] 2:10.03
[task 2020-08-08T00:12:09.783Z] 2:10.03 tbpl_status, log_level, summary = get_mozharness_status(lines, status)
[task 2020-08-08T00:12:09.784Z] 2:10.03 > assert tbpl_status == TBPL_WARNING
[task 2020-08-08T00:12:09.784Z] 2:10.03 E AssertionError: assert 'SUCCESS' == 'WARNING'
[task 2020-08-08T00:12:09.784Z] 2:10.03 E - SUCCESS
[task 2020-08-08T00:12:09.784Z] 2:10.03 E + WARNING
[task 2020-08-08T00:12:09.784Z] 2:10.03
[task 2020-08-08T00:12:09.784Z] 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py:110: AssertionError

Only bug 1657363 is a reasonable candidate as regressor. The other changesets enable a test our only touch the devtools folder.

Flags: needinfo?(emilio)
Regressed by: 1657363

This seems some kind of mochitest/reftest log parser unit test, which somehow is no longer detected a leak. I have zero idea how my patch could've possibly caused this.

Bug 1657650 and bug 1657948 seem more related.

Flags: needinfo?(emilio) → needinfo?(ahal)

This task only runs when certain files are changed, so if it's truly intermittent it could have been regressed awhile back. I'll take a look tomorrow.

Due to recent events, this has fallen down the list of priorities a little :/

Flags: needinfo?(ahal)
No longer regressed by: 1657363
Summary: Intermittent 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL → Perma 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL

The bisection does look like this started happening with bug 1657363:
https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=linux%2C18.04%2Cx64%2Cdebug%2Cpython%2C2%2Cunit%2Ctests%2Csource-test-python-mochitest-harness-linux1804-64%2Fdebug%2Cmch&tochange=e5eb146b8ba12453a79126ff9b59b7fa965ec333&fromchange=80852dff4c7fb99a30c72de3fd2180b7983d87f1

However because of the build bustage, it could also have been one of:

Though those look even less relevant than bug 1657363. I don't think this is caused by any of these bugs though, I'd be surprised if the fix here isn't in the test itself.

Severity: normal → S2
Priority: P5 → P3

I backed out both bug 1642769 and bug 1653457 and pushed to try, but the task still failed. So that leads me to believe that bug 1657363 was indeed the start of the regression.

Note: I'm not suggesting that you are on the hook for fixing this :emilio, I agree that change looks unrelated and this is likely a test issue. Just adding the regression relationship back in for tracking purposes.

Regressed by: 1657363
Summary: Perma 2:10.03 testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL → Perma testing/mochitest/tests/python/test_basic_mochitest_plain.py::test_output_leak TEST-UNEXPECTED-FAIL
See Also: → 1674929

(In reply to Andrew Halberstadt [:ahal] from comment #12)

Note: I'm not suggesting that you are on the hook for fixing this :emilio, I agree that change looks unrelated and this is likely a test issue. Just adding the regression relationship back in for tracking purposes.

It looks like this was actually an issue. It seems like we haven't had leak checking on Linux for a few months. Nika happened upon a similar failure in this test, and did some investigation, and it looks like some printing changes added a new static initializer which broke leak checking.

Assignee: nobody → nika
Status: NEW → ASSIGNED
Blocks: 1674929
See Also: 1674929

[Tracking Requested - why for this release]: Leak checking is not working on Linux. We should backport it to the relevant branches. It looks like the regressing bug landed in 81.

Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2e6309c1cdbd
Avoid creating a mozilla::OffTheBooksMutex in a static initializer, r=emilio,mccr8

Changing the priority to p1 as the bug is tracked by a release manager for the current beta.
See What Do You Triage for more information

Priority: P3 → P1
Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/addf7bdc4c56
Avoid creating a mozilla::OffTheBooksMutex in a static initializer, r=emilio,mccr8
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch

Please nominate this for Beta approval when you get a chance.

Flags: needinfo?(nika)

Comment on attachment 9185378 [details]
Bug 1658084 - Avoid creating a mozilla::OffTheBooksMutex in a static initializer,

Beta/Release Uplift Approval Request

  • User impact if declined: Linux leak-check builds broken for content processes
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Fairly straightforward patch to fix major testing issues.

Does impact startup, but should be fairly consistent across devices.

  • String changes made/needed: None
Flags: needinfo?(nika)
Attachment #9185378 - Flags: approval-mozilla-beta?
Attachment #9185378 - Flags: approval-mozilla-beta? → approval-mozilla-release?

Comment on attachment 9185378 [details]
Bug 1658084 - Avoid creating a mozilla::OffTheBooksMutex in a static initializer,

Not essential for our release users and will be in our 84 beta next week, thanks.

Attachment #9185378 - Flags: approval-mozilla-release? → approval-mozilla-release-

The patch landed in nightly and beta is affected.
:nika, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(nika)

Comment on attachment 9185378 [details]
Bug 1658084 - Avoid creating a mozilla::OffTheBooksMutex in a static initializer,

Beta/Release Uplift Approval Request

  • User impact if declined: see comment 31
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky):
  • String changes made/needed:
Attachment #9185378 - Flags: approval-mozilla-beta?
Flags: needinfo?(nika)

Oh wait, I got confused.

Attachment #9185378 - Flags: approval-mozilla-beta?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: