Closed Bug 1672121 Opened 4 years ago Closed 3 years ago

Investigate making GC slices interruptible

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
97 Branch
Tracking Status
firefox97 --- fixed

People

(Reporter: jonco, Assigned: sfink)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [perf-mr2:responsiveness])

Attachments

(2 files, 3 obsolete files)

I thought we had a bug for this already but I couldn't find it, so filing again.

There's now a way for browser tasks to be interrupted, so we should be able to finish a long GC slice early if a more important task (e.g. user input) comes along. This should help make the browser more responsive.

The API is overriding Task::RequestInterrupt as in the example here: https://paste.rs/VeR.diff

Two sources of interrupts in particular are important: user input events delivered from the main process to content processes, and vsync events delivered from the GPU process to content processes. (This won't help with GC slices in the main processes as I understand it).

We should try and work out how we can measure any improvement is here. Something like the average time from the event happening to being serviced.

(In reply to Jon Coppeard (:jonco) from comment #0)

I thought we had a bug for this already but I couldn't find it, so filing again.

It's closed now, bug 1351790.

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

Severity: -- → N/A
Assignee: nobody → sphink
Status: NEW → ASSIGNED
Whiteboard: [perf-mr2:responsiveness]
Blocks: 1738096
Attachment #9251188 - Attachment description: Bug 1672121 - Do not reset the budget until the end of tracing for BuildGraph → Bug 1672121 - Don't bother resetting the budget that is going to be recreated for every slice anyway
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8001b5433e38 Make SliceBudget::isOverBudget non-destructive and require explicit resetting of over-budget state r=jonco,smaug https://hg.mozilla.org/integration/autoland/rev/4acf4539a7b4 Use nondestructive SliceBudget::isOverBudget during sweeping r=jonco https://hg.mozilla.org/integration/autoland/rev/de44a280103b Don't bother resetting the budget that is going to be recreated for every slice anyway r=smaug https://hg.mozilla.org/integration/autoland/rev/046e37035dbc Implement interruptible GC slice budgets r=jonco https://hg.mozilla.org/integration/autoland/rev/117756828ea7 Stop sGCRunner GC slice if the IdleTaskRunnerTask gets a RequestInterrupt() call r=smaug

Backed out for various crashes on mozalloc_handle_oom.
The only affected platform is Windows 7 WebRender opt.

Push with failures

Failure log
Failure log from the push that we found the perma failure

Backout link

[task 2021-11-29T22:45:55.858Z] 22:45:55     INFO - TEST-START | browser/base/content/test/static/browser_title_case_menus.js
[task 2021-11-29T22:45:56.334Z] 22:45:56     INFO - GECKO(6112) | out of memory: 0x0000000000100000 bytes requested
[task 2021-11-29T22:45:56.760Z] 22:45:56     INFO - TEST-INFO | Main app process: exit 1
[task 2021-11-29T22:45:56.760Z] 22:45:56     INFO - Buffered messages logged at 22:45:55
[task 2021-11-29T22:45:56.761Z] 22:45:56     INFO - Entering test bound apa_test_title_case_menubar
[task 2021-11-29T22:45:56.762Z] 22:45:56     INFO - Buffered messages finished
[task 2021-11-29T22:45:56.762Z] 22:45:56    ERROR - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_title_case_menus.js | application terminated with exit code 1
[task 2021-11-29T22:45:56.763Z] 22:45:56     INFO - runtests.py | Application ran for: 0:00:45.688703
[task 2021-11-29T22:45:56.764Z] 22:45:56     INFO - zombiecheck | Reading PID log: C:\Users\task_1638225065\AppData\Local\Temp\tmp2h1vq7_upidlog
[task 2021-11-29T22:45:56.765Z] 22:45:56     INFO - ==> process 5276 launched child process 5624 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.0.449278171\637862760" -childID 1 -isForBrowser -prefsHandle 2100 -prefMapHandle 2072 -prefsLen 1 -prefMapSize 256842 -jsInitHandle 924 -jsInitLen 280152 -parentBuildID 20211129215703 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 2180 205b63b0 tab)
[task 2021-11-29T22:45:56.767Z] 22:45:56     INFO - ==> process 5276 launched child process 868 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.1.856055408\771597195" -childID 2 -isForBrowser -prefsHandle 2560 -prefMapHandle 2556 -prefsLen 221 -prefMapSize 256842 -jsInitHandle 924 -jsInitLen 280152 -parentBuildID 20211129215703 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 2572 23b383b0 tab)
[task 2021-11-29T22:45:56.768Z] 22:45:56     INFO - ==> process 5276 launched child process 3692 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.2.312534020\582388750" -childID 3 -isForBrowser -prefsHandle 2556 -prefMapHandle 2600 -prefsLen 261 -prefMapSize 256842 -jsInitHandle 924 -jsInitLen 280152 -parentBuildID 20211129215703 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 2696 221aaa40 tab)
[task 2021-11-29T22:45:56.770Z] 22:45:56     INFO - ==> process 5276 launched child process 5248 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.3.1440328982\2036766485" -parentBuildID 20211129215703 -prefsHandle 2968 -prefMapHandle 2960 -prefsLen 1828 -prefMapSize 256842 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 2980 23b48050 rdd)
[task 2021-11-29T22:45:56.771Z] 22:45:56     INFO - ==> process 5276 launched child process 1560 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.5.1335156912\784906336" -childID 4 -isForBrowser -prefsHandle 3644 -prefMapHandle 3600 -prefsLen 9392 -prefMapSize 256842 -jsInitHandle 924 -jsInitLen 280152 -parentBuildID 20211129215703 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 3656 248f6b90 tab)
[task 2021-11-29T22:45:56.773Z] 22:45:56     INFO - ==> process 5276 launched child process 1816 ("Z:\task_1638225065\build\application\firefox\firefox.exe" -contentproc --channel="5276.6.1366631503\613985572" -childID 5 -isForBrowser -prefsHandle 3996 -prefMapHandle 3972 -prefsLen 9634 -prefMapSize 256842 -jsInitHandle 924 -jsInitLen 280152 -parentBuildID 20211129215703 -appDir "Z:\task_1638225065\build\application\firefox\browser" - 5276 "\\.\pipe\gecko-crash-server-pipe.5276" 4008 20bfd3b0 tab)
[task 2021-11-29T22:45:56.773Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 5248
[task 2021-11-29T22:45:56.774Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 868
[task 2021-11-29T22:45:56.774Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 1560
[task 2021-11-29T22:45:56.775Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 3692
[task 2021-11-29T22:45:56.776Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 1816
[task 2021-11-29T22:45:56.777Z] 22:45:56     INFO - zombiecheck | Checking for orphan process with PID: 5624
[task 2021-11-29T22:45:56.777Z] 22:45:56     INFO - mozcrash Downloading symbols from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/ePxOsBguQma3kW5iFvNDcA/artifacts/public/build/target.crashreporter-symbols.zip
[task 2021-11-29T22:46:06.531Z] 22:46:06     INFO - mozcrash Copy/paste: Z:/task_1638225065/fetches\minidump_stackwalk\minidump_stackwalk.exe --human C:\Users\task_1638225065\AppData\Local\Temp\tmpobj7b_4w.mozrunner\minidumps\3c546950-8b5c-4884-9169-ed678fbdda6b.dmp C:\Users\task_1638225065\AppData\Local\Temp\tmp2w0npaby --symbols-url=https://symbols.mozilla.org/
[task 2021-11-29T22:46:18.394Z] 22:46:18     INFO - mozcrash Saved minidump as Z:\task_1638225065\build\blobber_upload_dir\3c546950-8b5c-4884-9169-ed678fbdda6b.dmp
[task 2021-11-29T22:46:18.399Z] 22:46:18     INFO - mozcrash Saved app info as Z:\task_1638225065\build\blobber_upload_dir\3c546950-8b5c-4884-9169-ed678fbdda6b.extra
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - PROCESS-CRASH | browser/base/content/test/static/browser_title_case_menus.js | application crashed [@ mozalloc_handle_oom(unsigned int)]
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - Mozilla crash reason: out of memory: 0x0000000000100000 bytes requested
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - Crash dump filename: C:\Users\task_1638225065\AppData\Local\Temp\tmpobj7b_4w.mozrunner\minidumps\3c546950-8b5c-4884-9169-ed678fbdda6b.dmp
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - Operating system: Windows NT
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO -                   6.1.7601 Service Pack 1
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - CPU: x86
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO -      GenuineIntel family 6 model 63 stepping 2
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO -      8 CPUs
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - 
[task 2021-11-29T22:46:18.841Z] 22:46:18     INFO - Crash reason:  EXCEPTION_BREAKPOINT
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO - Crash address: 0x69ea3098
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO - Process uptime: 45 seconds
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO - 
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO - Thread 32  (crashed)
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -  0  mozglue.dll!mozalloc_abort(char const* const) [mozalloc_abort.cpp:7179e712e22bd0771ec9cd6242825efb2b6cb842 : 26 + 0x18]
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     eip = 0x69ea3098   esp = 0x154ae804   ebp = 0x154ae80c   ebx = 0x533c2894
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     esi = 0x154ae818   edi = 0x6997f9b0   eax = 0x0000000a   ecx = 0x69987af0
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     edx = 0x00000000   efl = 0x00000212
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     Found by: given as instruction pointer in context
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -  1  mozglue.dll!mozalloc_handle_oom(unsigned int) [mozalloc_oom.cpp:7179e712e22bd0771ec9cd6242825efb2b6cb842 : 51 + 0x8]
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     eip = 0x69ea2e9b   esp = 0x154ae814   ebp = 0x154ae84c   ebx = 0x533c2894
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     esi = 0x00000001   edi = 0x00100000
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -  2  xul.dll + 0x3dfd52a
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     eip = 0x5ab7d52b   esp = 0x154ae854   ebp = 0x154ae858   ebx = 0x533c2894
[task 2021-11-29T22:46:18.842Z] 22:46:18     INFO -     esi = 0x00000001   edi = 0x00100000
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -  3  xul.dll + 0x400c99e
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     eip = 0x5ad8c99f   esp = 0x154ae860   ebp = 0x154aebe8
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -  4  xul.dll + 0x44f4bf2
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     eip = 0x5b274bf3   esp = 0x154aebf0   ebp = 0x154af0a4
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -  5  xul.dll + 0x453e6da
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     eip = 0x5b2be6db   esp = 0x154af0ac   ebp = 0x154af5b8
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -  6  xul.dll + 0xe7345d
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     eip = 0x57bf345e   esp = 0x154af5c0   ebp = 0x154af610
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -  7  xul.dll + 0xe72a08
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     eip = 0x57bf2a09   esp = 0x154af618   ebp = 0x154af7f4
[task 2021-11-29T22:46:18.843Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -  8  xul.dll + 0xe72111
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x57bf2112   esp = 0x154af7fc   ebp = 0x154af8cc
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -  9  xul.dll + 0xd2b9f8
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x57aab9f9   esp = 0x154af8d4   ebp = 0x154af8f4
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO - 10  xul.dll + 0x28c146
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x5700c147   esp = 0x154af8fc   ebp = 0x154afa34
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO - 11  xul.dll + 0x29038e
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x5701038f   esp = 0x154afa3c   ebp = 0x154afa58
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO - 12  xul.dll + 0x7ca117
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x5754a118   esp = 0x154afa60   ebp = 0x154afa88
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO - 13  xul.dll + 0x78e218
[task 2021-11-29T22:46:18.844Z] 22:46:18     INFO -     eip = 0x5750e219   esp = 0x154afa90   ebp = 0x154afac0
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO - 14  xul.dll + 0x78e177
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     eip = 0x5750e178   esp = 0x154afac8   ebp = 0x154afae0
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO - 15  xul.dll + 0x289cc3
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     eip = 0x57009cc4   esp = 0x154afae8   ebp = 0x154afbc4
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO - 16  nss3.dll!_PR_NativeRunThread(void*) [pruthr.c:7179e712e22bd0771ec9cd6242825efb2b6cb842 : 399 + 0xe]
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     eip = 0x69c9f605   esp = 0x154afbcc   ebp = 0x154afbec
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     Found by: previous frame's frame pointer
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO - 17  nss3.dll!pr_root(void*) [w95thred.c:7179e712e22bd0771ec9cd6242825efb2b6cb842 : 139 + 0xe]
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     eip = 0x69c927b6   esp = 0x154afbf4   ebp = 0x154afbfc   ebx = 0x003aba68
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     esi = 0x16428ac0   edi = 0x003aba68
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO - 18  ucrtbase.dll!thread_start<unsigned int (__stdcall*)(void *)> + 0x3e
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     eip = 0x6998e16f   esp = 0x154afc04   ebp = 0x154afc38   ebx = 0x003aba68
[task 2021-11-29T22:46:18.845Z] 22:46:18     INFO -     esi = 0x69c927a0   edi = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO - 19  kernel32.dll!BaseThreadInitThunk + 0x11
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     eip = 0x76c9ef3c   esp = 0x154afc40   ebp = 0x154afc44   ebx = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     esi = 0x69c927a0   edi = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO - 20  mozglue.dll!patched_BaseThreadInitThunk(int, void*, void*) [WindowsDllBlocklist.cpp:7179e712e22bd0771ec9cd6242825efb2b6cb842 : 574 + 0xa]
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     eip = 0x69ee5608   esp = 0x154afc4c   ebp = 0x154afc7c   ebx = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     esi = 0x69c927a0   edi = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO - 21  ntdll.dll!__RtlUserThreadStart + 0x26
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     eip = 0x76ef3618   esp = 0x154afc84   ebp = 0x154afcbc   ebx = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     esi = 0x00000000   edi = 0x00000000
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO - 22  ntdll.dll!_RtlUserThreadStart + 0x1a
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     eip = 0x76ef35eb   esp = 0x154afcc4   ebp = 0x154afcd4   ebx = 0x003aba68
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     esi = 0x00000000   edi = 0x00000000
[task 2021-11-29T22:46:18.846Z] 22:46:18     INFO -     Found by: call frame info
[task 2021-11-29T22:46:18.847Z] 22:46:18     INFO - 
Flags: needinfo?(sphink)

This might be suppressing GCs, causing more memory to be used, and different platforms will then show OOM differently. I'm looking at profiles to see if I broke GC scheduling or something; haven't figured it out yet.

Interesting. The problem does not reproduce with my original stack of patches based on a somewhat older changeset, but it starts reproducing once I rebase on top of the autoland revision. So in a way this is a rebase conflict with the changesets that landed in between my original base and the autoland base. (There were 874 of them, c73bcc465e0c::ec2128; I had rebased not long before submitting.)

The failure is reliable. Maybe I'll try bisecting. Though if I could get a profile with markers out, the difference might be obvious.

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:sfink, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(sphink)
Flags: needinfo?(jcoppeard)

Yep, working on it.

Flags: needinfo?(sphink)
Flags: needinfo?(jcoppeard)
Attachment #9251175 - Attachment is obsolete: true
Attachment #9251176 - Attachment is obsolete: true
Attachment #9251188 - Attachment is obsolete: true
Blocks: 1747273
Blocks: 1747274
Pushed by sfink@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1f17ef0a9d4d Implement interruptible GC slice budgets r=jonco https://hg.mozilla.org/integration/autoland/rev/73b9f3c51eee Stop sGCRunner GC slice if the IdleTaskRunnerTask gets a RequestInterrupt() call r=smaug
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 97 Branch

https://share.firefox.dev/33tnB7d is a local debug build example with an interrupted GC in the parent process. It's kind of weird; the GC gets interrupted very soon after it was triggered, resulting in the first slice running for only 218µs. And it's a USER_INACTIVE GC.

I think it may have sort of interrupted itself? Marker table, all within the same millisecond:

Runnable - DummyEvent (lots of these)
Runnable - CCGCScheduler::EnsureGCRunner (19.887µs)
Runnable - CCGCScheduler::EnsureGCRunner (27.612µs)
GC Interrupt
Runnable - MozPromise::ThenValueBase::ResolveOrRejectRunnable
Runnable - DummyEvent (lots of these)

Perhaps the MozPromise, which might be for the GC (?), is interrupting it? Though I don't see this with all GCs.

The next GC is a CC_FINISHED GC, and again the very first slice gets interrupted almost immediately. And the marker table shows the exact same sequence of markers.

Flags: needinfo?(sphink)
Blocks: 1751543
Blocks: 1752646
Blocks: 1753783
Blocks: 1801191
Whiteboard: [perf-mr2:responsiveness] → [perf-mr2:responsiveness][sp3]
Whiteboard: [perf-mr2:responsiveness][sp3] → [perf-mr2:responsiveness]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: