Renderer process crashing in OnNoMemory

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.

Renderer process crashing in OnNoMemory

Postby rado » Mon Jan 06, 2020 5:20 am

I guess it could be bug in blink, is it possible to do something with this? User is reporting regularly this crash on one site, but I cannot reproduce it. The same crash is with cef_binary_78.2.9+g4907ec5+chromium-78.0.3904.70_windows32 and cef_binary_79.0.10+ge866a07+chromium-79.0.3945.88_windows32.
Last lines in the log:
Code: Select all
[0105/161031.632:WARNING:gpu_process_host.cc(1213)] The GPU process has crashed 2 time(s)
[0105/161031.632:ERROR:browser_gpu_channel_host_factory.cc(138)] Failed to launch GPU process.


Call stack:
Code: Select all
    KERNELBASE.dll!_RaiseException@16()   Unknown
    libcef.dll!base::`anonymous namespace'::OnNoMemory(unsigned int size) Line 56   C++
    libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81   C++
    [Inline Frame] libcef.dll!`anonymous namespace'::CallNewHandler(unsigned int size) Line 57   C++
    [Inline Frame] libcef.dll!ShimAlignedMalloc(unsigned int size, unsigned int alignment, void * context) Line 303   C++
    libcef.dll!_aligned_malloc(unsigned int size, unsigned int alignment) Line 74   C++
    libcef.dll!base::AlignedAlloc(unsigned int size, unsigned int alignment) Line 22   C++
    libcef.dll!mojo::core::Channel::Message::ExtendPayload(unsigned int new_payload_size) Line 315   C++
    libcef.dll!mojo::core::UserMessageImpl::AppendData(unsigned int additional_payload_size, const unsigned int * handles, unsigned int num_handles) Line 507   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 408   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 66   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 109   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const base::FilePath & input, mojo::internal::Buffer * & args, mojo_base::mojom::internal::FilePath_Data::BufferWriter * && args, mojo::internal::SerializationContext * &) Line 43   C++
    libcef.dll!mojo::internal::Serializer<network::mojom::DataElementDataView,const network::DataElement>::Serialize(const network::DataElement & input, mojo::internal::Buffer * buffer, network::mojom::internal::DataElement_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 1209   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const network::DataElement & input, mojo::internal::Buffer * &) Line 43   C++
    [Inline Frame] libcef.dll!mojo::internal::ArraySerializer<mojo::ArrayDataView<network::mojom::DataElementDataView>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>,mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>,0>,void>::SerializeCaller<network::mojom::DataElementDataView,0>::Run(const network::DataElement & input, mojo::internal::Buffer * buf, network::mojom::internal::DataElement_Data::BufferWriter * writer, const mojo::internal::ContainerValidateParams * validate_params, mojo::internal::SerializationContext * context) Line 395   C++
    libcef.dll!mojo::internal::ArraySerializer<mojo::ArrayDataView<network::mojom::DataElementDataView>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>,mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>,0>,void>::SerializeElements(mojo::internal::ArrayIterator<mojo::ArrayTraits<std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>,0> * input, mojo::internal::Buffer * buf, mojo::internal::Array_Data<mojo::internal::Pointer<network::mojom::internal::DataElement_Data>>::BufferWriter * writer, const mojo::internal::ContainerValidateParams * validate_params, mojo::internal::SerializationContext * context) Line 357   C++
    libcef.dll!mojo::internal::Serializer<mojo::ArrayDataView<network::mojom::DataElementDataView>,const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>>>::Serialize(const std::__1::vector<network::DataElement,std::__1::allocator<network::DataElement>> & input, mojo::internal::Buffer * buf, mojo::internal::Array_Data<mojo::internal::Pointer<network::mojom::internal::DataElement_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<network::DataElement,std::__1::allocator<network::DataElement>> & input, mojo::internal::Buffer * &) Line 43   C++
    libcef.dll!mojo::internal::Serializer<network::mojom::URLRequestBodyDataView,const scoped_refptr<network::ResourceRequestBody>>::Serialize(const scoped_refptr<network::ResourceRequestBody> & input, mojo::internal::Buffer * buffer, network::mojom::internal::URLRequestBody_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 1149   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const scoped_refptr<network::ResourceRequestBody> & input, mojo::internal::Buffer * &) Line 43   C++
    libcef.dll!mojo::internal::Serializer<network::mojom::URLRequestDataView,const network::ResourceRequest>::Serialize(const network::ResourceRequest & input, mojo::internal::Buffer * buffer, network::mojom::internal::URLRequest_Data::BufferWriter * output, mojo::internal::SerializationContext * context) Line 1039   C++
    [Inline Frame] libcef.dll!mojo::internal::Serialize(const network::ResourceRequest & input, mojo::internal::Buffer * &) Line 43   C++
    libcef.dll!network::mojom::URLLoaderFactoryProxy::CreateLoaderAndStart(mojo::InterfaceRequest<network::mojom::URLLoader> in_loader, int in_routing_id, int in_request_id, unsigned int in_options, const network::ResourceRequest & in_request, mojo::InterfacePtr<network::mojom::URLLoaderClient> in_client, const net::MutableNetworkTrafficAnnotationTag & in_traffic_annotation) Line 93   C++
    libcef.dll!network::WeakWrapperSharedURLLoaderFactory::CreateLoaderAndStart(mojo::InterfaceRequest<network::mojom::URLLoader> loader, int routing_id, int request_id, unsigned int options, const network::ResourceRequest & request, mojo::InterfacePtr<network::mojom::URLLoaderClient> client, const net::MutableNetworkTrafficAnnotationTag & traffic_annotation) Line 35   C++
    libcef.dll!content::ThrottlingURLLoader::StartNow() Line 459   C++
    libcef.dll!content::ThrottlingURLLoader::Start(scoped_refptr<network::SharedURLLoaderFactory> factory, int routing_id, int request_id, unsigned int options, network::ResourceRequest * url_request, scoped_refptr<base::SingleThreadTaskRunner> task_runner) Line 380   C++
    libcef.dll!content::ThrottlingURLLoader::CreateLoaderAndStart(scoped_refptr<network::SharedURLLoaderFactory> factory, std::__1::vector<std::__1::unique_ptr<blink::URLLoaderThrottle,std::__1::default_delete<blink::URLLoaderThrottle>>,std::__1::allocator<std::__1::unique_ptr<blink::URLLoaderThrottle,std::__1::default_delete<blink::URLLoaderThrottle>>>> throttles, int routing_id, int request_id, unsigned int options, network::ResourceRequest * url_request, network::mojom::URLLoaderClient * client, const net::NetworkTrafficAnnotationTag & traffic_annotation, scoped_refptr<base::SingleThreadTaskRunner> task_runner) Line 217   C++
    libcef.dll!content::ResourceDispatcher::StartAsync(std::__1::unique_ptr<network::ResourceRequest,std::__1::default_delete<network::ResourceRequest>> request, int routing_id, scoped_refptr<base::SingleThreadTaskRunner> loading_task_runner, const net::NetworkTrafficAnnotationTag & traffic_annotation, bool is_sync, std::__1::unique_ptr<content::RequestPeer,std::__1::default_delete<content::RequestPeer>> peer, scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory, std::__1::vector<std::__1::unique_ptr<blink::URLLoaderThrottle,std::__1::default_delete<blink::URLLoaderThrottle>>,std::__1::allocator<std::__1::unique_ptr<blink::URLLoaderThrottle,std::__1::default_delete<blink::URLLoaderThrottle>>>> throttles, std::__1::unique_ptr<content::NavigationResponseOverrideParameters,std::__1::default_delete<content::NavigationResponseOverrideParameters>> response_override_params) Line 560   C++
    libcef.dll!content::WebURLLoaderImpl::Context::Start(const blink::WebURLRequest & request, content::SyncLoadResponse * sync_load_response) Line 848   C++
    libcef.dll!content::WebURLLoaderImpl::LoadAsynchronously(const blink::WebURLRequest & request, blink::WebURLLoaderClient * client) Line 1234   C++
    libcef.dll!blink::ResourceLoader::RequestAsynchronously(const blink::ResourceRequest & request) Line 1326   C++
    libcef.dll!blink::ResourceLoader::StartWith(const blink::ResourceRequest & request) Line 583   C++
    libcef.dll!blink::ResourceLoader::Run() Line 523   C++
    [Inline Frame] libcef.dll!blink::ResourceLoadScheduler::Run(unsigned __int64 id, blink::ResourceLoadSchedulerClient * client, bool throttleable) Line 489   C++
    libcef.dll!blink::ResourceLoadScheduler::Request(blink::ResourceLoadSchedulerClient * client, blink::ResourceLoadScheduler::ThrottleOption option, blink::WebURLRequest::Priority priority, int intra_priority, unsigned __int64 * id) Line 295   C++
    libcef.dll!blink::ResourceLoader::Start() Line 499   C++
    libcef.dll!blink::ResourceFetcher::StartLoad(blink::Resource * resource) Line 1957   C++
    libcef.dll!blink::ResourceFetcher::RequestResource(blink::FetchParameters & params, const blink::ResourceFactory & factory, blink::ResourceClient * client) Line 1141   C++
    libcef.dll!blink::RawResource::Fetch(blink::FetchParameters & params, blink::ResourceFetcher * fetcher, blink::RawResourceClient * client) Line 67   C++
    libcef.dll!blink::ThreadableLoader::LoadRequest(blink::ResourceRequest & request, blink::ResourceLoaderOptions resource_loader_options) Line 1068   C++
    libcef.dll!blink::ThreadableLoader::Start(const blink::ResourceRequest & request) Line 326   C++
>   libcef.dll!blink::XMLHttpRequest::CreateRequest(scoped_refptr<blink::EncodedFormData> http_body, blink::ExceptionState & exception_state) Line 1179   C++
    libcef.dll!blink::XMLHttpRequest::send(const WTF::String & body, blink::ExceptionState & exception_state) Line 844   C++
    libcef.dll!blink::XMLHttpRequest::send(const blink::ArrayBufferOrArrayBufferViewOrBlobOrDocumentOrStringOrFormDataOrURLSearchParams & body, blink::ExceptionState & exception_state) Line 796   C++
    [Inline Frame] libcef.dll!blink::xml_http_request_v8_internal::SendMethod(const v8::FunctionCallbackInfo<v8::Value> & info) Line 432   C++
    libcef.dll!blink::V8XMLHttpRequest::SendMethodCallback(const v8::FunctionCallbackInfo<v8::Value> & info) Line 647   C++
    libcef.dll!v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo handler) Line 158   C++
    libcef.dll!v8::internal::`anonymous namespace'::HandleApiCallHelper<0>(v8::internal::Isolate * isolate, v8::internal::Handle<v8::internal::HeapObject> function, v8::internal::Handle<v8::internal::HeapObject> new_target, v8::internal::Handle<v8::internal::FunctionTemplateInfo> fun_data, v8::internal::Handle<v8::internal::Object> receiver, v8::internal::BuiltinArguments args) Line 113   C++
    libcef.dll!v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments args, v8::internal::Isolate * isolate) Line 141   C++
    libcef.dll!v8::internal::Builtin_HandleApiCall(int args_length, unsigned int * args_object, v8::internal::Isolate * isolate) Line 129   C++
    libcef.dll!_Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_ArgumentsAdaptorTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_InterpreterEntryTrampoline()   C++
    libcef.dll!_Builtins_JSEntryTrampoline()   C++
    libcef.dll!_Builtins_JSEntry()   C++
    [Inline Frame] libcef.dll!v8::internal::GeneratedCode<unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,int,unsigned int **>::Call(unsigned int args, unsigned int args, unsigned int args, unsigned int args, int args, unsigned int * * args) Line 149   C++
    libcef.dll!v8::internal::`anonymous namespace'::Invoke(v8::internal::Isolate * isolate, const v8::internal::`anonymous namespace'::InvokeParams & params) Line 266   C++
    libcef.dll!v8::internal::Execution::Call(v8::internal::Isolate * isolate, v8::internal::Handle<v8::internal::Object> callable, v8::internal::Handle<v8::internal::Object> receiver, int argc, v8::internal::Handle<v8::internal::Object> * argv) Line 358   C++
    libcef.dll!v8::Function::Call(v8::Local<v8::Context> context, v8::Local<v8::Value> recv, int argc, v8::Local<v8::Value> * argv) Line 4870   C++
    libcef.dll!blink::V8ScriptRunner::CallFunction(v8::Local<v8::Function> function, blink::ExecutionContext * context, v8::Local<v8::Value> receiver, int argc, v8::Local<v8::Value> * args, v8::Isolate * isolate) Line 473   C++
    libcef.dll!blink::V8Function::Invoke(blink::bindings::V8ValueOrScriptWrappableAdapter callback_this_value, const blink::HeapVector<blink::ScriptValue,0> & arguments) Line 107   C++
    libcef.dll!blink::V8Function::InvokeAndReportException(blink::bindings::V8ValueOrScriptWrappableAdapter callback_this_value, const blink::HeapVector<blink::ScriptValue,0> & arguments) Line 250   C++
    libcef.dll!blink::ScheduledAction::Execute(blink::LocalFrame * frame) Line 171   C++
    libcef.dll!blink::ScheduledAction::Execute(blink::ExecutionContext * context) Line 151   C++
    libcef.dll!blink::DOMTimer::Fired() Line 165   C++
    libcef.dll!blink::TimerBase::RunInternal() Line 157   C++
    [Inline Frame] libcef.dll!base::OnceCallback<void ()>::Run() Line 98   C++
    libcef.dll!base::TaskAnnotator::RunTask(const char * trace_event_name, base::PendingTask * pending_task) Line 142   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow * continuation_lazy_now, bool * ran_task) Line 366   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoSomeWork() Line 221   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 471   C++
    libcef.dll!base::RunLoop::Run() Line 158   C++
    libcef.dll!content::RendererMain(const content::MainFunctionParams & parameters) Line 214   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 572   C++
    libcef.dll!content::ContentMainRunnerImpl::Run(bool start_service_manager_only) Line 891   C++
    libcef.dll!content::ContentServiceManagerMainDelegate::RunEmbedderProcess() Line 52   C++
    libcef.dll!service_manager::MainRun(service_manager::MainParams & params) Line 0   C++
    libcef.dll!service_manager::Main(service_manager::MainParams & params) Line 477   C++
    libcef.dll!content::ContentMain(const content::ContentMainParams & params) Line 19   C++
    libcef.dll!CefExecuteProcess(const CefMainArgs & args, scoped_refptr<CefApp> application, void * windows_sandbox_info) Line 214   C++
    libcef.dll!cef_execute_process(const _cef_main_args_t * args, _cef_app_t * application, void * windows_sandbox_info) Line 78   C++
