Skip to content

Brave 1.59.117 - Browser Crash When Accessing Settings if Brave-VPN Flag is set to Disabled #33581

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

Closed
DesertBear opened this issue Oct 11, 2023 · 7 comments · Fixed by brave/brave-core#20041
Assignees
Labels

Comments

@DesertBear
Copy link

DesertBear commented Oct 11, 2023

Description

Brave 1.59 Stable crashes when trying to access Brave Settings. This occurs if the brave-vpn flag is set to disabled.

Video:

Brave.Crash.mp4

Steps to Reproduce

  1. Open Brave
  2. Go to brave://flags/#brave-vpn
  3. Set flag to Disabled
  4. Relaunch Brave.
  5. Go to brave://settings

Actual result:

Brave browser closes/crashes.

Expected result:

The Brave settings page should be opened.

Reproduces how often:

Easily reproduced

Brave version (brave://version info)

Brave:       1.59.117 Chromium: 118.0.5993.70 (Official Build) (64-bit) 
Revision:    766577bee8f040990afcb32677dcab38ffcf0f06
OS:          Windows 10 Version 22H2 (Build 19045.3570)

Version/Channel Information:

Stable

@ghost
Copy link

ghost commented Oct 11, 2023

Thank you very much! I had this issue too, but did not knew what it caused it.

@rebron rebron added crash priority/P2 A bad problem. We might uplift this to the next planned release. feature/vpn labels Oct 12, 2023
@rebron
Copy link
Collaborator

rebron commented Oct 12, 2023

cc: @bsclifton

@simonhong
Copy link
Member

[ 00 ] mojo::internal::BindingState<brave_vpn::mojom::ServiceObserver,mojo::RawPtrImplRefTraits<brave_vpn::mojom::ServiceObserver> >::BindingState(brave_vpn::mojom::ServiceObserver *) ( binding_state.h:113 )
[ 01 ] BraveVpnHandler::BraveVpnHandler(Profile *) ( brave_vpn_handler.cc:51 )
[ 02 ] make_unique(Profile * &&) ( unique_ptr.h:686 )
[ 03 ] BraveSettingsUI::BraveSettingsUI(content::WebUI *,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &) ( brave_settings_ui.cc:114 )
[ 04 ] `anonymous namespace'::NewWebUI(content::WebUI *,GURL const &) ( brave_web_ui_controller_factory.cc:166 )
[ 05 ] BraveWebUIControllerFactory::CreateWebUIControllerForURL(content::WebUI *,GURL const &) ( brave_web_ui_controller_factory.cc:347 )
[ 06 ] content::WebUIControllerFactoryRegistry::CreateWebUIControllerForURL(content::WebUI *,GURL const &) ( web_ui_controller_factory_registry.cc:45 )
[ 07 ] content::NavigationRequest::CreateWebUIIfNeeded(content::RenderFrameHostImpl *) ( navigation_request.cc:9660 )
[ 08 ] base::TimeTicks::Now() ( time.cc:211 )
[ 09 ] content::RenderFrameHostManager::GetFrameHostForNavigation::ScopedHistogramTimer1::ScopedHistogramTimer1() ( render_frame_host_manager.cc:1490 )
[ 10 ] content::RenderFrameHostManager::GetFrameHostForNavigation(content::NavigationRequest *,content::BrowsingContextGroupSwap *,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > *) ( render_frame_host_manager.cc:1594 )
[ 11 ] content::RenderFrameHostManager::DidCreateNavigationRequest(content::NavigationRequest *) ( render_frame_host_manager.cc:1346 )
[ 12 ] content::FrameTreeNode::TakeNavigationRequest(std::__Cr::unique_ptr<content::NavigationRequest,std::__Cr::default_delete<content::NavigationRequest> >) ( frame_tree_node.cc:633 )
[ 13 ] content::Navigator::Navigate(std::__Cr::unique_ptr<content::NavigationRequest,std::__Cr::default_delete<content::NavigationRequest> >,content::ReloadType) ( navigator.cc:776 )
[ 14 ] content::NavigationControllerImpl::NavigateWithoutEntry(content::NavigationController::LoadURLParams const &) ( navigation_controller_impl.cc:3703 )
[ 15 ] content::NavigationControllerImpl::LoadURLWithParams(content::NavigationController::LoadURLParams const &) ( navigation_controller_impl.cc:1315 )
[ 16 ] absl::optional<url::Origin>::operator=(absl::optional<url::Origin> const &) ( optional.h:279 )
[ 17 ] `anonymous namespace'::LoadURLInContents(content::WebContents *,GURL const &,NavigateParams *) ( browser_navigator.cc:480 )
[ 18 ] CreateTargetContents(NavigateParams const &,GURL const &) ( browser_navigator.cc:551 )
[ 19 ] Navigate(NavigateParams *) ( browser_navigator.cc:825 )
[ 20 ] ShowSingletonTabOverwritingNTP(NavigateParams *) ( singleton_tabs.cc:130 )
[ 21 ] ShowSingletonTabOverwritingNTP(Browser *,GURL const &,NavigateParams::PathBehavior) ( singleton_tabs.cc:100 )
[ 22 ] ShowSingletonTabIgnorePathOverwriteNTP(Browser *,GURL const &) ( chrome_pages.cc:102 )
[ 23 ] chrome::ShowSettingsSubPageInTabbedBrowser(Browser *,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &) ( chrome_pages.cc:410 )
[ 24 ] ShowSettingsSubPage(Browser *,std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> > const &) ( chrome_pages.cc:385 )
[ 25 ] chrome::ShowSettings(Browser *) ( chrome_pages.cc:378 )
[ 26 ] chrome::BrowserCommandController::ExecuteCommandWithDisposition(int,WindowOpenDisposition,base::TimeTicks) ( browser_command_controller.cc:866 )
[ 27 ] AppMenuModel::ExecuteCommand(int,int) ( app_menu_model.cc:840 )
[ 28 ] BraveAppMenu::ExecuteCommand(int,int) ( brave_app_menu.cc:44 )
[ 29 ] views::internal::MenuRunnerImpl::OnMenuClosed(views::internal::MenuControllerDelegate::NotifyType,views::MenuItemView *,int) ( menu_runner_impl.cc:236 )
[ 30 ] views::MenuController::ExitMenu() ( menu_controller.cc:3220 )
[ 31 ] views::MenuController::Accept(views::MenuItemView *,int) ( menu_controller.cc:1900 )
[ 32 ] views::MenuController::OnMouseReleased(views::SubmenuView *,ui::MouseEvent const &) ( menu_controller.cc:912 )
[ 33 ] views::Widget::OnMouseEvent(ui::MouseEvent *) ( widget.cc:1753 )
[ 34 ] ui::EventDispatcherDelegate::DispatchEvent(ui::EventTarget *,ui::Event *) ( event_dispatcher.cc:64 )
[ 35 ] ui::EventProcessor::OnEventFromSource(ui::Event *) ( event_processor.cc:21 )
[ 36 ] ui::EventSource::DeliverEventToSink(ui::Event *) ( event_source.cc:119 )
[ 37 ] ui::EventSource::SendEventToSinkFromRewriter(ui::Event const *,ui::EventRewriter const *) ( event_source.cc:153 )
[ 38 ] ui::EventSource::SendEventToSink(ui::Event const *) ( event_source.cc:113 )
[ 39 ] views::DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent *) ( desktop_window_tree_host_win.cc:1049 )
[ 40 ] views::HWNDMessageHandler::HandleMouseEventInternal(unsigned int,unsigned __int64,__int64,bool) ( hwnd_message_handler.cc:3405 )
[ 41 ] base::AtomicFlag::IsSet() ( atomic_flag.h:37 )
[ 42 ] base::internal::WeakReference::Flag::IsValid() ( weak_ptr.cc:39 )
[ 43 ] base::internal::WeakReference::IsValid() ( weak_ptr.cc:75 )
[ 44 ] views::HWNDMessageHandler::_ProcessWindowMessage(HWND__ *,unsigned int,unsigned __int64,__int64,__int64 &,unsigned long) ( hwnd_message_handler.h:0 )
[ 45 ] AddTypedTraceEvent(char,unsigned char const *,perfetto::StaticString,views::HWNDMessageHandler::OnWndProc::<lambda_0>::operator()::<lambda_1> &&) ( typed_macros_internal.h:192 )
[ 46 ] views::HWNDMessageHandler::OnWndProc(unsigned int,unsigned __int64,__int64) ( hwnd_message_handler.cc:1255 )
[ 47 ] gfx::WindowImpl::WndProc(HWND__ *,unsigned int,unsigned __int64,__int64) ( window_impl.cc:302 )
[ 48 ] base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc>(HWND__ *,unsigned int,unsigned __int64,__int64) ( wrapped_window_proc.h:77 )
[ 49 ] 0x7ffda7658241
[ 50 ] 0x7ffda7665aea
[ 51 ] base::sequence_manager::internal::ThreadController::RunLevelTracker::OnWorkEnded(base::LazyNow &,int) ( thread_controller.cc:208 )
[ 52 ] 0xe9a71fe890
[ 53 ] base::MessagePumpForUI::ProcessMessageHelper(tagMSG const &) ( message_pump_win.cc:537 )
[ 54 ] base::MessagePumpForUI::ProcessNextWindowsMessage() ( message_pump_win.cc:483 )
[ 55 ] base::MessagePumpForUI::DoRunLoop() ( message_pump_win.cc:206 )
[ 56 ] base::MessagePumpWin::Run(base::MessagePump::Delegate *) ( message_pump_win.cc:78 )
[ 57 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool,base::TimeDelta) ( thread_controller_with_message_pump_impl.cc:648 )
[ 58 ] base::RunLoop::Run(base::Location const &) ( run_loop.cc:136 )
[ 59 ] base::RunLoop::RunLoop(base::RunLoop::Type) ( run_loop.cc:92 )
[ 60 ] content::BrowserMainLoop::RunMainMessageLoop() ( browser_main_loop.cc:1073 )
[ 61 ] content::BrowserMainRunnerImpl::Run() ( browser_main_runner_impl.cc:159 )
[ 62 ] content::BrowserMain(content::MainFunctionParams) ( browser_main.cc:34 )
[ 63 ] RunBrowserProcessMain(content::MainFunctionParams,content::ContentMainDelegate *) ( content_main_runner_impl.cc:704 )
[ 64 ] content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams,bool) ( content_main_runner_impl.cc:1288 )
[ 65 ] std::__Cr::basic_string<char,std::__Cr::char_traits<char>,std::__Cr::allocator<char> >::operator basic_string_view() ( string:1082 )
[ 66 ] content::ContentMainRunnerImpl::Run() ( content_main_runner_impl.cc:1138 )
[ 67 ] RunContentProcess(content::ContentMainParams,content::ContentMainRunner *) ( content_main.cc:326 )
[ 68 ] content::ContentMain(content::ContentMainParams) ( content_main.cc:343 )
[ 69 ] ChromeMain(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *,__int64) ( chrome_main.cc:189 )
[ 70 ] MainDllLoader::Launch(HINSTANCE__ *,base::TimeTicks) ( main_dll_loader_win.cc:166 )
[ 71 ] wWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int) ( chrome_exe_main_win.cc:390 )
[ 72 ] invoke_main() ( exe_common.inl:118 )
[ 73 ] __scrt_common_main_seh() ( exe_common.inl:288 )
[ 74 ] 0x7ffda648257d
[ 75 ] 0x7ffda788aa78

