Crash at libcef.dll!PrefService::GetBoolean use cef108

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.

Crash at libcef.dll!PrefService::GetBoolean use cef108

Postby xtxtqqgqlxxmm » Thu Jul 06, 2023 10:27 pm

I update my project to x64 and cef108 recently.
Most customer run client normally, but some crash at the time when client startup.
The trace stack show that in PrefService::GetBoolean, it calls GetValue() seem return a null reference,then call GetBool on the empty result, lead to crash.

Code: Select all
    libcef.dll!base::Value::GetBool() 行 304   C++
>   libcef.dll!PrefService::GetBoolean(base::BasicStringPiece<char,std::Cr::char_traits<char>> path) 行 204   C++
    libcef.dll!AccountConsistencyModeManager::AccountConsistencyModeManager(Profile * profile) 行 98   C++
    libcef.dll!BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(void * context) 行 94   C++
    libcef.dll!KeyedServiceFactory::GetServiceForContext(void * context, bool create) 行 93   C++
    [内联框架] libcef.dll!AccountConsistencyModeManager::GetForProfile(Profile * profile) 行 84   C++
    libcef.dll!AccountConsistencyModeManager::GetMethodForProfile(Profile * profile) 行 124   C++
    libcef.dll!IdentityManagerFactory::BuildServiceInstanceFor(content::BrowserContext * context) 行 119   C++
    libcef.dll!BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(void * context) 行 94   C++
    libcef.dll!KeyedServiceFactory::GetServiceForContext(void * context, bool create) 行 93   C++
    [内联框架] libcef.dll!`anonymous namespace'::PrivacySandboxRestrictedByAcccountCapability(Profile * profile) 行 17   C++
    libcef.dll!PrivacySandboxSettingsDelegate::IsPrivacySandboxRestricted() 行 49   C++
    libcef.dll!privacy_sandbox::PrivacySandboxSettings::IsPrivacySandboxEnabled() 行 339   C++
    libcef.dll!ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(bool in_memory, const base::FilePath & relative_partition_path, network::mojom::NetworkContextParams * network_context_params, cert_verifier::mojom::CertVerifierCreationParams * cert_verifier_creation_params) 行 1026   C++
    libcef.dll!ProfileNetworkContextService::ConfigureNetworkContextParams(bool in_memory, const base::FilePath & relative_partition_path, network::mojom::NetworkContextParams * network_context_params, cert_verifier::mojom::CertVerifierCreationParams * cert_verifier_creation_params) 行 324   C++
    libcef.dll!AlloyContentBrowserClient::ConfigureNetworkContextParams(content::BrowserContext * context, bool in_memory, const base::FilePath & relative_partition_path, network::mojom::NetworkContextParams * network_context_params, cert_verifier::mojom::CertVerifierCreationParams * cert_verifier_creation_params) 行 1232   C++
    libcef.dll!content::StoragePartitionImpl::InitNetworkContext() 行 2955   C++
    libcef.dll!content::StoragePartitionImpl::GetNetworkContext() 行 1451   C++
    libcef.dll!content::URLLoaderFactoryGetter::HandleNetworkFactoryRequestOnUIThread(mojo::PendingReceiver<network::mojom::URLLoaderFactory> network_factory_receiver, bool is_corb_enabled) 行 304   C++
    libcef.dll!content::URLLoaderFactoryGetter::Initialize(content::StoragePartitionImpl * partition) 行 146   C++
    libcef.dll!content::StoragePartitionImpl::Initialize(content::StoragePartitionImpl * fallback_for_blob_urls) 行 1321   C++
    libcef.dll!content::StoragePartitionImplMap::Get(const content::StoragePartitionConfig & partition_config, bool can_create) 行 354   C++
    [内联框架] libcef.dll!content::BrowserContext::GetStoragePartition(const content::StoragePartitionConfig & storage_partition_config, bool can_create) 行 138   C++
    libcef.dll!content::BrowserContext::GetDefaultStoragePartition() 行 190   C++
    [内联框架] libcef.dll!`anonymous namespace'::GetCookieManager(CefBrowserContext * browser_context) 行 33   C++
    libcef.dll!CefCookieManagerImpl::VisitAllCookiesInternal(scoped_refptr<CefCookieVisitor> visitor) 行 235   C++
    [内联框架] libcef.dll!base::OnceCallback<void ()>::Run() 行 145   C++
    libcef.dll!CefCookieManagerImpl::StoreOrTriggerInitCallback(base::OnceCallback<void ()> callback) 行 374   C++
    [内联框架] libcef.dll!base::internal::FunctorTraits<void (CefMediaRouterImpl::*)(base::OnceCallback<void ()>),void>::Invoke(void(CefMediaRouterImpl::*)(base::OnceCallback<void ()>) method, scoped_refptr<CefMediaRouterImpl> && receiver_ptr, base::OnceCallback<void ()> && args) 行 647   C++
    [内联框架] libcef.dll!base::internal::InvokeHelper<0,void,0,1>::MakeItSo(void(CefMediaRouterImpl::*)(base::OnceCallback<void ()>) && functor, std::Cr::tuple<scoped_refptr<CefMediaRouterImpl>,base::OnceCallback<void ()>> && bound) 行 826   C++
    [内联框架] libcef.dll!base::internal::Invoker<base::internal::BindState<void (CefMediaRouterImpl::*)(base::OnceCallback<void ()>),scoped_refptr<CefMediaRouterImpl>,base::OnceCallback<void ()>>,void ()>::RunImpl(void(CefMediaRouterImpl::*)(base::OnceCallback<void ()>) && functor, std::Cr::tuple<scoped_refptr<CefMediaRouterImpl>,base::OnceCallback<void ()>> && bound, std::Cr::integer_sequence<unsigned long long,0,1> seq) 行 920   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<void (CefMediaRouterImpl::*)(base::OnceCallback<void ()>),scoped_refptr<CefMediaRouterImpl>,base::OnceCallback<void ()>>,void ()>::RunOnce(base::internal::BindStateBase * base) 行 871   C++
    [内联框架] libcef.dll!base::OnceCallback<void ()>::Run() 行 145   C++
    libcef.dll!base::TaskAnnotator::RunTaskImpl(base::PendingTask & pending_task) 行 133   C++
    [内联框架] libcef.dll!base::TaskAnnotator::RunTask(perfetto::StaticString event_name, base::PendingTask & pending_task, base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl::<lambda_0> && args) 行 72   C++
    [内联框架] libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow * continuation_lazy_now) 行 441   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() 行 297   C++
    libcef.dll!base::MessagePumpForUI::DoRunLoop() 行 216   C++
    libcef.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) 行 80   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool application_tasks_allowed, base::TimeDelta timeout) 行 603   C++
    libcef.dll!base::RunLoop::Run(const base::Location & location) 行 143   C++
    [内联框架] libcef.dll!CefMainRunner::RunMessageLoop() 行 281   C++
    libcef.dll!CefUIThread::ThreadMain() 行 176   C++
    libcef.dll!base::`anonymous namespace'::ThreadFunc(void * params) 行 127   C++
    kernel32.dll!BaseThreadInitThunk()   未知
    ntdll.dll!RtlUserThreadStart()   未知


I have tried disable macro ENABLE_DICE_SUPPORT and disable sandbox, both failed as it so difficult to customize compile progress.
Have anyone the same problem? Or what misuse in my project, how to fix it?
xtxtqqgqlxxmm
Newbie
 
Posts: 5
Joined: Wed May 24, 2023 3:33 am

Re: Crash at libcef.dll!PrefService::GetBoolean use cef108

Postby magreenblatt » Fri Jul 07, 2023 2:14 am

Looks like https://github.com/chromiumembedded/cef/issues/3401 which is fixed in newer CEF versions.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Crash at libcef.dll!PrefService::GetBoolean use cef108

Postby xtxtqqgqlxxmm » Fri Jul 07, 2023 5:13 am

magreenblatt wrote:Looks like https://github.com/chromiumembedded/cef/issues/3401 which is fixed in newer CEF versions.

Thank you very much!
xtxtqqgqlxxmm
Newbie
 
Posts: 5
Joined: Wed May 24, 2023 3:33 am


Return to Support Forum

Who is online

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