rado
Expert
 
Posts: 145
Joined: Wed Oct 05, 2011 3:32 am

Re: Renderer process crashing in OnNoMemory

Postby magreenblatt » Mon Jan 06, 2020 5:35 am

It looks like you're using 32-bit executables. Are you building with /LARGEADDRESSAWARE?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Renderer process crashing in OnNoMemory

Postby rado » Mon Jan 06, 2020 6:10 am

The /LARGEADDRESSAWARE flag is used. Report from older CEF version also conontains similar XMLHttpRequest lines just with bit different line numbers:

Code: Select all
    libcef.dll!blink::XMLHttpRequest::send(const WTF::String & body, blink::ExceptionState & exception_state) Line 850   C++
    libcef.dll!blink::XMLHttpRequest::send(const blink::ArrayBufferOrArrayBufferViewOrBlobOrDocumentOrStringOrFormDataOrURLSearchParams & body, blink::ExceptionState & exception_state) Line 807   C++


so I guess it is not random out of memory crash, but it is related to the XMLHttpRequest.
rado
Expert
 
Posts: 145
Joined: Wed Oct 05, 2011 3:32 am

Re: Renderer process crashing in OnNoMemory

Postby magreenblatt » Mon Jan 06, 2020 6:14 am

What is the available memory on the crashing machine? Can you try using the 64-bit executables?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Renderer process crashing in OnNoMemory