@simonhong
Copy link
Member

I think uplifting brave/brave-core#20041 to 1.59.x will fix this crash.

@kjozwiak
Copy link
Member

Closing as brave/brave-core#20041 fixes the above issue and is already in 1.61.x (Nightly) & 1.60.x (BETA) and will be uplifted into 1.59.x via brave/brave-core#20518.

@kjozwiak
Copy link
Member

The above requires 1.59.119 or higher for 1.59.x verification 👍

@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Oct 18, 2023

Verification PASSED on

Brave | 1.59.120 Chromium: 118.0.5993.88 (Official Build) (64-bit)
-- | --
Revision | 135f92a9af2134bc7d7aeba82f87ff5e68669410
OS | Windows 10 Version 22H2 (Build 19045.3570)

  • Reproduced the issue on 1.59.117
  • Confirmed that there is no crash on 1.59.120 when Brave Vpn is disabled via brave://flags/#brave-vpn and visit settings via hamburger menu
    vpn flag disable

Verification PASSED on

Brave | 1.59.120 Chromium: 118.0.5993.88 (Official Build) (64-bit)
-- | --
Revision | 135f92a9af2134bc7d7aeba82f87ff5e68669410
OS | Windows 11 Version 22H2 (Build 22621.2428)
  • Confirmed that there is no crash on 1.59.120 when Brave Vpn is disabled via brave://flags/#brave-vpn and visit settings via hamburger menu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants