Closed Bug 957498 Opened 11 years ago Closed 5 years ago

e10s: High heap-unclassified in parent process due to IPC strings

Categories

(Core :: DOM: Content Processes, defect, P5)

x86_64
Linux
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
e10s later ---

People

(Reporter: n.nethercote, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [MemShrink:P3])

Steps: - Start an e10s-enabled profile. - Open about:memory in a new tab. - Trigger DMD via the signal-based mechanism. The parent has a huge chunk of unreported memory due to IPC strings: > Unreported: 226 blocks in stack trace record 1 of 1,833 > 43,008,000 bytes (42,186,524 requested / 821,476 slop) > 39.25% of the heap (39.25% cumulative); 72.85% of unreported (72.85% cumulative) > Allocated at > replace_malloc (/home/njn/moz/mi5/co64dmd/memory/replace/dmd/../../../../memory/replace/dmd/DMD.cpp:1246) 0xa54446b1 > nsStringBuffer::Alloc(unsigned long) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../../xpcom/string/src/nsSubstring.cpp:195) 0x9e48d6d0 > nsAString_internal::MutatePrep(unsigned int, char16_t**, unsigned int*) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../../xpcom/string/src/nsTSubstring.cpp:133) 0x9e48d949 > nsAString_internal::ReplacePrepInternal(unsigned int, unsigned int, unsigned int, unsigned int) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../../xpcom/string/src/nsTSubstring.cpp:169) 0x9e48da4b > nsAString_internal::ReplacePrep(unsigned int, unsigned int, unsigned int) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../dist/include/nsTSubstring.h:800) 0x9e491b37 > nsAString_internal::Assign(char16_t const*, unsigned int, mozilla::fallible_t const&) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../../xpcom/string/src/nsTSubstring.cpp:321) 0x9e48dc03 > nsAString_internal::Assign(char16_t const*, unsigned int) (/home/njn/moz/mi5/co64dmd/xpcom/string/src/../../../../xpcom/string/src/nsTSubstring.cpp:300) 0x9e48dc38 > IPC::ParamTraits<nsAString_internal>::Read(IPC::Message const*, void**, nsAString_internal*) (/home/njn/moz/mi5/co64dmd/ipc/ipdl/../../dist/include/ipc/IPCMessageUtils.h:287) 0x9e7633d9 > bool IPC::ReadParam<nsString>(IPC::Message const*, void**, nsString*) (/home/njn/moz/mi5/co64dmd/ipc/ipdl/../../../ipc/chromium/src/chrome/common/ipc_message_utils.h:121) 0x9e7c79c6 > bool mozilla::dom::PContentParent::Read<nsString>(nsString*, IPC::Message const*, void**) (/home/njn/moz/mi5/co64dmd/ipc/ipdl/../../ipc/ipdl/_ipdlheaders/mozilla/dom/PContentParent.h:1274) 0x9e7d0ba2 > mozilla::dom::PContentParent::OnMessageReceived(IPC::Message const&) (/home/njn/moz/mi5/co64dmd/ipc/ipdl/./PContentParent.cpp:2989) 0x9e7b99f8 > mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) (/home/njn/moz/mi5/co64dmd/ipc/glue/../../../ipc/glue/MessageChannel.cpp:992) 0x9e73ebed > mozilla::ipc::MessageChannel::OnMaybeDequeueOne() (/home/njn/moz/mi5/co64dmd/ipc/glue/../../../ipc/glue/MessageChannel.cpp:890) 0x9e73c458 > MessageLoop::RunTask(Task*) (/home/njn/moz/mi5/co64dmd/ipc/chromium/../../../ipc/chromium/src/base/message_loop.cc:344) 0x9e70682b > MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (/home/njn/moz/mi5/co64dmd/ipc/chromium/../../../ipc/chromium/src/base/message_loop.cc:352) 0x9e706aad > MessageLoop::DoWork() (/home/njn/moz/mi5/co64dmd/ipc/chromium/../../../ipc/chromium/src/base/message_loop.cc:452) 0x9e706ba0 > mozilla::ipc::DoWorkRunnable::Run() (/home/njn/moz/mi5/co64dmd/ipc/glue/../../../ipc/glue/MessagePump.cpp:227) 0x9e74003c > nsThread::ProcessNextEvent(bool, bool*) (/home/njn/moz/mi5/co64dmd/xpcom/threads/../../../xpcom/threads/nsThread.cpp:634) 0x9e4e131b > NS_ProcessNextEvent(nsIThread*, bool) (/home/njn/moz/mi5/xpcom/glue/nsThreadUtils.cpp:263) 0x9e47e9f9 > mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (/home/njn/moz/mi5/co64dmd/ipc/glue/../../../ipc/glue/MessagePump.cpp:95) 0x9e73fd6c > MessageLoop::Run() (/home/njn/moz/mi5/co64dmd/ipc/chromium/../../../ipc/chromium/src/base/message_loop.cc:194) 0x9e706721 > nsBaseAppShell::Run() (/home/njn/moz/mi5/co64dmd/widget/xpwidgets/../../../widget/xpwidgets/nsBaseAppShell.cpp:163) 0x9f0fdc4b > nsAppStartup::Run() (/home/njn/moz/mi5/co64dmd/toolkit/components/startup/../../../../toolkit/components/startup/nsAppStartup.cpp:276) 0x9fd7b548 > XREMain::XRE_mainRun() (/home/njn/moz/mi5/co64dmd/toolkit/xre/../../../toolkit/xre/nsAppRunner.cpp:4023) 0x9fcda9d1 This seems to go away after not too long, but it would be nice to have a reporter for it anyway, just to make sure it doesn't come back.
Whiteboard: [MemShrink] → [MemShrink:P3]
It'd be nice if we could somehow record what IPC message is involved for these. Might be worth a look at the IPDL processor to see if there's a way to make that visible.
Component: IPC → DOM: Content Processes
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046 Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5. If you have questions, please contact :mdaly.
Priority: -- → P5

No meaningful action in 7 years, closing.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.