AppUpdater.jsm race condition involving update state
Categories
(Toolkit :: Application Update, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox108 | --- | fixed |
People
(Reporter: bytesized, Assigned: bytesized)
References
Details
(Whiteboard: [fidedi-ope])
Attachments
(18 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
I believe that the implementation of AppUpdater.check() is technically incorrect. I'm not sure whether or not any specific race condition actually exists, they are a little hard to pin down. But, as more of the functions in UpdateService.jsm are converted to async functions, there are more possibilities that AppUpdater.check() could run while another update function is also running, causing it to get a weird, inconsistent state.
The correct way of determining update state is by observing update notifications. To fix AppUpdater.check(), we should add some code, probably to UpdateService.jsm, that just listens to those observer notifications and can respond to requests for update state based on what notifications have been received.
| Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
I'm surprised to see that these weren't already marked as singletons. We definitely should never make duplicates of them.
| Assignee | ||
Comment 2•3 years ago
|
||
Broadly speaking, this patch makes 3 API changes:
- nsIUpdateChecker is substantially changed to accomodate (a) it being a singleton service that can potentially make multiple update checks at once, and (b) communicating the results of the update check via JS promises rather than callback functions.
- nsIApplicationUpdateService has had functionality added to allow consumers to check the current update state.
- nsIApplicationUpdateService now exposes disabledByPolicy, which was already being used externally in an inappropriate way.
- nsIApplicationUpdateService.downloadUpdate is made asynchronous and has its (long-unnecessary) background argument removed
The codebase previously seemed a bit mixed up at times regarding whether the update checker was a singleton or whether a new one would be constructed every time it was needed. This patch makes the answer more definitive by definitively making it a singleton service.
Note that this patch changes the interface definitions only. The changes to API consumers and implementation will come later in this patch stack.
Depends on D159293
| Assignee | ||
Comment 3•3 years ago
|
||
This patch misses one notable nsIUpdateChecker consumer: AppUpdater. This patch stack makes major changes to AppUpdater, so those changes will be made in their own patch later in this patch stack.
Depends on D159294
| Assignee | ||
Comment 4•3 years ago
|
||
This patch updates all consumers of nsIApplicationUpdateService.downloadUpdate to accomodate the changes made to that API earlier in the stack.
It also updates the implementation to match that API.
Depends on D159295
| Assignee | ||
Comment 5•3 years ago
|
||
Depends on D159296
| Assignee | ||
Comment 6•3 years ago
|
||
This ended up being a nearly total rewrite of AppUpdater, but I think that the changes are worth it.
The flow is much more linear which makes it easier to follow and reason about.
The API is made much more formal by making most methods and members private.
Many potential race conditions have been removed.
Many more potential errors thrown can now be caught by the try/catch that wraps AppUpdater.check, causing those errors to show the "Internal Error" message rather than causing the update interface to just freeze.
Cancelling an in-progress update check works more reliably.
This patch does not change AppUpdater consumers to accomodate these changes. That will come later in the patch stack.
Depends on D159297
| Assignee | ||
Comment 7•3 years ago
|
||
In a previous patch in this stack, AppUpdater was changed to remove the checkForUpdates function. This change updates aboutDialog-appUpdater to accomodate this change.
It was probably incorrect for this function to be called previously. Calling into checkForUpdates() is functionally similar to calling into check(), except that checks are bypassed that probably shouldn't be bypassed.
Depends on D159298
| Assignee | ||
Comment 8•3 years ago
|
||
Depends on D159299
| Assignee | ||
Comment 9•3 years ago
|
||
Depends on D159300
| Assignee | ||
Comment 10•3 years ago
|
||
Note that, for the most part, this isn't meant to change behavior. It is just meant to eliminate race conditions and fix some bugs. However, a tiny bit of behavior has been changed.
Previously, the fallback error codes used to potentially populate nsIUpdate.statusText were 200 in Checker.onError (corresponding to "Update XML file malformed") and 404 in Checker.onLoad (corresponding to "Update XML file not found"). These really seem backwards to me. Especially in the Checker.onLoad case, where we basically use that as the fallback if we fail to parse the update XML. So the codes have effectively been reversed in this patch.
Depends on D159301
| Assignee | ||
Comment 11•3 years ago
|
||
Also change some of the implementation of UpdateService to use the new currentState API.
This patch also fixes and cleans up a few things that are only tangentially related. Most notably, _postUpdateProcessing does a better job of handling the situation where Firefox starts while updating/staging is still in-progress. And refreshUpdateStatus does a better job of handling unexpected error situations like the updater binary crashing.
Depends on D159302
| Assignee | ||
Comment 12•3 years ago
|
||
The Update Service stores information about the current update state in the status file and in the state properties of both downloadingUpdate and readyUpdate. It's important that we log changes to this information in order to better be able to debug tests and user issues.
Depends on D159303
| Assignee | ||
Comment 13•3 years ago
|
||
We should be careful about calling cleanupDownloadingUpdate. We currently call it sometimes when AUS.downloadUpdate fails without checking whether we are already downloading an update. We don't want to mess up a download that is already in-progress just because a subsequent call to downloadUpdate failed.
It may have been necessary in the past to clean up if downloadUpdate failed in order to prevent leaving bits of downloading update state around. But now we don't set that state until the download has actually started, so some of those cleanup instances just aren't necessary anymore. We only really need to clean up if we might be resuming a download, in which case those bits of state will be lying around and ought to be cleaned up on failure.
Depends on D159304
| Assignee | ||
Comment 14•3 years ago
|
||
Depends on D159305
| Assignee | ||
Comment 15•3 years ago
|
||
Depends on D159306
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 16•3 years ago
|
||
AppUpdater.stop() is not currently well tested, and the new implementation relies on throwing exceptions. It's important that these exceptions be properly caught to ensure that we don't end up handling the exception as an internal error or not handling it properly at all.
Depends on D159307
| Assignee | ||
Comment 17•3 years ago
|
||
Depends on D159308
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 18•3 years ago
|
||
Depends on D159294
Comment 19•3 years ago
|
||
Comment 20•3 years ago
•
|
||
Backed out for causing mochitest failures on browser_updateAsk.js
Comment 21•3 years ago
|
||
| Assignee | ||
Updated•3 years ago
|
Comment 22•3 years ago
|
||
Backed out for causing mochitest failures.
[task 2022-10-25T21:43:54.269Z] 21:43:54 INFO - GECKO(2735) | 1666734234268 Marionette DEBUG Accepted connection 1 from 127.0.0.1:50003
[task 2022-10-25T21:43:54.417Z] 21:43:54 INFO - GECKO(2735) | 1666734234417 Marionette DEBUG 1 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2022-10-25T21:43:54.420Z] 21:43:54 INFO - GECKO(2735) | 1666734234419 Marionette DEBUG Waiting for initial application window
[task 2022-10-25T21:43:55.951Z] 21:43:55 INFO - GECKO(2735) | FATAL ERROR: Non-local network connections are disabled and a connection attempt to aus5.mozilla.org (35.244.181.201) was made.
[task 2022-10-25T21:43:55.952Z] 21:43:55 INFO - GECKO(2735) | You should only access hostnames available via the test networking proxy (if running mochitests) or from a test-specific httpd.js server (if running xpcshell tests). Browser services should be disabled or redirected to a local server.
[task 2022-10-25T21:43:56.100Z] 21:43:56 INFO - GECKO(2735) | Exiting due to channel error.
[task 2022-10-25T21:43:56.100Z] 21:43:56 INFO - runtests.py | Waiting for browser...
[task 2022-10-25T21:43:56.100Z] 21:43:56 INFO - GECKO(2735) | Exiting due to channel error.
[task 2022-10-25T21:43:56.101Z] 21:43:56 INFO - GECKO(2735) | Exiting due to channel error.
[task 2022-10-25T21:43:56.101Z] 21:43:56 INFO - GECKO(2735) | Exiting due to channel error.
[task 2022-10-25T21:43:56.210Z] 21:43:56 INFO - TEST-INFO | Main app process: exit 1
[task 2022-10-25T21:43:56.210Z] 21:43:56 INFO - Buffered messages finished
[task 2022-10-25T21:43:56.210Z] 21:43:56 ERROR - TEST-UNEXPECTED-FAIL | automation.py | application terminated with exit code 1
[task 2022-10-25T21:43:56.211Z] 21:43:56 INFO - runtests.py | Application ran for: 0:00:02.575917
[task 2022-10-25T21:43:56.211Z] 21:43:56 INFO - zombiecheck | Reading PID log: /var/folders/xh/5_nnbb2s7y9c1sv4zwl_ckk0000014/T/tmprtepixofpidlog
[task 2022-10-25T21:43:56.212Z] 21:43:56 INFO - ==> process 2735 launched child process 2736
[task 2022-10-25T21:43:56.212Z] 21:43:56 INFO - ==> process 2735 launched child process 2737
[task 2022-10-25T21:43:56.212Z] 21:43:56 INFO - ==> process 2735 launched child process 2738
[task 2022-10-25T21:43:56.213Z] 21:43:56 INFO - ==> process 2735 launched child process 2739
[task 2022-10-25T21:43:56.213Z] 21:43:56 INFO - ==> process 2735 launched child process 2740
[task 2022-10-25T21:43:56.213Z] 21:43:56 INFO - zombiecheck | Checking for orphan process with PID: 2736
[task 2022-10-25T21:43:56.214Z] 21:43:56 INFO - zombiecheck | Checking for orphan process with PID: 2737
[task 2022-10-25T21:43:56.214Z] 21:43:56 INFO - zombiecheck | Checking for orphan process with PID: 2738
[task 2022-10-25T21:43:56.214Z] 21:43:56 INFO - zombiecheck | Checking for orphan process with PID: 2739
[task 2022-10-25T21:43:56.215Z] 21:43:56 INFO - zombiecheck | Checking for orphan process with PID: 2740
[task 2022-10-25T21:43:56.215Z] 21:43:56 INFO - mozcrash Downloading symbols from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/d9c9wTKtS3-negqWmZxfRQ/artifacts/public/build/target.crashreporter-symbols.zip
[task 2022-10-25T21:44:17.220Z] 21:44:17 INFO - mozcrash Copy/paste: /opt/worker/tasks/task_166673282435241/fetches/minidump-stackwalk/minidump-stackwalk --symbols-url=https://symbols.mozilla.org/ --human /var/folders/xh/5_nnbb2s7y9c1sv4zwl_ckk0000014/T/tmp1izrkfwz.mozrunner/minidumps/6197E232-12AB-44C7-89B3-9B2D4A63EC09.dmp /var/folders/xh/5_nnbb2s7y9c1sv4zwl_ckk0000014/T/tmpzo8ylnrd
[task 2022-10-25T21:44:24.161Z] 21:44:24 INFO - mozcrash Saved minidump as /opt/worker/tasks/task_166673282435241/build/blobber_upload_dir/6197E232-12AB-44C7-89B3-9B2D4A63EC09.dmp
[task 2022-10-25T21:44:24.162Z] 21:44:24 INFO - mozcrash Saved app info as /opt/worker/tasks/task_166673282435241/build/blobber_upload_dir/6197E232-12AB-44C7-89B3-9B2D4A63EC09.extra
[task 2022-10-25T21:44:24.655Z] 21:44:24 INFO - PROCESS-CRASH | automation.py | application crashed [@ MOZ_Crash(char const*, int, char const*)]
[task 2022-10-25T21:44:24.655Z] 21:44:24 INFO - Mozilla crash reason: Attempting to connect to non-local address! opener is [resource://gre/modules/UpdateService.jsm:5222:14], uri is [https://aus5.mozilla.org/update/6/Firefox/108.0a1/20221025181541/Darwin_x86_64-gcc3/en-US/default/Darwin%2019.6.0/ISET:SSE4_2,MEM:16384/default/default/update.xml?force=1]
[task 2022-10-25T21:44:24.655Z] 21:44:24 INFO - Crash dump filename: /var/folders/xh/5_nnbb2s7y9c1sv4zwl_ckk0000014/T/tmp1izrkfwz.mozrunner/minidumps/6197E232-12AB-44C7-89B3-9B2D4A63EC09.dmp
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Operating system: Mac OS X
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - 10.15.7 19H524
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - CPU: amd64
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - family 6 model 158 stepping 10
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - 12 CPUs
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO -
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Crash address: 0x0
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Mac Crash Info:
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO -
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Process uptime: 2 seconds
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO -
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Thread 0 MainThread (crashed)
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - 0 XUL!MOZ_Crash(char const*, int, char const*) [Assertions.h:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 261]
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Found by: inlining
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - 1 XUL!mozilla::net::nsHttpChannel::OnStartRequest(nsIRequest*) [nsHttpChannel.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 6913 + 0xa]
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rax = 0x0000000126f28408 rdx = 0x0000000000000000
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rcx = 0x00000001049b79b0 rbx = 0x00000001362fbf88
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rsi = 0x000000000000011d rdi = 0x00007ffeeb2e0b10
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e0ff0 rsp = 0x00007ffeeb2e0f70
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r8 = 0x0000000000000000 r9 = 0x0000000000000000
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r10 = 0x000000000000011c r11 = 0x0000000011224e6e
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r12 = 0x0000000135bb8700 r13 = 0x0000000000000000
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r14 = 0x00000001364810d8 r15 = 0x0000000136481040
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rip = 0x000000010ece4236
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - Found by: given as instruction pointer in context
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - 2 XUL!nsInputStreamPump::OnStateStart() [nsInputStreamPump.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 482 + 0x8]
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rbx = 0x0000000136481040 rbp = 0x00007ffeeb2e1030
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1000 r12 = 0x000000010e92399c
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x00000001364810d8
[task 2022-10-25T21:44:24.656Z] 21:44:24 INFO - r15 = 0x00000001364810d8 rip = 0x000000010e923a44
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 3 XUL!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) [nsInputStreamPump.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 388 + 0x7]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rbx = 0x0000000136481040 rbp = 0x00007ffeeb2e1080
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1040 r12 = 0x000000010e92399c
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000000
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r15 = 0x00000001364810d8 rip = 0x000000010e92384b
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 4 XUL!CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}::operator()() const [nsPipe3.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 73]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: inlining
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 5 XUL!NS_NewCancelableRunnableFunction<CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}>(char const*, CallbackHolder::CallbackHolder(nsIAsyncInputStream*, nsIInputStreamCallback*, unsigned int, nsIEventTarget*)::{lambda()#1}&&)::FuncCancelableRunnable::Run() [nsThreadUtils.h:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 650 + 0xd]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rbx = 0x0000000000000024 rbp = 0x00007ffeeb2e1090
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1090 r12 = 0x0000000136290dc0
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000116709939
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r15 = 0x0000000116709938 rip = 0x000000010e7cc858
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 6 XUL!mozilla::RunnableTask::Run() [TaskController.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 538 + 0x5]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rbx = 0x0000000000000024 rbp = 0x00007ffeeb2e1510
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e10a0 r12 = 0x0000000136290dc0
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000116709939
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r15 = 0x0000000116709938 rip = 0x000000010e7f1467
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 7 XUL!mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [TaskController.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 851 + 0x8]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rbx = 0x0000000136290dc0 rbp = 0x00007ffeeb2e16e0
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1520 r12 = 0x0000000000000004
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0003001100000000
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r15 = 0x0000000109abcac0 rip = 0x000000010e7ed566
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - 8 XUL!mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [TaskController.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 683 + 0x4]
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rbx = 0x0000000109abcac0 rbp = 0x00007ffeeb2e1730
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e16f0 r12 = 0x0000000109abcac0
[task 2022-10-25T21:44:24.657Z] 21:44:24 INFO - r13 = 0x0000000109ae6a60 r14 = 0x00007ffeeb2e18bf
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r15 = 0x00007ffeeb2e1748 rip = 0x000000010e7ec62a
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 9 XUL!mozilla::TaskController::ProcessPendingMTTask(bool) [TaskController.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 461]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: inlining
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 10 XUL!mozilla::TaskController::InitializeInternal()::$_3::operator()() const [TaskController.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 187]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: inlining
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 11 XUL!mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() [nsThreadUtils.h:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 531 + 0x1e]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rbx = 0x0000000109abcac0 rbp = 0x00007ffeeb2e1760
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1740 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r13 = 0x0000000109ae6a60 r14 = 0x00007ffeeb2e18bf
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r15 = 0x0000015141e2cb07 rip = 0x000000010e7f2f96
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 12 XUL!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 1204 + 0x5]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rbx = 0x00007ffeeb2e1810 rbp = 0x00007ffeeb2e18a0
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1770 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r13 = 0x0000000109ae6a60 r14 = 0x00007ffeeb2e18bf
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r15 = 0x0000015141e2cb07 rip = 0x000000010e80013a
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 13 XUL!NS_ProcessPendingEvents(nsIThread*, unsigned int) [nsThreadUtils.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 430 + 0x10]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rbx = 0x0000000109ae6a60 rbp = 0x00007ffeeb2e18f0
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e18b0 r12 = 0x0000000000161a3d
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r13 = 0x00007ffeeb2e18bf r14 = 0x000000000000000a
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r15 = 0x0000000000000000 rip = 0x000000010e7fe026
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - 14 XUL!nsBaseAppShell::NativeEventCallback() [nsBaseAppShell.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 89 + 0x13]
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rbx = 0x000000011ea288e0 rbp = 0x00007ffeeb2e1920
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1900 r12 = 0x0000000000000000
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000109ae6a60
[task 2022-10-25T21:44:24.658Z] 21:44:24 INFO - r15 = 0x0000000000000000 rip = 0x00000001113c0e82
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 15 XUL!nsAppShell::ProcessGeckoEvents(void*) [nsAppShell.mm:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 509 + 0x7]
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbx = 0x0000000111424860 rbp = 0x00007ffeeb2e1980
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1930 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x000000011ea288e0
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - r15 = 0x000000011ea288e0 rip = 0x0000000111424988
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 16 CoreFoundation!__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 0x10
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbx = 0x0000000111424860 rbp = 0x00007ffeeb2e1990
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e1990 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x000000011ea288e0
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - r15 = 0x0000000600002e88 rip = 0x00007fff3687dd52
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 17 CoreFoundation!__CFRunLoopDoSource0 + 0x66
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e19c0 rsp = 0x00007ffeeb2e19a0
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rip = 0x00007fff3687dcf1
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 18 CoreFoundation!__CFRunLoopDoSources0 + 0xd0
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e1a30 rsp = 0x00007ffeeb2e19d0
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rip = 0x00007fff3687db0b
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 19 CoreFoundation!__CFRunLoopRun + 0x39e
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e2740 rsp = 0x00007ffeeb2e1a40
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rip = 0x00007fff3687c83a
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - 20 CoreFoundation!CFRunLoopRunSpecific + 0x1cd
[task 2022-10-25T21:44:24.659Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e27d0 rsp = 0x00007ffeeb2e2750
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rip = 0x00007fff3687be3e
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - 21 HIToolbox!RunCurrentEventLoopInMode + 0x123
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e2820 rsp = 0x00007ffeeb2e27e0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rip = 0x00007fff354a8abd
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - 22 HIToolbox!ReceiveNextEventCommon + 0x247
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rbx = 0x0000000000000001 rbp = 0x00007ffeeb2e28a0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e2830 r12 = 0x0000000000000000
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000000
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r15 = 0x00000000ffffd96d rip = 0x00007fff354a87d5
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - 23 HIToolbox!_BlockUntilNextEventMatchingListInModeWithFilter + 0x3f
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rbx = 0xffffffffffffffff rbp = 0x00007ffeeb2e28c0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e28b0 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x00007fff9702d4c0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r15 = 0x00007fff8e130b00 rip = 0x00007fff354a8579
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - 24 AppKit!_DPSNextEvent + 0x372
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rbx = 0xffffffffffffffff rbp = 0x00007ffeeb2e2cc0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e28d0 r12 = 0x0000000000000001
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x00007fff9702d4c0
[task 2022-10-25T21:44:24.660Z] 21:44:24 INFO - r15 = 0x00007fff8e130b00 rip = 0x00007fff33aee039
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - 25 AppKit!-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 0x547
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e2f20 rsp = 0x00007ffeeb2e2cd0
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rip = 0x00007fff33aec880
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - 26 XUL!-[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] [nsAppShell.mm:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 175 + 0x28]
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e2f80 rsp = 0x00007ffeeb2e2f30
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rip = 0x0000000111423f3e
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - 27 AppKit!-[NSApplication run] + 0x291
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rbx = 0x0000000106843a80 rbp = 0x00007ffeeb2e3040
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e2f90 r12 = 0x000000012de0bd50
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - r13 = 0x00007fff6f5cf800 r14 = 0x0000000000000000
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - r15 = 0x000000010cbb2d60 rip = 0x00007fff33ade58e
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - 28 XUL!nsAppShell::Run() [nsAppShell.mm:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 801 + 0x19]
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rbp = 0x00007ffeeb2e3070 rsp = 0x00007ffeeb2e3050
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rip = 0x0000000111424eef
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - Found by: previous frame's frame pointer
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - 29 XUL!nsAppStartup::Run() [nsAppStartup.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 295 + 0x5]
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rbx = 0x000000011eaba330 rbp = 0x00007ffeeb2e30a0
[task 2022-10-25T21:44:24.661Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e3080 r14 = 0x00007ffeeb2e32b0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rip = 0x0000000112a33d2c
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - 30 XUL!XREMain::XRE_mainRun() [nsAppRunner.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 5723 + 0x5]
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rbx = 0x0000000080004005 rbp = 0x00007ffeeb2e3220
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e30b0 r14 = 0x00007ffeeb2e32b0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rip = 0x0000000112b0a248
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - 31 XUL!XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 5916 + 0x7]
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rbx = 0x0000000000000000 rbp = 0x00007ffeeb2e32a0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e3230 r12 = 0x00007ffeeb2e32e0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000104b0f290
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - r15 = 0x00007ffeeb2e32b0 rip = 0x0000000112b0a8ee
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - 32 XUL!XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 5972 + 0xf]
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rbx = 0x0000000000000005 rbp = 0x00007ffeeb2e33e0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e32b0 r12 = 0x00007ffeeb2e32b0
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - r13 = 0x0000000000000005 r14 = 0x00007ffeeb2e3410
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - r15 = 0x00007ffeeb2e3860 rip = 0x0000000112b0ac58
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - 33 firefox!do_main(int, char**, char**) [nsBrowserApp.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 226]
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - Found by: inlining
[task 2022-10-25T21:44:24.662Z] 21:44:24 INFO - 34 firefox!main [nsBrowserApp.cpp:04a0c1cbeeb3d0899d6300311f350945ccabdf41 : 428 + 0x18a]
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - rbx = 0x00007ffeeb2e3b64 rbp = 0x00007ffeeb2e3840
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e33f0 r12 = 0x000000010491dced
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - r13 = 0x0000000000000005 r14 = 0x00007ffeeb2e3860
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - r15 = 0x000000000000006d rip = 0x000000010491c579
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - 35 libdyld.dylib!start + 0x0
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - rbx = 0x0000000000000000 rbp = 0x00007ffeeb2e3850
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - rsp = 0x00007ffeeb2e3850 r12 = 0x0000000000000000
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - r13 = 0x0000000000000000 r14 = 0x0000000000000000
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - r15 = 0x0000000000000000 rip = 0x00007fff70784cc9
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO - Found by: call frame info
[task 2022-10-25T21:44:24.663Z] 21:44:24 INFO -
| Assignee | ||
Updated•3 years ago
|
Comment 23•3 years ago
|
||
Comment 24•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/cb798c0ca099
https://hg.mozilla.org/mozilla-central/rev/bff23b564e11
https://hg.mozilla.org/mozilla-central/rev/199bb00c9aae
https://hg.mozilla.org/mozilla-central/rev/7b613160af82
https://hg.mozilla.org/mozilla-central/rev/0784c0eb607d
https://hg.mozilla.org/mozilla-central/rev/b38159093e3d
https://hg.mozilla.org/mozilla-central/rev/8afb1309eeb6
https://hg.mozilla.org/mozilla-central/rev/78d6af56d66f
https://hg.mozilla.org/mozilla-central/rev/9fcc56702154
https://hg.mozilla.org/mozilla-central/rev/7bc932b3ed45
https://hg.mozilla.org/mozilla-central/rev/9dcbdc937eb0
https://hg.mozilla.org/mozilla-central/rev/4c1fba27efa7
https://hg.mozilla.org/mozilla-central/rev/1e63d512b4a0
https://hg.mozilla.org/mozilla-central/rev/2246631b125c
https://hg.mozilla.org/mozilla-central/rev/636311ab7b13
https://hg.mozilla.org/mozilla-central/rev/26e97f391578
https://hg.mozilla.org/mozilla-central/rev/165bdbb98639
https://hg.mozilla.org/mozilla-central/rev/8320c140961f
Description
•