Closed Bug 1616052 Opened 4 years ago Closed 4 years ago

Add low-lever helpers for debugging and testing

Categories

(Firefox :: Remote Settings Client, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
Firefox 75
Tracking Status
firefox75 --- fixed

People

(Reporter: leplatrem, Assigned: leplatrem)

References

Details

Attachments

(1 file)

In order to streamline the implementation of performance test suites, we could add some helpers for basic operations like clear polling status, full reset, delete all attachments etc.

See https://github.com/mozilla-extensions/remote-settings-devtools/blob/79758d88e088cd03c9dc998ea64c06570096df82/extension/experiments/remotesettings/api.js

Pushed by mleplatre@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4d1cffb02095
Add low-level helpers to debug and test Remote Settings r=glasserc

Backed out changeset 4d1cffb02095 (Bug 1616052) for causing xpcshell failures at oolkit/components/url-classifier/tests/unit/test_features.js

Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=289572301&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=4d1cffb020950521ac61827caa78a57ac8c3886b

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=289576136&repo=autoland&lineNumber=2303

Backout link: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&revision=dfc0494de51c3a57eb0c7ac382a142b500abf699

[task 2020-02-19T20:34:42.706Z] 20:34:42     INFO -  TEST-START | toolkit/components/url-classifier/tests/unit/test_listmanager.js
[task 2020-02-19T20:34:44.208Z] 20:34:44     INFO -  TEST-PASS | toolkit/components/url-classifier/tests/unit/test_listmanager.js | took 1502ms
[task 2020-02-19T20:34:44.216Z] 20:34:44     INFO -  TEST-START | toolkit/components/url-classifier/tests/unit/test_features.js
[task 2020-02-19T20:34:44.657Z] 20:34:44  WARNING -  TEST-UNEXPECTED-FAIL | toolkit/components/url-classifier/tests/unit/test_features.js | xpcshell return code: -11
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  TEST-INFO took 429ms
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  >>>>>>>
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  PID 17959 | [17959, Main Thread] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/worker/workspace/build/src/toolkit/crashreporter/nsExceptionHandler.cpp, line 2943
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  PID 17959 | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  running event loop
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  PID 17959 | [17959, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/workspace/build/src/dom/media/CubebUtils.cpp, line 363
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  "CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties"
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  toolkit/components/url-classifier/tests/unit/test_features.js | Starting
[task 2020-02-19T20:34:44.658Z] 20:34:44     INFO -  (xpcshell/head.js) | test pending (2)
Flags: needinfo?(mathieu)

So, something in this patch seems to affect the tests of url-classifier in a weird way. Johan, by any chance, do you have an idea?

Also, I removed a line that was landed in another patch in the meantime. And I re-ran the XPCShell tests on try. I don't obtain the same error(s). They seem completely unrelated to Remote Settings:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1b575ac3c529c405bd47ca68f5c888013520fb13&selectedJob=289680237

Also, locally the tests pass with --verify, so I don't really know what to do here 🤷

Flags: needinfo?(mathieu) → needinfo?(jhofmann)

I don't really understand the try run you linked there, sorry. There's one error related to gcov and another which is test_osclientcerts_module.js. I'm not sure how to approach these, really.

For the one linked in comment 3, Baku, does that crash signature ring any bell with you? https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=289576136&repo=autoland&lineNumber=2402

Flags: needinfo?(jhofmann) → needinfo?(amarchesini)

We crash here: https://searchfox.org/mozilla-central/rev/5a10be606f2d76ef22f1f44565749490de991d35/storage/mozStorageService.cpp#740-755
It seems that this patch keeps an active connection when xpcom-shutdown-threads event is notified. We should terminate any storage connection before the shutdown.

Flags: needinfo?(amarchesini)

Thanks Baku for your help.

That is kind of confusing. Especially since the logs mention cookies.sqlite https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=289576136&repo=autoland&lineNumber=2386

I removed the connection closing (db.close() after importing the JSON dump) from this patch and left it to this one that has landed.
We started to see some intermittent failures related to connection closing and shutdown: Bug 1617011

I believe that the new version of the low-level helpers here should not affect any other component anymore. So I'll re-land it with the tiny change. As for the connection closing and shutdown issues, we'll investigate in Bug 1617011

Pushed by mleplatre@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/78353ef17d0d
Add low-level helpers to debug and test Remote Settings r=tarek,glasserc

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&searchStr=xpc&revision=78353ef17d0d2fe026d40c407f8afd224eda840a&selectedJob=289924918

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=289924918&repo=autoland

Backout link: https://hg.mozilla.org/integration/autoland/rev/7a16634abb489984a0ef3adff4fad18c2a58b4a9

[task 2020-02-21T17:44:30.598Z] 17:44:30  WARNING -  PROCESS-CRASH | toolkit/components/url-classifier/tests/unit/test_features.js | application crashed [@ mozilla::storage::Service::Observe(nsISupports*, char const*, char16_t const*)]
[task 2020-02-21T17:44:30.599Z] 17:44:30     INFO -  Mozilla crash reason: MOZ_CRASH()
[task 2020-02-21T17:44:30.599Z] 17:44:30     INFO -  Crash dump filename: c:\users\task_1582304212\appdata\local\temp\xpc-other-tayc8h\7800681f-ae44-43aa-a5de-001b20bbca66.dmp
[task 2020-02-21T17:44:30.600Z] 17:44:30     INFO -  Operating system: Windows NT
[task 2020-02-21T17:44:30.600Z] 17:44:30     INFO -                    10.0.17134
[task 2020-02-21T17:44:30.601Z] 17:44:30     INFO -  CPU: amd64
[task 2020-02-21T17:44:30.601Z] 17:44:30     INFO -       family 6 model 85 stepping 7
[task 2020-02-21T17:44:30.602Z] 17:44:30     INFO -       8 CPUs
[task 2020-02-21T17:44:30.603Z] 17:44:30     INFO -  GPU: UNKNOWN
[task 2020-02-21T17:44:30.603Z] 17:44:30     INFO -  Crash reason:  EXCEPTION_BREAKPOINT
[task 2020-02-21T17:44:30.604Z] 17:44:30     INFO -  Crash address: 0xddfa9108
[task 2020-02-21T17:44:30.604Z] 17:44:30     INFO -  Process uptime: 0 seconds
[task 2020-02-21T17:44:30.605Z] 17:44:30     INFO -  Thread 0 (crashed)
[task 2020-02-21T17:44:30.605Z] 17:44:30     INFO -   0  xul.dll!mozilla::storage::Service::Observe(nsISupports*, char const*, char16_t const*) [mozStorageService.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 752 + 0x0]
[task 2020-02-21T17:44:30.606Z] 17:44:30     INFO -      rax = 0x00007ff9e5469c86   rdx = 0x00007ffa1d8ea640
[task 2020-02-21T17:44:30.606Z] 17:44:30     INFO -      rcx = 0x00007ffa1491af20   rbx = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.607Z] 17:44:30     INFO -      rsi = 0x000000a0e91ff260   rdi = 0x0000000000000000
[task 2020-02-21T17:44:30.607Z] 17:44:30     INFO -      rbp = 0x0000000000000001   rsp = 0x000000a0e91ff230
[task 2020-02-21T17:44:30.608Z] 17:44:30     INFO -       r8 = 0x000000a0e91f9268    r9 = 0x00007ff9e5510608
[task 2020-02-21T17:44:30.608Z] 17:44:30     INFO -      r10 = 0x0000000000000000   r11 = 0x000000a0e91fa8b0
[task 2020-02-21T17:44:30.609Z] 17:44:30     INFO -      r12 = 0x000000a0e91ff260   r13 = 0x00007ff9e6f794b0
[task 2020-02-21T17:44:30.609Z] 17:44:30     INFO -      r14 = 0x000002860c8751c0   r15 = 0x000000a0e91ff268
[task 2020-02-21T17:44:30.610Z] 17:44:30     INFO -      rip = 0x00007ff9ddfa9108
[task 2020-02-21T17:44:30.610Z] 17:44:30     INFO -      Found by: given as instruction pointer in context
[task 2020-02-21T17:44:30.611Z] 17:44:30     INFO -   1  xul.dll!nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*) [nsObserverList.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 65 + 0xf]
[task 2020-02-21T17:44:30.611Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.612Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff2d0   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.612Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.613Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff9dce9671f
[task 2020-02-21T17:44:30.613Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.614Z] 17:44:30     INFO -   2  xul.dll!nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*) [nsObserverService.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 292 + 0x11]
[task 2020-02-21T17:44:30.614Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.615Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff340   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.615Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.616Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff9dcea0005
[task 2020-02-21T17:44:30.616Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.617Z] 17:44:30     INFO -   3  xul.dll!mozilla::ShutdownXPCOM(nsIServiceManager*) [XPCOMInit.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 639 + 0x11]
[task 2020-02-21T17:44:30.617Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.618Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff480   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.618Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.618Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff9dcf8851b
[task 2020-02-21T17:44:30.619Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.619Z] 17:44:30     INFO -   4  xul.dll!XRE_XPCShellMain(int, char**, char**, XREShellData const*) [XPCShellImpl.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 1431 + 0x7]
[task 2020-02-21T17:44:30.620Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.620Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff4f0   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.621Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.621Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff9ddf2ac8a
[task 2020-02-21T17:44:30.622Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.622Z] 17:44:30     INFO -   5  xpcshell.exe!NS_internal_main(int, char**, char**) [xpcshell.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 66 + 0x18]
[task 2020-02-21T17:44:30.623Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.623Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff980   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.624Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.624Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff6aadb130b
[task 2020-02-21T17:44:30.625Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.625Z] 17:44:30     INFO -   6  xpcshell.exe!wmain(int, wchar_t**) [nsWindowsWMain.cpp:78353ef17d0d2fe026d40c407f8afd224eda840a : 131 + 0x13]
[task 2020-02-21T17:44:30.626Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.626Z] 17:44:30     INFO -      rsp = 0x000000a0e91ff9e0   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.627Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.627Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff6aadb11e1
[task 2020-02-21T17:44:30.627Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.628Z] 17:44:30     INFO -   7  xpcshell.exe!__scrt_common_main_seh() [exe_common.inl : 288 + 0x22]
[task 2020-02-21T17:44:30.628Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.629Z] 17:44:30     INFO -      rsp = 0x000000a0e91ffaa0   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.629Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.630Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ff6aae20fc8
[task 2020-02-21T17:44:30.630Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.631Z] 17:44:30     INFO -   8  kernel32.dll!BaseThreadInitThunk + 0x14
[task 2020-02-21T17:44:30.631Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.632Z] 17:44:30     INFO -      rsp = 0x000000a0e91ffae0   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.632Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.632Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ffa1ef63034
[task 2020-02-21T17:44:30.632Z] 17:44:30     INFO -      Found by: call frame info
[task 2020-02-21T17:44:30.633Z] 17:44:30     INFO -   9  ntdll.dll!SdbpCheckMatchingFiles + 0x81
[task 2020-02-21T17:44:30.633Z] 17:44:30     INFO -      rbx = 0x000000a0e91ff260   rbp = 0x0000000000000001
[task 2020-02-21T17:44:30.634Z] 17:44:30     INFO -      rsp = 0x000000a0e91ffb10   r12 = 0x000000a0e91ff260
[task 2020-02-21T17:44:30.634Z] 17:44:30     INFO -      r13 = 0x00007ff9e6f794b0   r14 = 0x000002860c8751c0
[task 2020-02-21T17:44:30.634Z] 17:44:30     INFO -      r15 = 0x000000a0e91ff268   rip = 0x00007ffa20f61461
[task 2020-02-21T17:44:30.635Z] 17:44:30     INFO -      Found by: call frame info
Flags: needinfo?(mathieu)
Pushed by mleplatre@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f3da8ae9d1a3
Add low-level helpers to debug and test Remote Settings r=tarek,glasserc
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 75
Flags: needinfo?(mathieu)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: