Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when using Brave VPN for specific timezone(s) #44181

Closed
Odean2105 opened this issue Feb 24, 2025 · 16 comments · Fixed by brave/brave-core#27791
Closed

Crash when using Brave VPN for specific timezone(s) #44181

Odean2105 opened this issue Feb 24, 2025 · 16 comments · Fixed by brave/brave-core#27791

Comments

@Odean2105
Copy link

Odean2105 commented Feb 24, 2025

Test plan

See brave/brave-core#27791

Description

IMPORTANT: Your crash has already been automatically reported to our crash system. Please file this bug only if you can provide more information about it.

Brave Version: 1.75.180 Chromium: 133.0.6943.126
Operating System: Windows NT 10.0.26100

URL (if applicable) where crash occurred:

Can you reproduce this crash?

What steps will reproduce this crash? (If it's not reproducible, what were you doing just before the crash?)
1.
2.
3.

DO NOT CHANGE BELOW THIS LINE
Crash ID: crash/3d271300-b339-6c0d-0000-000000000000

@github-actions github-actions bot added the crash label Feb 24, 2025
@bsclifton
Copy link
Member

Interesting - this crash is in Brave VPN
https://brave.sp.backtrace.io/p/brave/debug?time=all&filters=JTVCJTVCJTIyX2RlbGV0ZWQlMjIlMkMlMjJlcXVhbCUyMiUyQyUyMjAlMjIlNUQlNUQ%3D&fingerprint=a5aedb822ddb27d1c84e83d228ded398866d7e52c180d0829971126e0f1df239&debug=(a42a4e9,0,0)

@Odean2105 thanks for reporting - are you a Brave VPN customer?

Callstack:

[ 00 ] ImmediateCrash() ( immediate_crash.h:186 )
[ 01 ] CheckFailure() ( check.h:253 )
[ 02 ] brave_vpn::GetMigratedNameIfNeeded(PrefService *,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &) ( brave_vpn_utils.cc:111 )
[ 03 ] brave_vpn::BraveVPNRegionDataManager::SetDeviceRegionWithTimezone(base::Value::List const &) ( brave_vpn_region_data_manager.cc:126 )
[ 04 ] brave_vpn::BraveVPNRegionDataManager::OnFetchTimezones(std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &,bool) ( brave_vpn_region_data_manager.cc:276 )
[ 05 ] base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>::Run(std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &,bool) ( callback.h:157 )
[ 06 ] brave_vpn::BraveVpnAPIRequest::OnGetResponse(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>,api_request_helper::APIRequestResult) ( brave_vpn_api_request.cc:264 )
[ 07 ] base::internal::InvokeHelper<1,base::internal::FunctorTraits<void (brave_vpn::BraveVpnAPIRequest::*&&)(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>, api_request_helper::APIRequestResult),base::WeakPtr<brave_vpn::BraveVpnAPIRequest> &&,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> &&>,void,0,1>::MakeItSo((base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>,api_request_helper::APIRequestResult) &&,std::__Cr::tuple<base::WeakPtr<brave_vpn::BraveVpnAPIRequest>,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> > &&,api_request_helper::APIRequestResult &&) ( bind_internal.h:945 )
[ 08 ] base::internal::Invoker<base::internal::FunctorTraits<void (brave_vpn::BraveVpnAPIRequest::*&&)(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>, api_request_helper::APIRequestResult),base::WeakPtr<brave_vpn::BraveVpnAPIRequest> &&,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> &&>,base::internal::BindState<1,1,0,void (brave_vpn::BraveVpnAPIRequest::*)(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>, api_request_helper::APIRequestResult),base::WeakPtr<brave_vpn::BraveVpnAPIRequest>,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> >,void (api_request_helper::APIRequestResult)>::RunImpl((base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>,api_request_helper::APIRequestResult) &&,std::__Cr::tuple<base::WeakPtr<brave_vpn::BraveVpnAPIRequest>,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> > &&,std::__Cr::integer_sequence<unsigned long long,0,1>,api_request_helper::APIRequestResult &&) ( bind_internal.h:1058 )
[ 09 ] base::internal::Invoker<base::internal::FunctorTraits<void (brave_vpn::BraveVpnAPIRequest::*&&)(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>, api_request_helper::APIRequestResult),base::WeakPtr<brave_vpn::BraveVpnAPIRequest> &&,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> &&>,base::internal::BindState<1,1,0,void (brave_vpn::BraveVpnAPIRequest::*)(base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)>, api_request_helper::APIRequestResult),base::WeakPtr<brave_vpn::BraveVpnAPIRequest>,base::OnceCallback<void (const std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > &, bool)> >,void (api_request_helper::APIRequestResult)>::RunOnce(base::internal::BindStateBase *,api_request_helper::APIRequestResult &&) ( bind_internal.h:971 )
[ 10 ] base::OnceCallback<void (api_request_helper::APIRequestResult)>::Run(api_request_helper::APIRequestResult) ( callback.h:157 )
[ 11 ] GURL::GURL(GURL &&) ( gurl.cc:48 )
[ 12 ] api_request_helper::APIRequestHelper::DeleteAndSendResult(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)>,api_request_helper::APIRequestResult) ( api_request_helper.cc:251 )
[ 13 ] base::internal::InvokeHelper<1,base::internal::FunctorTraits<void (api_request_helper::APIRequestHelper::*&&)(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>, base::OnceCallback<void (api_request_helper::APIRequestResult)>, api_request_helper::APIRequestResult),base::WeakPtr<api_request_helper::APIRequestHelper> &&,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *> &&,base::OnceCallback<void (api_request_helper::APIRequestResult)> &&>,void,0,1,2>::MakeItSo((std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)>,api_request_helper::APIRequestResult) &&,std::__Cr::tuple<base::WeakPtr<api_request_helper::APIRequestHelper>,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)> > &&,api_request_helper::APIRequestResult &&) ( bind_internal.h:945 )
[ 14 ] base::internal::Invoker<base::internal::FunctorTraits<void (api_request_helper::APIRequestHelper::*&&)(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>, base::OnceCallback<void (api_request_helper::APIRequestResult)>, api_request_helper::APIRequestResult),base::WeakPtr<api_request_helper::APIRequestHelper> &&,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *> &&,base::OnceCallback<void (api_request_helper::APIRequestResult)> &&>,base::internal::BindState<1,1,0,void (api_request_helper::APIRequestHelper::*)(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>, base::OnceCallback<void (api_request_helper::APIRequestResult)>, api_request_helper::APIRequestResult),base::WeakPtr<api_request_helper::APIRequestHelper>,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)> >,void (api_request_helper::APIRequestResult)>::RunImpl((std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)>,api_request_helper::APIRequestResult) &&,std::__Cr::tuple<base::WeakPtr<api_request_helper::APIRequestHelper>,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)> > &&,std::__Cr::integer_sequence<unsigned long long,0,1,2>,api_request_helper::APIRequestResult &&) ( bind_internal.h:1058 )
[ 15 ] base::internal::Invoker<base::internal::FunctorTraits<void (api_request_helper::APIRequestHelper::*&&)(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>, base::OnceCallback<void (api_request_helper::APIRequestResult)>, api_request_helper::APIRequestResult),base::WeakPtr<api_request_helper::APIRequestHelper> &&,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *> &&,base::OnceCallback<void (api_request_helper::APIRequestResult)> &&>,base::internal::BindState<1,1,0,void (api_request_helper::APIRequestHelper::*)(std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>, base::OnceCallback<void (api_request_helper::APIRequestResult)>, api_request_helper::APIRequestResult),base::WeakPtr<api_request_helper::APIRequestHelper>,std::__Cr::__list_iterator<std::__Cr::unique_ptr<api_request_helper::APIRequestHelper::URLLoaderHandler,std::__Cr::default_delete<api_request_helper::APIRequestHelper::URLLoaderHandler> >,void *>,base::OnceCallback<void (api_request_helper::APIRequestResult)> >,void (api_request_helper::APIRequestResult)>::RunOnce(base::internal::BindStateBase *,api_request_helper::APIRequestResult &&) ( bind_internal.h:971 )
[ 16 ] base::OnceCallback<void (api_request_helper::APIRequestResult)>::Run(api_request_helper::APIRequestResult) ( callback.h:157 )
[ 17 ] api_request_helper::APIRequestHelper::URLLoaderHandler::OnParseJsonResponse(api_request_helper::APIRequestResult,base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >) ( api_request_helper.cc:508 )
[ 18 ] base::internal::Invoker<base::internal::FunctorTraits<void (api_request_helper::APIRequestHelper::URLLoaderHandler::*&&)(api_request_helper::APIRequestResult, base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >),base::WeakPtr<api_request_helper::APIRequestHelper::URLLoaderHandler> &&,api_request_helper::APIRequestResult &&>,base::internal::BindState<1,1,0,void (api_request_helper::APIRequestHelper::URLLoaderHandler::*)(api_request_helper::APIRequestResult, base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >),base::WeakPtr<api_request_helper::APIRequestHelper::URLLoaderHandler>,api_request_helper::APIRequestResult>,void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)>::RunOnce(base::internal::BindStateBase *,base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > > &&) ( bind_internal.h:971 )
[ 19 ] base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)>::Run(base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >) ( callback.h:157 )
[ 20 ] api_request_helper::`anonymous namespace'::ParseJsonInWorkerTaskRunner::<lambda_1>::operator()(base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)>,base::expected<base::Value,base::JSONReader::Error>) ( api_request_helper.cc:58 )
[ 21 ] base::internal::DecayedFunctorTraits<`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11',base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> &&>::Invoke(api_request_helper::`anonymous namespace'::ParseJsonInWorkerTaskRunner::<lambda_1> &&,base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> &&,base::expected<base::Value,base::JSONReader::Error> &&) ( bind_internal.h:647 )
[ 22 ] base::internal::InvokeHelper<0,base::internal::FunctorTraits<`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11' &&,base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> &&>,void,0>::MakeItSo(api_request_helper::`anonymous namespace'::ParseJsonInWorkerTaskRunner::<lambda_1> &&,std::__Cr::tuple<base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> > &&,base::expected<base::Value,base::JSONReader::Error> &&) ( bind_internal.h:921 )
[ 23 ] base::internal::Invoker<base::internal::FunctorTraits<`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11' &&,base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> &&>,base::internal::BindState<0,0,0,`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11',base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> >,void (base::expected<base::Value,base::JSONReader::Error>)>::RunImpl(api_request_helper::`anonymous namespace'::ParseJsonInWorkerTaskRunner::<lambda_1> &&,std::__Cr::tuple<base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> > &&,std::__Cr::integer_sequence<unsigned long long,0>,base::expected<base::Value,base::JSONReader::Error> &&) ( bind_internal.h:1058 )
[ 24 ] base::internal::Invoker<base::internal::FunctorTraits<`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11' &&,base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> &&>,base::internal::BindState<0,0,0,`lambda at ..\..\brave\components\api_request_helper\api_request_helper.cc:53:11',base::OnceCallback<void (base::expected<base::Value,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > >)> >,void (base::expected<base::Value,base::JSONReader::Error>)>::RunOnce(base::internal::BindStateBase *,base::expected<base::Value,base::JSONReader::Error> &&) ( bind_internal.h:971 )
[ 25 ] base::OnceCallback<void (base::expected<base::Value,base::JSONReader::Error>)>::Run(base::expected<base::Value,base::JSONReader::Error>) ( callback.h:157 )
[ 26 ] base::internal::ReplyAdapter<base::expected<base::Value,base::JSONReader::Error>,base::expected<base::Value,base::JSONReader::Error> >(base::OnceCallback<void (base::expected<base::Value,base::JSONReader::Error>)>,std::__Cr::unique_ptr<base::expected<base::Value,base::JSONReader::Error>,std::__Cr::default_delete<base::expected<base::Value,base::JSONReader::Error> > > *) ( post_task_and_reply_with_result_internal.h:32 )
[ 27 ] base::internal::DecayedFunctorTraits<void (*)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)> &&,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *>::Invoke((base::OnceCallback<void (gfx::Image)>,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *) &&,base::OnceCallback<void (gfx::Image)> &&,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > * &&) ( bind_internal.h:662 )
[ 28 ] base::internal::InvokeHelper<0,base::internal::FunctorTraits<void (*&&)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)> &&,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *>,void,0,1>::MakeItSo((base::OnceCallback<void (gfx::Image)>,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *) &&,std::__Cr::tuple<base::OnceCallback<void (gfx::Image)>,base::internal::OwnedWrapper<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> >,std::__Cr::default_delete<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > > > > &&) ( bind_internal.h:921 )
[ 29 ] base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)> &&,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *>,base::internal::BindState<0,1,0,void (*)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)>,base::internal::OwnedWrapper<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> >,std::__Cr::default_delete<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > > > >,void ()>::RunImpl((base::OnceCallback<void (gfx::Image)>,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *) &&,std::__Cr::tuple<base::OnceCallback<void (gfx::Image)>,base::internal::OwnedWrapper<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> >,std::__Cr::default_delete<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > > > > &&,std::__Cr::integer_sequence<unsigned long long,0,1>) ( bind_internal.h:1058 )
[ 30 ] base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)> &&,std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *>,base::internal::BindState<0,1,0,void (*)(base::OnceCallback<void (gfx::Image)>, std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > *),base::OnceCallback<void (gfx::Image)>,base::internal::OwnedWrapper<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> >,std::__Cr::default_delete<std::__Cr::unique_ptr<gfx::Image,std::__Cr::default_delete<gfx::Image> > > > >,void ()>::RunOnce(base::internal::BindStateBase *) ( bind_internal.h:971 )
[ 31 ] base::OnceCallback<void ()>::Run() ( callback.h:156 )
[ 32 ] base::internal::PostTaskAndReplyRelay::RunReply(base::internal::PostTaskAndReplyRelay) ( post_task_and_reply_impl.h:63 )
[ 33 ] base::internal::DecayedFunctorTraits<void (*)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay &&>::Invoke((base::internal::PostTaskAndReplyRelay) &&,base::internal::PostTaskAndReplyRelay &&) ( bind_internal.h:662 )
[ 34 ] base::internal::InvokeHelper<0,base::internal::FunctorTraits<void (*&&)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay &&>,void,0>::MakeItSo((base::internal::PostTaskAndReplyRelay) &&,std::__Cr::tuple<base::internal::PostTaskAndReplyRelay> &&) ( bind_internal.h:921 )
[ 35 ] base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay &&>,base::internal::BindState<0,1,0,void (*)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay>,void ()>::RunImpl((base::internal::PostTaskAndReplyRelay) &&,std::__Cr::tuple<base::internal::PostTaskAndReplyRelay> &&,std::__Cr::integer_sequence<unsigned long long,0>) ( bind_internal.h:1058 )
[ 36 ] base::internal::Invoker<base::internal::FunctorTraits<void (*&&)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay &&>,base::internal::BindState<0,1,0,void (*)(base::internal::PostTaskAndReplyRelay),base::internal::PostTaskAndReplyRelay>,void ()>::RunOnce(base::internal::BindStateBase *) ( bind_internal.h:971 )
[ 37 ] base::OnceCallback<void ()>::Run() ( callback.h:156 )
[ 38 ] base::TaskAnnotator::RunTaskImpl(base::PendingTask &) ( task_annotator.cc:210 )
[ 39 ] base::TaskAnnotator::RunTask(perfetto::StaticString,base::PendingTask &,base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl::<lambda_4> &&) ( task_annotator.h:106 )
[ 40 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow *) ( thread_controller_with_message_pump_impl.cc:472 )
[ 41 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ( thread_controller_with_message_pump_impl.cc:332 )
[ 42 ] base::MessagePumpForUI::DoRunLoop() ( message_pump_win.cc:265 )
[ 43 ] base::MessagePumpWin::Run(base::MessagePump::Delegate *) ( message_pump_win.cc:89 )
[ 44 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool,base::TimeDelta) ( thread_controller_with_message_pump_impl.cc:648 )
[ 45 ] base::RunLoop::Run(base::Location const &) ( run_loop.cc:136 )
[ 46 ] content::BrowserMainLoop::RunMainMessageLoop() ( browser_main_loop.cc:1094 )
[ 47 ] content::BrowserMainRunnerImpl::Run() ( browser_main_runner_impl.cc:156 )
[ 48 ] content::BrowserMain(content::MainFunctionParams) ( browser_main.cc:34 )
[ 49 ] RunBrowserProcessMain(content::MainFunctionParams,content::ContentMainDelegate *) ( content_main_runner_impl.cc:714 )
[ 50 ] content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams,bool) ( content_main_runner_impl.cc:1292 )
[ 51 ] content::ContentMainRunnerImpl::Run() ( content_main_runner_impl.cc:1144 )
[ 52 ] RunContentProcess(content::ContentMainParams,content::ContentMainRunner *) ( content_main.cc:348 )
[ 53 ] content::ContentMain(content::ContentMainParams) ( content_main.cc:361 )
[ 54 ] ChromeMain(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *,__int64,__int64,__int64) ( chrome_main.cc:224 )
[ 55 ] MainDllLoader::Launch(HINSTANCE__ *,base::TimeTicks) ( main_dll_loader_win.cc:201 )
[ 56 ] wWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int) ( chrome_exe_main_win.cc:352 )
[ 57 ] invoke_main() ( exe_common.inl:118 )
[ 58 ] __scrt_common_main_seh() ( exe_common.inl:288 )
[ 59 ] BaseThreadInitThunk
[ 60 ] RtlUserThreadStart
[ 61 ] UnhandledExceptionFilter

@Odean2105
Copy link
Author

Odean2105 commented Feb 24, 2025 via email

@bsclifton
Copy link
Member

bsclifton commented Feb 24, 2025

(previous post with work-around removed; I think we've gotten closer to finding a root cause)

@Odean2105 if you visit https://connect-api.guardianapp.com/api/v1.1/servers/timezones-for-regions (in Brave or another browser if Brave is crashing), does this actually resolve for you? It should show a text response in JSON format

If that looks good, I am curious if you're able to share what timezone you have the computer set to. The part of the code that crashed was unable to find a match in that response.

@simonhong
Copy link
Member

@Odean2105 Thanks for reporting this failure.
If you can share device_region_name's value from Local State file, it would be really helpful to diagnose this crash.

@bsclifton
Copy link
Member

@Odean2105 if you're not sure about how to find the device_region_name value, you can email this Local State file to us (shong and clifton @brave.com)

You can find it by doing:

  1. Windows + R to pull up run box
  2. Paste in %LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data
  3. You should see the Local State file there

@bsclifton bsclifton changed the title Crash Report Crash when using Brave VPN Feb 25, 2025
simonhong added a commit to brave/brave-core that referenced this issue Feb 25, 2025
fix brave/brave-browser#44181

When new region is added to timezone list and it's same with user's
timezone, vpn service tries to map it to v2's name via GetMigratedNameIfNeeded().
However, new region is not included in kV1ToV2Map, it causes crash.
When it's not in that map, use that name instead.
@Odean2105
Copy link
Author

Odean2105 commented Feb 25, 2025 via email

@mattmcalister mattmcalister added the priority/P2 A bad problem. We might uplift this to the next planned release. label Feb 25, 2025
@mattmcalister
Copy link

@Odean2105 the Support team will be in touch asap

@lauraceng
Copy link

Hello @Odean2105 - I'd be happy to help with that refund! Could I have you submit an inquiry through here using the same email you used to purchase your subscription? You'll want to select Brave Premium Products in the drop menu. Once submitted, reply here with a tag for me with your ticket number? I'll assist from the ticket soon as. Many thanks!

@Odean2105
Copy link
Author

Odean2105 commented Feb 25, 2025 via email

@lauraceng
Copy link

@Odean2105 excellent! Did you receive an email that includes your ticket number? If so, please reply here with that number and I'll look up your inquiry on our side. Thanks!

@Odean2105
Copy link
Author

Odean2105 commented Feb 25, 2025 via email

@bsclifton
Copy link
Member

@Odean2105 thanks for reporting and for your patience here

A fix for this issue has been merged. The root cause had to do with the time zone you are in and how we handled that in our code. We're building a new Nightly version of Brave now to verify the fix and then we'll be uplifting to Beta and Release, meaning that the fix will be pushed out via auto-update.

Once this fix reaches you, you can then use Brave VPN without an issue if you were willing to give us another chance😄

@kjozwiak
Copy link
Member

The above requires 1.75.181 or higher for 1.75.x verification 👍

@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Feb 26, 2025

Verification PASSED on

Brave | 1.75.181 Chromium: 133.0.6943.141 (Official Build) (64-bit)
-- | --
Revision | a562c054c7c8c395c9a417781852d8ec3e0b96f5
OS | Windows 10 Version 22H2 (Build 19045.5555)

Verified the test plan from brave/brave-core#27791
Reproduced the issue on 1.75.180

Image
Upgraded the profile to 1.75.181 Chromium: 133.0.6943.141 and ensured that there is no crash, VPN is connected to Israel region without any issues.

Image

@LaurenWags
Copy link
Member

LaurenWags commented Feb 26, 2025

Verified with

Brave | 1.75.181 Chromium: 133.0.6943.141 (Official Build) (x86_64)
-- | --
Revision | a562c054c7c8c395c9a417781852d8ec3e0b96f5
OS | macOS Version 14.7.4 (Build 23H420)

Reproduced the issue using 1.75.180 Chromium: 133.0.6943.126 and test plan from brave/brave-core#27791. After credentials were loaded crash was observed immediately.

Uploaded Crash Report:
66791e00-b339-6c0d-0000-000000000000
Upgrade profile - PASSED

Continuing from above, on relaunch I set my crash reports to upload automatically and didn't restore tabs.
I upgraded to 1.75.181 via the test channel.
After upgrading to 1.75.181 I visited the staging account site and selected "Refresh VPN".
Confirmed credentials were loaded and I could use the VPN as expected:

Example Example
Image Image
Clean profile - PASSED

Verified test plan from test plan from brave/brave-core#27791.

  1. Ensured my timezone was set for Jerusalem
  2. Clean profile 1.75.181
  3. Close/relaunch to pull griffin
  4. Visited account staging site
  5. Signed up for new acct, added VPN plan
    --> Confirmed after entering credit card info and credentials being loaded there was no crash:
Image
  1. Confirmed able to use the VPN to connect to Israel:
Example Example
Image Image

@GeetaSarvadnya
Copy link

Verification PASSED on

Brave | 1.75.181 Chromium: 133.0.6943.141 (Official Build) (arm64)
-- | --
Revision | a562c054c7c8c395c9a417781852d8ec3e0b96f5
OS | macOS Version 12.5 (Build 21G72)

Verified the test plan from brave/brave-core#27791
Reproduced the issue on 1.75.180

Image

Upgraded the profile to 1.75.181 Chromium: 133.0.6943.141 and ensured that there is no crash, VPN is connected to Israel region without any issues.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment