Closed Bug 1589568 Opened 6 years ago Closed 6 years ago

Intermittent tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Test timed out -

Categories

(Core :: Gecko Profiler, defect, P5)

defect

Tracking

()

RESOLVED INVALID

People

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

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell unknown])

Attachments

(2 files)

Filed by: dvarga [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=271816975&repo=autoland
Full log: https://queue.taskcluster.net/v1/task/VfQaCoy7STiOIGc_V12wVQ/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://queue.taskcluster.net/v1/task/VfQaCoy7STiOIGc_V12wVQ/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2019-10-18T03:53:10.464Z] 03:53:10     INFO - TEST-PASS | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | The profiler is not currently active - true == true - 
[task 2019-10-18T03:53:10.464Z] 03:53:10     INFO - Buffered messages logged at 03:50:41
[task 2019-10-18T03:53:10.464Z] 03:53:10     INFO - Wait 100ms so that the tab finishes executing.
[task 2019-10-18T03:53:10.464Z] 03:53:10     INFO - Check that some PreferenceRead profile markers were generated when the feature is enabled.
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - Buffered messages finished
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Test timed out - 
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - GECKO(1159) | MEMORY STAT | vsize 3486MB | residentFast 791MB | heapAllocated 300MB
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - TEST-OK | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | took 155915ms
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Found a tab after previous test timed out: http://example.com/browser/tools/profiler/tests/browser/fixed_height.html - 
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - checking window state
[task 2019-10-18T03:53:10.465Z] 03:53:10     INFO - GECKO(1159) | [Parent 1159, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/worker/workspace/build/src/dom/base/nsFrameLoader.cpp, line 673
[task 2019-10-18T03:53:10.466Z] 03:53:10     INFO - GECKO(1159) | ++DOMWINDOW == 11 (0x7f81646a7400) [pid = 1159] [serial = 13] [outer = 0x7f8173296e20]
[task 2019-10-18T03:53:10.466Z] 03:53:10     INFO - GECKO(1159) | ++DOMWINDOW == 12 (0x7f81652d1400) [pid = 1159] [serial = 14] [outer = 0x7f8173296e20]
[task 2019-10-18T03:53:20.091Z] 03:53:20     INFO - GECKO(1159) | WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"ShutdownLeaks: Wait for tabs to finish closing","state":"(none)","filename":"chrome://mochikit/content/browser-test.js","lineNumber":891,"stack":["chrome://mochikit/content/browser-test.js:nextTest/<:891","chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:805"]}] Barrier: ShutdownLeaks: Wait for cleanup to be finished before checking for leaks
[task 2019-10-18T03:53:23.125Z] 03:53:23     INFO - GECKO(1159) | ++DOCSHELL 0x7f0640861800 == 1 [pid = 1481] [id = {1193b5f2-bca4-4776-9512-6fad2e224756}]
[task 2019-10-18T03:53:23.528Z] 03:53:23     INFO - GECKO(1159) | ++DOMWINDOW == 1 (0x7f0641226f20) [pid = 1481] [serial = 1] [outer = (nil)]
[task 2019-10-18T03:53:35.179Z] 03:53:35     INFO - GECKO(1159) | --DOCSHELL 0x7f2f7e969800 == 0 [pid = 1414] [id = {7f19810f-831c-4298-8ac5-1225a31b1a04}] [url = about:blank]
[task 2019-10-18T03:53:35.296Z] 03:53:35     INFO - GECKO(1159) | --DOCSHELL 0x7f8713d60000 == 0 [pid = 1455] [id = {d72f4953-1a43-46fc-81ba-62e74556f3ba}] [url = http://example.com/browser/tools/profiler/tests/browser/fixed_height.html]
[task 2019-10-18T03:53:35.401Z] 03:53:35     INFO - GECKO(1159) | --DOMWINDOW == 1 (0x7f2f7f35d000) [pid = 1414] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2019-10-18T03:53:35.403Z] 03:53:35     INFO - GECKO(1159) | --DOMWINDOW == 0 (0x7f2f904c2f20) [pid = 1414] [serial = 1] [outer = (nil)] [url = about:blank]
[task 2019-10-18T03:53:35.519Z] 03:53:35     INFO - GECKO(1159) | --DOMWINDOW == 1 (0x7f8713d2cf20) [pid = 1455] [serial = 1] [outer = (nil)] [url = http://example.com/browser/tools/profiler/tests/browser/fixed_height.html]
[task 2019-10-18T03:53:35.528Z] 03:53:35     INFO - GECKO(1159) | --DOMWINDOW == 0 (0x7f87147c5800) [pid = 1455] [serial = 3] [outer = (nil)] [url = http://example.com/browser/tools/profiler/tests/browser/fixed_height.html]
[task 2019-10-18T03:53:36.216Z] 03:53:36     INFO - GECKO(1159) | --DOCSHELL 0x7f2f06f21800 == 0 [pid = 1234] [id = {0fb5d6ea-6db1-455b-bddb-d4f00efb0ad0}] [url = about:newtab]
[task 2019-10-18T03:53:36.217Z] 03:53:36     INFO - GECKO(1159) | --DOMWINDOW == 1 (0x7f2f06f952e0) [pid = 1234] [serial = 4] [outer = (nil)] [url = about:newtab]
[task 2019-10-18T03:53:36.223Z] 03:53:36     INFO - GECKO(1159) | --DOMWINDOW == 0 (0x7f2f06f45c00) [pid = 1234] [serial = 6] [outer = (nil)] [url = about:newtab]
[task 2019-10-18T03:53:43.520Z] 03:53:43     INFO - GECKO(1159) | --DOMWINDOW == 11 (0x7f81646a7400) [pid = 1159] [serial = 13] [outer = (nil)] [url = about:blank]
[task 2019-10-18T03:53:43.520Z] 03:53:43     INFO - GECKO(1159) | --DOMWINDOW == 10 (0x7f816b4d5400) [pid = 1159] [serial = 7] [outer = (nil)] [url = about:blank]
[task 2019-10-18T03:53:45.732Z] 03:53:45     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1387
[task 2019-10-18T03:53:45.888Z] 03:53:45     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1414
[task 2019-10-18T03:53:45.989Z] 03:53:45     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1353
[task 2019-10-18T03:53:46.090Z] 03:53:46     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1286
[task 2019-10-18T03:53:46.106Z] 03:53:46     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1315
[task 2019-10-18T03:53:46.202Z] 03:53:46     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1455
[task 2019-10-18T03:53:46.378Z] 03:53:46     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1234
[task 2019-10-18T03:53:46.748Z] 03:53:46     INFO - GECKO(1159) | ++DOMWINDOW == 2 (0x7f0641354000) [pid = 1481] [serial = 2] [outer = 0x7f0641226f20]
[task 2019-10-18T03:53:48.213Z] 03:53:48     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1212
[task 2019-10-18T03:53:50.668Z] 03:53:50     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1481
[task 2019-10-18T03:55:57.941Z] 03:55:57     INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-18T03:55:57.941Z] 03:55:57     INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Uncaught exception received from previously timed out test - at chrome://mochitests/content/browser/tools/profiler/tests/browser/browser_test_feature_ipcmessages.js:49 - TypeError: Assert is null
[task 2019-10-18T03:55:57.941Z] 03:55:57     INFO - Stack trace:
[task 2019-10-18T03:55:57.941Z] 03:55:57     INFO - test_profile_feature_ipcmessges/<@chrome://mochitests/content/browser/tools/profiler/tests/browser/browser_test_feature_ipcmessages.js:49:7
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - async*withNewTab@resource://testing-common/BrowserTestUtils.jsm:135:24
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - async*test_profile_feature_ipcmessges@chrome://mochitests/content/browser/tools/profiler/tests/browser/browser_test_feature_ipcmessages.js:30:26
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - Tester_execTest/<@chrome://mochikit/content/browser-test.js:1067:34
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1102:11
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:924:14
[task 2019-10-18T03:55:57.942Z] 03:55:57     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:805:67
[task 2019-10-18T03:56:03.984Z] 03:56:03     INFO - GECKO(1159) | Completed ShutdownLeaks collections in process 1159

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Gecko Profiler
Product: Firefox → Core
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

This bug has 35 failures in the last 7 days, on windows10-64 platform, asan build type.

Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=298101272&repo=autoland&lineNumber=5738

Log snippet:
[task 2020-04-17T14:43:58.602Z] 14:43:58 INFO - TEST-PASS | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | IPC profile markers were recorded for the content process' main thread when the IPCMessages feature was turned on. - 316 > 0 -
[task 2020-04-17T14:43:58.602Z] 14:43:58 INFO - Now open a tab without profiling IPC messages.
[task 2020-04-17T14:43:58.602Z] 14:43:58 INFO - Buffered messages logged at 14:30:28
[task 2020-04-17T14:43:58.602Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 9
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Buffered messages logged at 14:31:58
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 8
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Buffered messages logged at 14:33:28
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 7
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Buffered messages logged at 14:34:58
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 6
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Buffered messages logged at 14:36:28
[task 2020-04-17T14:43:58.603Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 5
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Buffered messages logged at 14:37:58
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 4
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Buffered messages logged at 14:39:28
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 3
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Buffered messages logged at 14:40:58
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 2
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Buffered messages logged at 14:42:28
[task 2020-04-17T14:43:58.604Z] 14:43:58 INFO - Longer timeout required, waiting longer... Remaining timeouts: 1
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - Buffered messages finished
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Test timed out -
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - GECKO(676) | MEMORY STAT heapAllocated not supported in this build configuration.
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - GECKO(676) | MEMORY STAT | vsize 19406055MB | vsizeMaxContiguous 66751250MB | residentFast 1503MB
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - TEST-OK | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | took 900326ms
[task 2020-04-17T14:43:58.605Z] 14:43:58 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-04-17T14:43:58.606Z] 14:43:58 INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Found a tab after previous test timed out: about:blank -
[task 2020-04-17T14:43:58.606Z] 14:43:58 INFO - checking window state

Gerald, can you please take a look at this? Thank you

Flags: needinfo?(gsquelart)
Whiteboard: [stockwell needswork:owner]

There are 57 total failures in the last 7 days on windows10-64 asan

Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=298936578&repo=autoland&lineNumber=10052

[task 2020-04-22T23:53:27.684Z] 23:53:27 INFO - TEST-START | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js
[task 2020-04-23T00:08:15.273Z] 00:08:15 INFO - JavaScript error: resource://gre/modules/PlacesExpiration.jsm, line 894: TypeError: can't access property "createAsyncStatement", this._db is undefined
[task 2020-04-23T00:08:27.807Z] 00:08:27 INFO - TEST-INFO | started process screenshot
[task 2020-04-23T00:08:27.999Z] 00:08:27 INFO - TEST-INFO | screenshot: exit 0
[task 2020-04-23T00:08:28.000Z] 00:08:27 INFO - Buffered messages logged at 23:53:27
[task 2020-04-23T00:08:28.000Z] 00:08:28 INFO - Entering test bound test_profile_feature_ipcmessges
[task 2020-04-23T00:08:28.000Z] 00:08:28 INFO - TEST-PASS | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | The profiler is not currently active - true == true -
[task 2020-04-23T00:08:28.001Z] 00:08:28 INFO - Open a tab while profiling IPC messages.
[task 2020-04-23T00:08:28.001Z] 00:08:28 INFO - Buffered messages logged at 23:54:57
[task 2020-04-23T00:08:28.002Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 9
[task 2020-04-23T00:08:28.002Z] 00:08:28 INFO - Buffered messages logged at 23:56:27
[task 2020-04-23T00:08:28.003Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 8
[task 2020-04-23T00:08:28.003Z] 00:08:28 INFO - Buffered messages logged at 23:57:47
[task 2020-04-23T00:08:28.004Z] 00:08:28 INFO - Console message: [JavaScript Error: "Unknown Collection "main/messaging-experiments"" {file: "resource://services-settings/RemoteSettingsClient.jsm" line: 137}]
[task 2020-04-23T00:08:28.004Z] 00:08:28 INFO - UnknownCollectionError@resource://services-settings/RemoteSettingsClient.jsm:137:5
[task 2020-04-23T00:08:28.004Z] 00:08:28 INFO - sync@resource://services-settings/RemoteSettingsClient.jsm:373:13
[task 2020-04-23T00:08:28.005Z] 00:08:28 INFO - asyncget@resource://services-settings/RemoteSettingsClient.jsm:315:22
[task 2020-04-23T00:08:28.005Z] 00:08:28 INFO - async
updateRecipes@resource://messaging-system/lib/RemoteSettingsExperimentLoader.jsm:141:49
[task 2020-04-23T00:08:28.005Z] 00:08:28 INFO - setTimer/<@resource://messaging-system/lib/RemoteSettingsExperimentLoader.jsm:188:18
[task 2020-04-23T00:08:28.005Z] 00:08:28 INFO - TM_notify/</<@resource://gre/modules/UpdateTimerManager.jsm:257:36
[task 2020-04-23T00:08:28.005Z] 00:08:28 INFO - ChromeUtils::IdleDispatch handler*TM_notify/<@resource://gre/modules/UpdateTimerManager.jsm:255:25
[task 2020-04-23T00:08:28.006Z] 00:08:28 INFO - TM_notify@resource://gre/modules/UpdateTimerManager.jsm:290:7
[task 2020-04-23T00:08:28.006Z] 00:08:28 INFO -
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Buffered messages logged at 23:57:57
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 7
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Buffered messages logged at 23:59:27
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 6
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Buffered messages logged at 00:00:57
[task 2020-04-23T00:08:28.007Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 5
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Buffered messages logged at 00:02:27
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 4
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Buffered messages logged at 00:03:57
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 3
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Buffered messages logged at 00:05:27
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 2
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Buffered messages logged at 00:06:57
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Longer timeout required, waiting longer... Remaining timeouts: 1
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - Buffered messages finished
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Test timed out -
[task 2020-04-23T00:08:28.008Z] 00:08:28 INFO - GECKO(11328) | MEMORY STAT heapAllocated not supported in this build configuration.
[task 2020-04-23T00:08:28.009Z] 00:08:28 INFO - GECKO(11328) | MEMORY STAT | vsize 19406052MB | vsizeMaxContiguous 69104525MB | residentFast 1502MB
[task 2020-04-23T00:08:28.009Z] 00:08:28 INFO - TEST-OK | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | took 900304ms
[task 2020-04-23T00:08:28.009Z] 00:08:28 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-04-23T00:08:28.009Z] 00:08:28 INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Found a tab after previous test timed out: about:blank -

Gerald are there updates here?

Flags: needinfo?(gsquelart)
Flags: needinfo?(gsquelart)

The relevant error from the initial comment seems to be:

[task 2019-10-18T03:55:57.941Z] 03:55:57 INFO - TEST-UNEXPECTED-FAIL | tools/profiler/tests/browser/browser_test_feature_ipcmessages.js | Uncaught exception received from previously timed out test - at chrome://mochitests/content/browser/tools/profiler/tests/browser/browser_test_feature_ipcmessages.js:49 - TypeError: Assert is null

However we don't see this in the recent logs I looked at, so I think this is a red herring.
Instead we usually see a timeout for the second part of the test, where we restart the profiler with different features. I don't know why because we don't have many more error logs.

There's an error about Places:
[task 2020-04-25T12:00:37.947Z] 12:00:37 INFO - JavaScript error: resource://gre/modules/PlacesExpiration.jsm, line 894: TypeError: can't access property "createAsyncStatement", this._db is undefined
It doesn't seem related to our problem, I think, but it triggers a screenshot, and as a result we don't have a screenshot for our timeout sadly.

Something else I realized: when one test fails, the profiler isn't stopped, which has an impact on the following tests. Should we register a cleanup task to always stop it at the end of a test?

NI Greg who might have more ideas.
Also NI Marco for the Places issue: it would help us tremendously if this could be fixed!

Flags: needinfo?(mak)
Flags: needinfo?(gtatum)
Flags: needinfo?(gsquelart)

Putting something to stop the profiler would probably be good, although I'm not sure the desired behavior on having 1 failing test in the suite, that should probably stop the rest of the run, right? So it may not matter that it doesn't clean up after itself.

As far as the error in the log, this is a bug happening not in our code, triggering a failure in our test because it was executed next. At least, that's how I read it.

Flags: needinfo?(gtatum)

I suspect something is initializing Places, that initializes PlacesExpiration, that starts up its timer https://searchfox.org/mozilla-central/rev/7fd1c1c34923ece7ad8c822bee062dd0491d64dc/toolkit/components/places/PlacesExpiration.jsm#484
When the timer notifies, it tries to use this._db, because it's the first consumer it will try to start the lazy getter. Likely at this point shutdown has begun and the getter fails and returns null?
I'd suggest to check this._shuttingDown in PEX_timerCallback before invoking this._getPagesStats and see what happens.

Flags: needinfo?(mak)

Julien, any updates here? This is now on the disabled recommended list with 39 total failures in the last 7 days https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2020-04-27&endday=2020-05-04&tree=trunk&bug=1589568
and 161 total failures in the last 30 days: https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2020-04-04&endday=2020-05-04&tree=trunk&bug=1589568
It fails only windows10-64 asan, can we disable on that platform until a fix is in place?

Flags: needinfo?(felash)
Whiteboard: [stockwell disable-recommended] → [stockwell needswork:owner]

Putting something to stop the profiler would probably be good, although I'm not sure the desired behavior on having 1 failing test in the suite, that should probably stop the rest of the run, right? So it may not matter that it doesn't clean up after itself.

That's not what happens, other test files are run and they all fail because the profiler is still running. It's not a big deal by itself (the failure cause is clear) but it's not so clean :-)

Hey Cosmin, I'll invest some time today. I'd rather not disable the test for now. Thanks for pinging me!

Flags: needinfo?(felash)
Flags: needinfo?(felash)

(In reply to Marco Bonardo [:mak] from comment #20)

I suspect something is initializing Places, that initializes PlacesExpiration, that starts up its timer https://searchfox.org/mozilla-central/rev/7fd1c1c34923ece7ad8c822bee062dd0491d64dc/toolkit/components/places/PlacesExpiration.jsm#484
When the timer notifies, it tries to use this._db, because it's the first consumer it will try to start the lazy getter. Likely at this point shutdown has begun and the getter fails and returns null?
I'd suggest to check this._shuttingDown in PEX_timerCallback before invoking this._getPagesStats and see what happens.

Ah, it would be surprising because the timer is canceled in https://searchfox.org/mozilla-central/rev/7fd1c1c34923ece7ad8c822bee062dd0491d64dc/toolkit/components/places/PlacesExpiration.jsm#499-502 though.
Oh, I have an idea: the timer is created in https://searchfox.org/mozilla-central/rev/7fd1c1c34923ece7ad8c822bee062dd0491d64dc/toolkit/components/places/PlacesExpiration.jsm#479-485
This means it's possible that we create the timer after we try to cancel it, if shutting down happens right away.

But here I doubt this is the reason: it appears after a few minutes after the start of the test...

Also this is surprising the problem appears only with our test :-)

Still looking..

(In reply to Julien Wajsberg [:julienw] from comment #24)

Ah, it would be surprising because the timer is canceled in https://searchfox.org/mozilla-central/rev/7fd1c1c34923ece7ad8c822bee062dd0491d64dc/toolkit/components/places/PlacesExpiration.jsm#499-502 though.

That's a good point. I pointed that out because in the past we had other cases of services running things after shutdown started.

But here I doubt this is the reason: it appears after a few minutes after the start of the test...

Places is initialized lazily at the first use (that maybe a visit or some other UI trying to figure out something about history), on init it fires a notification that initializes other components like expiration, so it's not necessarily impossible.

The other possibility would be that we just can't open the db, but that would mean either the profile folder is non accessible or somehow broken... that sounds less likely, but of course not impossible.

Assignee: nobody → felash

Thanks Marco, I filed Bug 1635388 about that, with some more information about my latest thoughts after looking at the code.

I still think this is orthogonal to this problem, that's why I've opened another bug -- but I'm not sure...

Also I couldn't make it fail in the try, even with a lot of repeats. So I pushed a patch adding some more logs to the test, and I guess we'll see better when more intermittents come.

Assignee: felash → nobody
Flags: needinfo?(felash)
Keywords: leave-open
Assignee: nobody → felash
Flags: needinfo?(felash)
Pushed by jwajsberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/08110af8b1d4 Always stop the profiler after browser tests r=gregtatum https://hg.mozilla.org/integration/autoland/rev/8fd0ee723ae1 Add some more logs in an intermittent profiler test r=gregtatum

From the new logs I see the problem is with opening a new tab. Not sure what's happening :/
We still see the error with Places (including for the next test that seems to times out too) but I don't know if that's a red herring or a real clue.

This became very quiet. Recent failures are only in ESR78, and they're very few, so I'm inclined to think this has been fixed.

Tentatively closing this.

Status: REOPENED → RESOLVED
Closed: 6 years ago → 6 years ago
Flags: needinfo?(felash)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: