Closed Bug 1704812 Opened 4 years ago Closed 4 years ago

Broadcast new FontList shm blocks to Content Processes instead of waiting and doing sync IPC

Categories

(Core :: Layout: Text and Fonts, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
90 Branch
Performance Impact high
Fission Milestone M8
Tracking Status
firefox90 --- fixed

People

(Reporter: jesup, Assigned: jfkthame)

References

(Blocks 1 open bug)

Details

(Keywords: perf:pageload, Whiteboard: [fission-perf])

Attachments

(1 file)

When testing Fission process-switch overhead, we saw in profiles 20ms-ish sync IPC's right after a process started to be used. This can delay initial rendering of the page - and more if multiple shm blocks needed to be fetched.

Per Matrix discussion, we should proactively broadcast shm blocks to child processes, and only do the sync IPC in the rare race condition that a block exists but hasn't been received by the content process yet. This is simpler than working through any issues with having it wait on the broadcast.

Assignee: nobody → jfkthame
Severity: -- → S3
Priority: -- → P2
Fission Milestone: ? → M8

Randell, I pushed a try job with a patch that aims to address this at https://treeherder.mozilla.org/jobs?repo=try&revision=1f733dbcc44743aaa6bd059aecafe6aadd7d6b06. If you have a chance to try this and see if it helps in your test scenarios, that would be awesome -- thanks!

Flags: needinfo?(rjesup)

Sean, can you try this with the red/blue test?

Flags: needinfo?(rjesup) → needinfo?(sefeng)
Whiteboard: [qf][fission-perf] → [qf:p1:pageload][fission-perf]
Attachment #9216928 - Attachment description: Bug 1704812 - Broadcast new FontList shm blocks to Content Processes instead of waiting and doing sync IPC. → Bug 1704812 - Broadcast new FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=#layout-reviewers,jwatt

I've collected a new profile by running the red/blue test and the buildFontList call took 4ms for me https://share.firefox.dev/3vdSvZq.

I've also tried to use an older build, and it also only took 4ms for me https://share.firefox.dev/3dF9MVs

I don't really see any impacts of the patch.

I feel you should try this in your environment Randell, maybe it's only an issue with your original testing methodology, and not an issue with the red/blue test?

Flags: needinfo?(sefeng) → needinfo?(rjesup)

FWIW, in local profiling of an unpatched build, I was able to observe this sync-ipc happening (and taking a few ms) during opening a new tab after loading wikipedia.org (so as to trigger a bunch of additional font loading) in the original tab.

With the patch here, I could no longer see that ipc at all, so it seems to be working as intended.

Right, I wouldn't generally expect the red/blue test to hit it if we're running it as an automated test. I did load another site (cnn? wikipedia?) in the manual test that triggered this (start->load wikipedia -> load blue -> load red)

Flags: needinfo?(rjesup)

jld: following discussion with Emilio, we'd like to check whether there's anything we should be doing to avoid leaking things in the case where the parent process sends a shm Handle from ShareToProcess over to a child, but then the child ends up not using it (it receives the message, but bails out before calling SetHandle, e.g. because of a mismatched generation field on the message).

AFAICS there's nothing special we can/should do with the Handle at that point; we just forget about it. Is that OK, or are we potentially causing a problem there? If so, what's the proper thing to do? Thanks!

Flags: needinfo?(jld)

Unfortunately, older IPC code like ShareToProcess still uses non-RAII types — HANDLE on Windows and base::FileDescriptor on Unix — and those do need to be manually destroyed. Worse, I don't know if there is a cross-platform abstraction for closing those types (although one could be added someplace like ipc/glue/FileDescriptorUtils.{h,cpp}). I've been wanting to clean this up and migrate everything to UniqueFileHandle for a long time, but in the past it's been hard to justify spending time on cleanup.

(A Windows handle which has been shared to another process but never sent (and the target process hasn't exited) is more complicated to dispose of, but that doesn't seem to be at issue in this patch.)

Flags: needinfo?(jld)
Blocks: fission-perf
Status: NEW → ASSIGNED
Attachment #9216928 - Attachment description: Bug 1704812 - Broadcast new FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=#layout-reviewers,jwatt → Bug 1704812 - Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/80c9125cfac0 Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld

Backed out for assertion failures on gfxPlatformFontList.cpp

[task 2021-05-13T09:20:32.365Z] 09:20:32     INFO -  PID 1803 | Assertion failure: SharedFontList(), at /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:2662
[task 2021-05-13T09:20:32.365Z] 09:20:32     INFO -  PID 1803 | #01: gfxPlatformFontList::ShareShmBlockToProcess(unsigned int, int) [gfx/thebes/gfxPlatformFontList.cpp:2662]
[task 2021-05-13T09:20:32.365Z] 09:20:32     INFO -  PID 1803 | #02: mozilla::dom::ContentParent::BroadcastShmBlockAdded(unsigned int, unsigned int) [dom/ipc/ContentParent.cpp:1640]
[task 2021-05-13T09:20:32.366Z] 09:20:32     INFO -  PID 1803 | #03: mozilla::fontlist::FontList::AppendShmBlock(unsigned int) [gfx/thebes/SharedFontList.cpp:633]
[task 2021-05-13T09:20:32.366Z] 09:20:32     INFO -  PID 1803 | #04: mozilla::fontlist::FontList::FontList(unsigned int) [gfx/thebes/SharedFontList.cpp:543]
[task 2021-05-13T09:20:32.366Z] 09:20:32     INFO -  PID 1803 | #05: gfxPlatformFontList::InitFontList() [gfx/thebes/gfxPlatformFontList.cpp:506]
[task 2021-05-13T09:20:32.367Z] 09:20:32     INFO -  PID 1803 | #06: gfxPlatformGtk::CreatePlatformFontList() [gfx/thebes/gfxPlatformGtk.cpp:375]
[task 2021-05-13T09:20:32.367Z] 09:20:32     INFO -  PID 1803 | #07: gfxPlatformFontList::Init() [gfx/thebes/gfxPlatformFontList.h:176]
[task 2021-05-13T09:20:32.367Z] 09:20:32     INFO -  PID 1803 | #08: gfxPlatform::Init() [gfx/thebes/gfxPlatform.cpp:973]
[task 2021-05-13T09:20:32.367Z] 09:20:32     INFO -  PID 1803 | #09: gfxPlatform::GetPlatform() [gfx/thebes/gfxPlatform.cpp:483]
[task 2021-05-13T09:20:32.368Z] 09:20:32     INFO -  PID 1803 | #10: mozilla::dom::ContentParent::InitInternal(mozilla::hal::ProcessPriority) [dom/ipc/ContentParent.cpp:2904]
[task 2021-05-13T09:20:32.368Z] 09:20:32     INFO -  PID 1803 | #11: mozilla::dom::ContentParent::LaunchSubprocessResolve(bool, mozilla::hal::ProcessPriority) [dom/ipc/ContentParent.cpp:2632]
[task 2021-05-13T09:20:32.368Z] 09:20:32     INFO -  PID 1803 | #12: mozilla::dom::ContentParent::WaitForLaunchSync(mozilla::hal::ProcessPriority) [dom/ipc/ContentParent.cpp:1187]
[task 2021-05-13T09:20:32.369Z] 09:20:32     INFO -  PID 1803 | #13: mozilla::dom::ContentParent::GetNewOrUsedBrowserProcess(nsTSubstring<char> const&, mozilla::dom::BrowsingContextGroup*, mozilla::hal::ProcessPriority, bool) [dom/ipc/ContentParent.cpp:1136]
[task 2021-05-13T09:20:32.370Z] 09:20:32     INFO -  PID 1803 | #14: XRE_SendTestShellCommand(JSContext*, JSString*, JS::Value*) [toolkit/xre/nsEmbedFunctions.cpp:966]
[task 2021-05-13T09:20:32.370Z] 09:20:32     INFO -  PID 1803 | #15: SendCommand(JSContext*, unsigned int, JS::Value*) [js/xpconnect/src/XPCShellImpl.cpp:483]
[task 2021-05-13T09:20:32.371Z] 09:20:32     INFO -  PID 1803 | #16: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) [js/src/vm/Interpreter.cpp:427]
[task 2021-05-13T09:20:32.372Z] 09:20:32     INFO -  PID 1803 | #17: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [js/src/vm/Interpreter.cpp:512]
[task 2021-05-13T09:20:32.372Z] 09:20:32     INFO -  PID 1803 | #18: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) [js/src/vm/Interpreter.cpp:572]
[task 2021-05-13T09:20:32.373Z] 09:20:32     INFO -  PID 1803 | #19: Interpret(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:3227]
[task 2021-05-13T09:20:32.373Z] 09:20:32     INFO -  PID 1803 | #20: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:396]
[task 2021-05-13T09:20:32.374Z] 09:20:32     INFO -  PID 1803 | #21: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [js/src/vm/Interpreter.cpp:544]
[task 2021-05-13T09:20:32.375Z] 09:20:32     INFO -  PID 1803 | #22: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) [js/src/vm/Interpreter.cpp:572]
[task 2021-05-13T09:20:32.375Z] 09:20:32     INFO -  PID 1803 | #23: js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) [js/src/vm/Interpreter.cpp:589]
[task 2021-05-13T09:20:32.376Z] 09:20:32     INFO -  PID 1803 | #24: JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) [js/src/jsapi.cpp:2733]
[task 2021-05-13T09:20:32.377Z] 09:20:32     INFO -  PID 1803 | #25: nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) [js/xpconnect/src/XPCWrappedJSClass.cpp:993]
[task 2021-05-13T09:20:32.377Z] 09:20:32     INFO -  PID 1803 | #26: PrepareAndDispatch [xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115]
[task 2021-05-13T09:20:32.378Z] 09:20:32     INFO -  PID 1803 | #27: ??? [/builds/worker/workspace/build/application/firefox/libxul.so + 0x43a8e7b]
[task 2021-05-13T09:20:32.379Z] 09:20:32     INFO -  PID 1803 | #28: mozilla::RunnableTask::Run() [xpcom/threads/TaskController.cpp:483]
[task 2021-05-13T09:20:32.379Z] 09:20:32     INFO -  PID 1803 | #29: mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [xpcom/threads/TaskController.cpp:766]
[task 2021-05-13T09:20:32.380Z] 09:20:32     INFO -  PID 1803 | #30: mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) [xpcom/threads/TaskController.cpp:621]
[task 2021-05-13T09:20:32.381Z] 09:20:32     INFO -  PID 1803 | #31: mozilla::TaskController::ProcessPendingMTTask(bool) [xpcom/threads/TaskController.cpp:405]
[task 2021-05-13T09:20:32.381Z] 09:20:32     INFO -  PID 1803 | #32: mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_1>::Run() [xpcom/threads/nsThreadUtils.h:535]
[task 2021-05-13T09:20:32.382Z] 09:20:32     INFO -  PID 1803 | #33: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1163]
[task 2021-05-13T09:20:32.383Z] 09:20:32     INFO -  PID 1803 | #34: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:548]
[task 2021-05-13T09:20:32.383Z] 09:20:32     INFO -  PID 1803 | #35: nsThreadManager::SpinEventLoopUntilInternal(nsTSubstring<char> const&, nsINestedEventLoopCondition*, mozilla::ShutdownPhase) [xpcom/threads/nsThreadManager.cpp:714]
[task 2021-05-13T09:20:32.384Z] 09:20:32     INFO -  PID 1803 | #36: ??? [/builds/worker/workspace/build/application/firefox/libxul.so + 0x43a8d32]
[task 2021-05-13T09:20:32.385Z] 09:20:32     INFO -  PID 1803 | #37: CallMethodHelper::Call() [js/xpconnect/src/XPCWrappedNative.cpp:1197]
[task 2021-05-13T09:20:32.385Z] 09:20:32     INFO -  PID 1803 | #38: XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) [js/xpconnect/src/XPCWrappedNative.cpp:1143]
[task 2021-05-13T09:20:32.386Z] 09:20:32     INFO -  PID 1803 | #39: XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) [js/xpconnect/src/XPCWrappedNativeJSOps.cpp:925]
[task 2021-05-13T09:20:32.387Z] 09:20:32     INFO -  PID 1803 | #40: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) [js/src/vm/Interpreter.cpp:427]
[task 2021-05-13T09:20:32.388Z] 09:20:32     INFO -  PID 1803 | #41: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [js/src/vm/Interpreter.cpp:512]
[task 2021-05-13T09:20:32.388Z] 09:20:32     INFO -  PID 1803 | #42: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) [js/src/vm/Interpreter.cpp:572]
[task 2021-05-13T09:20:32.389Z] 09:20:32     INFO -  PID 1803 | #43: Interpret(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:3227]
[task 2021-05-13T09:20:32.390Z] 09:20:32     INFO -  PID 1803 | #44: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:396]
[task 2021-05-13T09:20:32.390Z] 09:20:32     INFO -  PID 1803 | #45: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [js/src/vm/Interpreter.cpp:544]
[task 2021-05-13T09:20:32.391Z] 09:20:32     INFO -  PID 1803 | #46: InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) [js/src/vm/Interpreter.cpp:572]
[task 2021-05-13T09:20:32.392Z] 09:20:32     INFO -  PID 1803 | #47: js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) [js/src/jit/BaselineIC.cpp:1585]
[task 2021-05-13T09:20:32.392Z] 09:20:32     INFO -  PID 1803 | #48: ??? (???:???)
[task 2021-05-13T09:20:32.393Z] 09:20:32     INFO -  PID 1803 | ExceptionHandler::GenerateDump cloned child 1835
[task 2021-05-13T09:20:32.393Z] 09:20:32     INFO -  PID 1803 | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2021-05-13T09:20:32.394Z] 09:20:32     INFO -  PID 1803 | ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2021-05-13T09:20:32.394Z] 09:20:32     INFO -  PID 1803 | [Child 1815, Main Thread] WARNING: could not set real-time limit in CubebUtils::InitLibrary: file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:619
[task 2021-05-13T09:20:32.395Z] 09:20:32     INFO -  PID 1803 | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2021-05-13T09:20:32.395Z] 09:20:32     INFO -  PID 1803 | [Child 1815, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:377
[task 2021-05-13T09:20:32.396Z] 09:20:32     INFO -  PID 1803 | Exiting due to channel error.
Flags: needinfo?(jfkthame)

Argh.... I had seen and fixed this on try, but the fix ended up in one of the patches in bug 1708768, which didn't land yet. I'll merge it in here instead.

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/221d5494188c Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld

Backed out for thread sanitizer issues in SharedFontList.

backout: https://hg.mozilla.org/integration/autoland/rev/dba0873e566c248ba97e62dd9baf175d2a8aa0a2

push: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=221d5494188c4c088861751d5bfe78331742e039&searchStr=xpcshell

failure log:

  1. PROCESS-CRASH | test_child_assertions.js | application crashed [@ gfxPlatformFontList::ShmBlockAdded(unsigned int, unsigned int,
    base::FileDescriptor)]

  2. SUMMARY: ThreadSanitizer: SEGV /builds/worker/workspace/obj-build/dist/include/mozilla/UniquePtr.h:290:32 in get

[task 2021-05-13T12:17:58.536Z] 12:17:58     INFO -  PID 2007 | ThreadSanitizer:DEADLYSIGNAL
[task 2021-05-13T12:17:58.537Z] 12:17:58     INFO -  PID 2007 | ==2018==ERROR: ThreadSanitizer: SEGV on unknown address 0x000000000700 (pc 0x7f8bab748d2b bp 0x000000000000 sp 0x7ffd4a9f8e60 T2018)
[task 2021-05-13T12:17:58.537Z] 12:17:58     INFO -  PID 2007 | ==2018==The signal is caused by a READ memory access.
[task 2021-05-13T12:17:58.537Z] 12:17:58     INFO -  PID 2007 | ==2018==Hint: address points to the zero page.
[task 2021-05-13T12:17:58.539Z] 12:17:58     INFO -  (xpcshell/head.js) | test run in child pending (3)
[task 2021-05-13T12:17:58.539Z] 12:17:58     INFO -  (xpcshell/head.js) | test run_next_test 1 pending (4)
[task 2021-05-13T12:17:58.539Z] 12:17:58     INFO -  (xpcshell/head.js) | test test_child_simple finished (4)
[task 2021-05-13T12:17:58.540Z] 12:17:58     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (3)
[task 2021-05-13T12:17:58.540Z] 12:17:58     INFO -  (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2021-05-13T12:17:58.540Z] 12:17:58     INFO -  PID 2007 |     #0 get /builds/worker/workspace/obj-build/dist/include/mozilla/UniquePtr.h:290:32 (libxul.so+0x2174d2b)
[task 2021-05-13T12:17:58.541Z] 12:17:58     INFO -  PID 2007 |     #1 SharedFontList /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatformFontList.h:266:28 (libxul.so+0x2174d2b)
[task 2021-05-13T12:17:58.541Z] 12:17:58     INFO -  PID 2007 |     #2 gfxPlatformFontList::ShmBlockAdded(unsigned int, unsigned int, base::FileDescriptor) /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:2668:7 (libxul.so+0x2174d2b)
[task 2021-05-13T12:17:58.541Z] 12:17:58     INFO -  PID 2007 |     #3 mozilla::dom::ContentChild::RecvFontListShmBlockAdded(unsigned int const&, unsigned int const&, base::FileDescriptor const&) /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp:2363:44 (libxul.so+0x462d069)
[task 2021-05-13T12:17:58.542Z] 12:17:58     INFO -  PID 2007 |     #4 mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PContentChild.cpp:10232:56 (libxul.so+0x15c6cbc)
[task 2021-05-13T12:17:58.542Z] 12:17:58     INFO -  PID 2007 |     #5 mozilla::dom::ContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/checkouts/gecko/dom/ipc/ContentChild.cpp:3562:25 (libxul.so+0x4631aa3)
[task 2021-05-13T12:17:58.542Z] 12:17:58     INFO -  PID 2007 |     #6 mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2152:25 (libxul.so+0x14a62be)
[task 2021-05-13T12:17:58.543Z] 12:17:58     INFO -  PID 2007 |     #7 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2076:9 (libxul.so+0x14a4652)
[task 2021-05-13T12:17:58.543Z] 12:17:58     INFO -  PID 2007 |     #8 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1924:3 (libxul.so+0x14a525a)
[task 2021-05-13T12:17:58.543Z] 12:17:58     INFO -  PID 2007 |     #9 mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1955:13 (libxul.so+0x14a5861)
[task 2021-05-13T12:17:58.544Z] 12:17:58     INFO -  PID 2007 |     #10 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:482:16 (libxul.so+0xbedb47)
[task 2021-05-13T12:17:58.544Z] 12:17:58     INFO -  PID 2007 |     #11 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:766:26 (libxul.so+0xbcaaba)
[task 2021-05-13T12:17:58.544Z] 12:17:58     INFO -  PID 2007 |     #12 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:621:15 (libxul.so+0xbc9242)
[task 2021-05-13T12:17:58.545Z] 12:17:58     INFO -  PID 2007 |     #13 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:405:36 (libxul.so+0xbc93e4)
[task 2021-05-13T12:17:58.545Z] 12:17:58     INFO -  PID 2007 |     #14 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:138:37 (libxul.so+0xbf17a7)
[task 2021-05-13T12:17:58.545Z] 12:17:58     INFO -  PID 2007 |     #15 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:534:5 (libxul.so+0xbf17a7)
[task 2021-05-13T12:17:58.546Z] 12:17:58     INFO -  PID 2007 |     #16 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1159:16 (libxul.so+0xbdb8b0)
[task 2021-05-13T12:17:58.546Z] 12:17:58     INFO -  PID 2007 |     #17 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:548:10 (libxul.so+0xbe2832)
[task 2021-05-13T12:17:58.546Z] 12:17:58     INFO -  PID 2007 |     #18 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x14a9b2d)
[task 2021-05-13T12:17:58.547Z] 12:17:58     INFO -  PID 2007 |     #19 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x14aa5cb)
[task 2021-05-13T12:17:58.547Z] 12:17:58     INFO -  PID 2007 |     #20 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.547Z] 12:17:58     INFO -  PID 2007 |     #21 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.548Z] 12:17:58     INFO -  PID 2007 |     #22 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.548Z] 12:17:58     INFO -  PID 2007 |     #23 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4b024f6)
[task 2021-05-13T12:17:58.548Z] 12:17:58     INFO -  PID 2007 |     #24 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:911:20 (libxul.so+0x697c1d9)
[task 2021-05-13T12:17:58.549Z] 12:17:58     INFO -  PID 2007 |     #25 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x14aa57d)
[task 2021-05-13T12:17:58.549Z] 12:17:58     INFO -  PID 2007 |     #26 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:335:10 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.549Z] 12:17:58     INFO -  PID 2007 |     #27 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:328:3 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.550Z] 12:17:58     INFO -  PID 2007 |     #28 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:310:3 (libxul.so+0x1433d3c)
[task 2021-05-13T12:17:58.550Z] 12:17:58     INFO -  PID 2007 |     #29 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:743:34 (libxul.so+0x697bf59)
[task 2021-05-13T12:17:58.550Z] 12:17:58     INFO -  PID 2007 |     #30 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x6983fa2)
[task 2021-05-13T12:17:58.551Z] 12:17:58     INFO -  PID 2007 |     #31 content_process_main /builds/worker/checkouts/gecko/ipc/app/../contentproc/plugin-container.cpp:57:28 (plugin-container+0xc9efd)
[task 2021-05-13T12:17:58.551Z] 12:17:58     INFO -  PID 2007 |     #32 main /builds/worker/checkouts/gecko/ipc/app/MozillaRuntimeMain.cpp:72:11 (plugin-container+0xc9efd)
[task 2021-05-13T12:17:58.551Z] 12:17:58     INFO -  PID 2007 |     #33 __libc_start_main /build/glibc-2ORdQG/glibc-2.27/csu/../csu/libc-start.c:310 (libc.so.6+0x21b96)
[task 2021-05-13T12:17:58.552Z] 12:17:58     INFO -  PID 2007 |     #34 _start <null> (plugin-container+0x2ec5a)
[task 2021-05-13T12:17:58.552Z] 12:17:58     INFO -  PID 2007 | ThreadSanitizer can not provide additional info.
[task 2021-05-13T12:17:58.552Z] 12:17:58     INFO -  PID 2007 | SUMMARY: ThreadSanitizer: SEGV /builds/worker/workspace/obj-build/dist/include/mozilla/UniquePtr.h:290:32 in get
[task 2021-05-13T12:17:58.552Z] 12:17:58     INFO -  PID 2007 | ==2018==ABORTING
Flags: needinfo?(jfkthame)

This is addressed by the second patch in bug 1708768, so I'll merge it in here to re-land.

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f3ff56bb28ba Broadcast newly-added FontList shm blocks to Content Processes instead of waiting and doing sync IPC. r=emilio,jld
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
Performance Impact: --- → P1
Keywords: perf:pageload
Whiteboard: [qf:p1:pageload][fission-perf] → [fission-perf]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: