OnNoMemoryInternal crash SendUpdateState

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

OnNoMemoryInternal crash SendUpdateState

Postby avillarreal » Wed Jul 28, 2021 10:26 pm

I've being having crashes using cef_binary_87.1.13+g481a82a+chromium-87.0.4280.141_windows32 library
My call stack looks like this:
Code: Select all
    KERNELBASE.dll!_RaiseException@16()   Unknown
    libcef.dll!base::internal::OnNoMemoryInternal(unsigned int size) Line 39   C++
    libcef.dll!base::`anonymous namespace'::ReleaseReservationOrTerminate(unsigned int size) Line 48   C++
    libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81   C++
    [Inline Frame] libcef.dll!`anonymous namespace'::CallNewHandler(unsigned int size) Line 55   C++
    [Inline Frame] libcef.dll!ShimAlignedMalloc(unsigned int size, unsigned int alignment, void * context) Line 289   C++
    libcef.dll!_aligned_malloc(unsigned int size, unsigned int alignment) Line 72   C++
    libcef.dll!pdfium::base::AlignedAlloc(unsigned int size, unsigned int alignment) Line 23   C++
    [Inline Frame] libcef.dll!mojo::core::`anonymous namespace'::MakeAlignedBuffer(unsigned int size) Line 62   C++
    libcef.dll!mojo::core::Channel::Message::ExtendPayload(unsigned int new_payload_size) Line 317   C++
    libcef.dll!mojo::core::UserMessageImpl::AppendData(unsigned int additional_payload_size, const unsigned int * handles, unsigned int num_handles) Line 509   C++
>   libcef.dll!mojo::core::Core::AppendMessageData(unsigned int message_handle, unsigned int additional_payload_size, const unsigned int * handles, unsigned int num_handles, const MojoAppendMessageDataOptions * options, void * * buffer, unsigned int * buffer_size) Line 389   C++
    libcef.dll!MojoAppendMessageDataImpl(unsigned int message, unsigned int additional_payload_size, const unsigned int * handles, unsigned int num_handles, const MojoAppendMessageDataOptions * options, void * * buffer, unsigned int * buffer_size) Line 92   C++
    libcef.dll!mojo::internal::Buffer::Allocate(unsigned int num_bytes) Line 69   C++
    [Inline Frame] libcef.dll!mojo_base::mojom::internal::FilePath_Data::BufferWriter::Allocate(mojo::internal::Buffer * serialization_buffer) Line 39   C++
    libcef.dll!mojo::internal::Serializer<mojo_base::mojom::FilePathDataView,const base::FilePath>::Serialize(const base::FilePath & input, mojo::internal::Buffer * buffer, mojo_base::mojom::internal::FilePath_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 112   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>> & input, mojo::internal::Buffer * & args, mojo_base::mojom::internal::String16_Data::BufferWriter * & args, mojo::internal::SerializationContext * & args) Line 43   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>> & input, mojo::internal::Buffer * buffer, mojo_base::mojom::internal::String16_Data::BufferWriter * writer, mojo::internal::SerializationContext * & args) Line 71   C++
    [Inline Frame] libcef.dll!mojo::internal::ArraySerializer<mojo::ArrayDataView<mojo_base::mojom::String16DataView>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>,mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>,0>,void>::SerializeCaller<mojo_base::mojom::String16DataView,0>::Run(const base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>> & input, mojo::internal::Buffer * buf, mojo_base::mojom::internal::String16_Data::BufferWriter * writer, const mojo::internal::ContainerValidateParams * validate_params, mojo::internal::SerializationContext * context) Line 395   C++
    libcef.dll!mojo::internal::ArraySerializer<mojo::ArrayDataView<mojo_base::mojom::String16DataView>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>,mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>,0>,void>::SerializeElements(mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>,0> * input, mojo::internal::Buffer * buf, mojo::internal::Array_Data<mojo::internal::Pointer<mojo_base::mojom::internal::String16_Data>>::BufferWriter * writer, const mojo::internal::ContainerValidateParams * validate_params, mojo::internal::SerializationContext * context) Line 357   C++
    libcef.dll!mojo::internal::Serializer<mojo::ArrayDataView<mojo_base::mojom::String16DataView>,const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>>>::Serialize(const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>> & input, mojo::internal::Buffer * buf, mojo::internal::Array_Data<mojo::internal::Pointer<mojo_base::mojom::internal::String16_Data>>::BufferWriter * writer, const mojo::internal::ContainerValidateParams * validate_params, mojo::internal::SerializationContext * context) Line 492   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const std::__1::vector<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>,std::__1::allocator<base::Optional<std::__1::basic_string<wchar_t,std::__1::char_traits<wchar_t>,std::__1::allocator<wchar_t>>>>> & input, mojo::internal::Buffer * & args, mojo::internal::Array_Data<mojo::internal::Pointer<mojo_base::mojom::internal::String16_Data>>::BufferWriter * && args, const mojo::internal::ContainerValidateParams * && args, mojo::internal::SerializationContext * & args) Line 43   C++
    libcef.dll!mojo::internal::Serializer<blink::mojom::FrameStateDataView,const mojo::StructPtr<blink::mojom::FrameState>>::Serialize(const mojo::StructPtr<blink::mojom::FrameState> & input, mojo::internal::Buffer * buffer, blink::mojom::internal::FrameState_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 1068   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const mojo::StructPtr<blink::mojom::FrameState> & input, mojo::internal::Buffer * & args, blink::mojom::internal::FrameState_Data::BufferWriter * && args, mojo::internal::SerializationContext * & args) Line 43   C++
    libcef.dll!mojo::internal::Serializer<blink::mojom::PageStateDataView,mojo::StructPtr<blink::mojom::PageState>>::Serialize(mojo::StructPtr<blink::mojom::PageState> & input, mojo::internal::Buffer * buffer, blink::mojom::internal::PageState_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 1169   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(mojo::StructPtr<blink::mojom::PageState> & input, mojo::internal::Buffer * & args, blink::mojom::internal::PageState_Data::BufferWriter * & args, mojo::internal::SerializationContext * & args) Line 43   C++
    [Inline Frame] libcef.dll!mojo::internal::MojomSerializationImplTraits<blink::mojom::PageStateDataView,void>::Serialize(mojo::StructPtr<blink::mojom::PageState> & input, mojo::internal::Buffer * buffer, blink::mojom::internal::PageState_Data::BufferWriter * writer, mojo::internal::SerializationContext * context) Line 44   C++
    libcef.dll!mojo::internal::SerializeAsMessageImpl<blink::mojom::PageStateDataView,mojo::StructPtr<blink::mojom::PageState>>(mojo::StructPtr<blink::mojom::PageState> * input) Line 68   C++
    libcef.dll!mojo::internal::SerializeImpl<blink::mojom::PageStateDataView,std::__1::vector<unsigned char,std::__1::allocator<unsigned char>>,mojo::StructPtr<blink::mojom::PageState>>(mojo::StructPtr<blink::mojom::PageState> * input) Line 79   C++
    [Inline Frame] libcef.dll!blink::mojom::PageState::Serialize(mojo::StructPtr<blink::mojom::PageState> * input) Line 1458   C++
    [Inline Frame] libcef.dll!content::`anonymous namespace'::WriteMojoPageState(const content::ExplodedPageState & state, content::`anonymous namespace'::SerializeObject * obj) Line 901   C++
    libcef.dll!content::EncodePageState(const content::ExplodedPageState & exploded, std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>> * encoded) Line 1014   C++
    libcef.dll!content::SingleHistoryItemToPageState(const blink::WebHistoryItem & item) Line 133   C++
    libcef.dll!content::RenderFrameImpl::SendUpdateState() Line 6449   C++
    libcef.dll!content::RenderViewImpl::SendFrameStateUpdates() Line 559   C++
    [Inline Frame] libcef.dll!base::OnceCallback<void ()>::Run() Line 100   C++
    libcef.dll!base::OneShotTimer::RunUserTask() Line 248   C++
    [Inline Frame] libcef.dll!base::internal::TimerBase::RunScheduledTask() Line 225   C++
    libcef.dll!base::internal::BaseTimerTaskInternal::Run() Line 50   C++
    [Inline Frame] libcef.dll!base::OnceCallback<void ()>::Run() Line 100   C++
    libcef.dll!base::TaskAnnotator::RunTask(const char * trace_event_name, base::PendingTask * pending_task) Line 163   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow * continuation_lazy_now) Line 332   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() Line 254   C++
    libcef.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate) Line 41   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool application_tasks_allowed, base::TimeDelta timeout) Line 454   C++
    libcef.dll!base::RunLoop::Run() Line 126   C++
    libcef.dll!content::RendererMain(const content::MainFunctionParams & parameters) Line 257   C++
    libcef.dll!content::RunOtherNamedProcessTypeMain(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char>> & process_type, const content::MainFunctionParams & main_function_params, content::ContentMainDelegate * delegate) Line 531   C++
    libcef.dll!content::ContentMainRunnerImpl::Run(bool start_service_manager_only) Line 861   C++
    libcef.dll!content::ContentMainRun(content::ContentMainParams & params, content::ContentMainRunner * content_main_runner) Line 373   C++
    libcef.dll!content::RunContentProcess(content::ContentMainParams & params, content::ContentMainRunner * content_main_runner) Line 407   C++
    libcef.dll!content::ContentMain(content::ContentMainParams & params) Line 415   C++
    libcef.dll!CefMainRunner::RunAsHelperProcess(const CefMainArgs & args, scoped_refptr<CefApp> application, void * windows_sandbox_info) Line 353   C++
    libcef.dll!CefExecuteProcess(const CefMainArgs & args, scoped_refptr<CefApp> application, void * windows_sandbox_info) Line 185   C++
    libcef.dll!cef_execute_process(const _cef_main_args_t * args, _cef_app_t * application, void * windows_sandbox_info) Line 78   C++
    ExamplifyHelper.exe!CefExecuteProcess(class CefMainArgs const &,class scoped_refptr<class CefApp>,void *)   Unknown
    ExamplifyHelper.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 75   C++
    [Inline Frame] ExamplifyHelper.exe!invoke_main() Line 118   C++
    ExamplifyHelper.exe!__scrt_common_main_seh() Line 288   C++
    kernel32.dll!@BaseThreadInitThunk@12()   Unknown
    ntdll.dll!__RtlUserThreadStart()   Unknown
    ntdll.dll!__RtlUserThreadStart@8()   Unknown


The amount of space is trying to allocate is not much 28630144 bytes

And is just calling the SendUpdateState function for each renderer. I don't see any clues here, it seems like an internal job call that kicks in and just fails.
Any thoughts?
avillarreal
Newbie
 
Posts: 2
Joined: Wed Jul 28, 2021 10:18 pm

Re: OnNoMemoryInternal crash SendUpdateState

Postby magreenblatt » Wed Jul 28, 2021 10:43 pm

What steps reproduce the crash? Are you building with /LARGEADDRESSAWARE? You might also try using the 64-bit build, or a supported version.
magreenblatt
Site Admin
 
Posts: 12404
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 37 guests

cron