Postby ndesktop » Mon Jan 06, 2020 7:15 am

What is the requested allocation size?
Check the value of size in the libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81 C++ call.
I saw crashes like these on Win10 tablets with 2 GB of RAM and really it was no more memory.
ndesktop
Master
 
Posts: 756
Joined: Thu Dec 03, 2015 10:10 am

Re: Renderer process crashing in OnNoMemory

Postby rado » Mon Jan 06, 2020 7:41 am

I don't have complete memory usage logging, but there is 72% memory in use and 1070 MB user address space free. I'll try to make it 64 bit but I'll have to deal with some other used 32 bit libraries first.
rado
Expert
 
Posts: 145
Joined: Wed Oct 05, 2011 3:32 am

Re: Renderer process crashing in OnNoMemory

Postby rado » Mon Jan 06, 2020 7:45 am

ndesktop wrote:What is the requested allocation size?
Check the value of size in the libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81 C++ call.
I saw crashes like these on Win10 tablets with 2 GB of RAM and really it was no more memory.

It is trying to allocate 257 278 672 bytes. In other report it is 514 560 576 bytes.
rado
Expert
 
Posts: 145
Joined: Wed Oct 05, 2011 3:32 am

Re: Renderer process crashing in OnNoMemory

Postby magreenblatt » Mon Jan 06, 2020 7:52 am

rado wrote:
ndesktop wrote:What is the requested allocation size?
Check the value of size in the libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81 C++ call.
I saw crashes like these on Win10 tablets with 2 GB of RAM and really it was no more memory.

It is trying to allocate 257 278 672 bytes. In other report it is 514 560 576 bytes.

This size allocation could easily be failing in a 32-bit app after the address space has become fragmented due to the computer running for a while.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Renderer process crashing in OnNoMemory

Postby ndesktop » Mon Jan 06, 2020 8:04 am

rado wrote:
ndesktop wrote:What is the requested allocation size?
Check the value of size in the libcef.dll!base::allocator::WinCallNewHandler(unsigned int size) Line 81 C++ call.
I saw crashes like these on Win10 tablets with 2 GB of RAM and really it was no more memory.

It is trying to allocate 257 278 672 bytes. In other report it is 514 560 576 bytes.

Definitely a memory fragmentation issue. The 512 MB can fail also on x64 as well.
It is quite strange such a big memory size. Looks to me more like a vulnerability (like the 3KB forged GIF with declared size in header of 3 GB).
Anyway, the crash looks legit to me. But I would love to hear more about the details on how this large allocation occurs.
ndesktop
Master
 
Posts: 756
Joined: Thu Dec 03, 2015 10:10 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 101 guests