When I process a GetResourceHandler request for a pdf, the framework seems to store the contents of each pdf - allocated via the stack frame below.
I'm running on Mac and I have used a differential analysis of live allocations (malloc_history) over a longer test run to isolate this call stack that is causing the memory growth. I can set a breakpoint and view that it's the PDF contents returned from my GetResourceHandler.
My build is cef_binary_92.0.21+ga9ec100+chromium-92.0.4515.107 -- any help is greatly appreciated.
- Code: Select all
0 libsystem_malloc.dylib 0x7fff20479e7a _malloc_zone_malloc + 242
1 org.chromium.ContentShell.framework 0x10d3754f8 operator new(unsigned long) + 40 new.cpp:67
2 org.chromium.ContentShell.framework 0x10ab71e1f std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >::__append(unsigned long) + 111 vector:1093
3 org.chromium.ContentShell.framework 0x1101b9cf9 storage::BlobDataItem::AllocateBytes() + 41 blob_data_item.cc:181
4 org.chromium.ContentShell.framework 0x1101b46dc storage::BlobBuilderFromStream::WritePipeToFutureDataHelper::Populate(base::span<char const, 18446744073709551615ul>, unsigned long long) + 44 blob_builder_from_stream.cc:299
5 org.chromium.ContentShell.framework 0x1101b4866 storage::(anonymous namespace)::DataPipeConsumerHelper::DataPipeReady(unsigned int, mojo::HandleSignalsState const&) + 182 blob_builder_from_stream.cc:108
6 org.chromium.ContentShell.framework 0x10d90718e mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) + 286 simple_watcher.cc:279
7 org.chromium.ContentShell.framework 0x10d741513 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 323 task_annotator.cc:178
8 org.chromium.ContentShell.framework 0x10d755a9f base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) + 415 thread_controller_with_message_pump_impl.cc:361
9 org.chromium.ContentShell.framework 0x10d7557bb base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() + 107 thread_controller_with_message_pump_impl.cc:260
10 org.chromium.ContentShell.framework 0x10d755ea2 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() + 18 thread_controller_with_message_pump_impl.cc:0
11 org.chromium.ContentShell.framework 0x10d7bd307 base::MessagePumpKqueue::Run(base::MessagePump::Delegate*) + 151 message_pump_kqueue.cc:173
12 org.chromium.ContentShell.framework 0x10d7560e0 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) + 208 thread_controller_with_message_pump_impl.cc:471
13 org.chromium.ContentShell.framework 0x10d7205db base::RunLoop::Run(base::Location const&) + 411 run_loop.cc:136
14 org.chromium.ContentShell.framework 0x10d771938 base::Thread::Run(base::RunLoop*) + 56 thread.cc:326
15 org.chromium.ContentShell.framework 0x10bc8d190 content::BrowserProcessIOThread::IOThreadRun(base::RunLoop*) + 96 browser_process_io_thread.cc:131
16 org.chromium.ContentShell.framework 0x10d771ac8 base::Thread::ThreadMain() + 376 thread.cc:399
17 org.chromium.ContentShell.framework 0x10d790a48 base::(anonymous namespace)::ThreadFunc(void*) + 104 platform_thread_posix.cc:98
18 libsystem_pthread.dylib 0x7fff20639950 _pthread_start + 224
19 libsystem_pthread.dylib 0x7fff2063547b thread_start + 15