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

Brave crashed when resizing sidepanel in a resized window in a split view #44306

Open
1 of 6 tasks
MadhaviSeelam opened this issue Feb 27, 2025 · 1 comment · May be fixed by brave/brave-core#27875
Open
1 of 6 tasks
Assignees
Labels

Comments

@MadhaviSeelam
Copy link

Description

Found while opened #36986. Brave crashed after enabling split view in a resized window after attempting to resize the sidepanel. This issue might be related to from #44304

Steps to reproduce

  1. Install 1.77.70
  2. launch Brave
  3. open couple of tabs and enable split view
  4. enable sidepanel
  5. resize the sidepanel

Actual result

Brave crashed after resizing the sidepanel

2025-02-27_13h29_57.mp4
Status: Uploaded
Uploaded Crash Report ID: f4550500-1c70-750d-0000-000000000000
Upload Time: Thursday, February 27, 2025, at 1:33:59 PM
Crash Details
[ 00 ] std::__Cr::vector<views::ChildLayout,std::__Cr::allocator<views::ChildLayout> >::__construct_one_at_end(views::View * &,bool &&,gfx::Rect &&,views::SizeBounds &&) ( vector.h:732 )
[ 01 ] views::View::GetMirroredRect(gfx::Rect const &) ( view.cc:898 )
[ 02 ] SplitViewLayoutManager::CalculateProposedLayout(views::SizeBounds const &) ( split_view_layout_manager.cc:0 )
[ 03 ] views::LayoutManagerBase::Layout(views::View *) ( layout_manager_base.cc:118 )
[ 04 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:931 )
[ 05 ] views::View::LayoutSuperclass(SplitView *) ( view.h:1904 )
[ 06 ] SplitView::Layout(base::NonCopyablePassKey<views::View>) ( split_view.cc:234 )
[ 07 ] views::View::LayoutImmediately() ( view.cc:3533 )
[ 08 ] views::View::SetBoundsRect(gfx::Rect const &) ( view.cc:469 )
[ 09 ] BrowserViewLayout::LayoutContentsContainerView(int,int) ( browser_view_layout.cc:742 )
[ 10 ] BraveBrowserViewLayout::LayoutContentsContainerView(int,int) ( brave_browser_view_layout.cc:223 )
[ 11 ] BrowserViewLayout::Layout(views::View *) ( browser_view_layout.cc:460 )
[ 12 ] BraveBrowserViewLayout::Layout(views::View *) ( brave_browser_view_layout.cc:105 )
[ 13 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:931 )
[ 14 ] views::View::LayoutSuperclass(BrowserView *) ( view.h:1904 )
[ 15 ] BrowserView::Layout(base::NonCopyablePassKey<views::View>) ( browser_view.cc:4741 )
[ 16 ] views::View::LayoutSuperclass(BraveBrowserView *) ( view.h:1904 )
[ 17 ] BraveBrowserView::Layout(base::NonCopyablePassKey<views::View>) ( brave_browser_view.cc:1002 )
[ 18 ] views::View::LayoutImmediately() ( view.cc:3533 )
[ 19 ] views::View::SetBoundsRect(gfx::Rect const &) ( view.cc:420 )
[ 20 ] views::NonClientFrameView::Layout(base::NonCopyablePassKey<views::View>) ( non_client_view.cc:132 )
[ 21 ] views::View::LayoutSuperclass(BrowserFrameViewWin *) ( view.h:1904 )
[ 22 ] BrowserFrameViewWin::Layout(base::NonCopyablePassKey<views::View>) ( browser_frame_view_win.cc:486 )
[ 23 ] views::View::LayoutImmediately() ( view.cc:3533 )
[ 24 ] views::View::SetBoundsRect(gfx::Rect const &) ( view.cc:420 )
[ 25 ] views::NonClientView::Layout(base::NonCopyablePassKey<views::View>) ( non_client_view.cc:300 )
[ 26 ] views::View::LayoutImmediately() ( view.cc:3533 )
[ 27 ] views::View::DeprecatedLayoutImmediately() ( view.cc:913 )
[ 28 ] views::LayoutManagerBase::ApplyLayout(views::ProposedLayout const &) ( layout_manager_base.cc:235 )
[ 29 ] views::LayoutManagerBase::LayoutImpl() ( layout_manager_base.cc:201 )
[ 30 ] views::LayoutManagerBase::Layout(views::View *) ( layout_manager_base.cc:118 )
[ 31 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:921 )
[ 32 ] views::View::LayoutImmediately() ( view.cc:3532 )
[ 33 ] views::Widget::LayoutRootViewIfNecessary() ( widget.cc:2293 )
[ 34 ] ui::Layer::SendDamagedRects() ( layer.cc:1331 )
[ 35 ] ui::Compositor::SendDamagedRectsRecursive(ui::Layer *) ( compositor.cc:787 )
[ 36 ] std::__Cr::vector<base::raw_ptr<ui::Layer,1>,std::__Cr::allocator<base::raw_ptr<ui::Layer,1> > >::size() ( vector.h:377 )
[ 37 ] ui::Compositor::SendDamagedRectsRecursive(ui::Layer *) ( compositor.cc:787 )
[ 38 ] cc::LayerTreeHost::RequestMainFrameUpdate(bool) ( layer_tree_host.cc:402 )
[ 39 ] cc::SingleThreadProxy::DoBeginMainFrame(viz::BeginFrameArgs const &) ( single_thread_proxy.cc:1167 )
[ 40 ] cc::SingleThreadProxy::BeginMainFrame(viz::BeginFrameArgs const &) ( single_thread_proxy.cc:1115 )
[ 41 ] base::OnceCallback<void ()>::Run() ( callback.h:156 )
[ 42 ] base::TaskAnnotator::RunTaskImpl(base::PendingTask &) ( task_annotator.cc:209 )
[ 43 ] base::TaskAnnotator::RunTask(perfetto::StaticString,base::PendingTask &,base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl::<lambda_4> &&) ( task_annotator.h:106 )
[ 44 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow *) ( thread_controller_with_message_pump_impl.cc:456 )
[ 45 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() ( thread_controller_with_message_pump_impl.cc:330 )
[ 46 ] base::MessagePumpForUI::DoRunLoop() ( message_pump_win.cc:265 )
[ 47 ] base::MessagePumpWin::Run(base::MessagePump::Delegate *) ( message_pump_win.cc:89 )
[ 48 ] base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool,base::TimeDelta) ( thread_controller_with_message_pump_impl.cc:632 )
[ 49 ] base::RunLoop::Run(base::Location const &) ( run_loop.cc:136 )
[ 50 ] content::BrowserMainLoop::RunMainMessageLoop() ( browser_main_loop.cc:1091 )
[ 51 ] content::BrowserMainRunnerImpl::Run() ( browser_main_runner_impl.cc:156 )
[ 52 ] content::BrowserMain(content::MainFunctionParams) ( browser_main.cc:32 )
[ 53 ] RunBrowserProcessMain(content::MainFunctionParams,content::ContentMainDelegate *) ( content_main_runner_impl.cc:710 )
[ 54 ] content::ContentMainRunnerImpl::RunBrowser(content::MainFunctionParams,bool) ( content_main_runner_impl.cc:1289 )
[ 55 ] content::ContentMainRunnerImpl::Run() ( content_main_runner_impl.cc:1143 )
[ 56 ] RunContentProcess(content::ContentMainParams,content::ContentMainRunner *) ( content_main.cc:353 )
[ 57 ] content::ContentMain(content::ContentMainParams) ( content_main.cc:366 )
[ 58 ] ChromeMain(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *,__int64,__int64,__int64) ( chrome_main.cc:224 )
[ 59 ] MainDllLoader::Launch(HINSTANCE__ *,base::TimeTicks) ( main_dll_loader_win.cc:201 )
[ 60 ] wWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int) ( chrome_exe_main_win.cc:352 )
[ 61 ] invoke_main() ( exe_common.inl:118 )
[ 62 ] __scrt_common_main_seh() ( exe_common.inl:288 )
[ 63 ] BaseThreadInitThunk
[ 64 ] RtlUserThreadStart
[ 65 ] UnhandledExceptionFilter

Expected result

Brave should not crash

Reproduces how often

Easily reproduced

Brave version (brave://version info)

Brave 1.77.70 Chromium: 134.0.6998.39 (Official Build) beta (64-bit)
Revision b60c7cd8d406b81e34e6b56fec0f0a787ba7c990
OS Windows 11 Version 24H2 (Build 26100.3194)

Channel information

  • release (stable)
  • beta
  • nightly

Reproducibility

  • with Brave Shields disabled
  • with Brave Rewards disabled
  • in the latest version of Chrome

Miscellaneous information

@rebron @simonhong
cc: @brave/qa-team

@boocmp
Copy link

boocmp commented Feb 28, 2025

Easier steps:

crash.mp4
  1. Resize browser to be small
  2. Open sidebar and resize it to the max width
  3. Open split view
  4. Click into the left web contents (or activate sidebar again)

@boocmp boocmp linked a pull request Feb 28, 2025 that will close this issue
24 tasks
@rebron rebron changed the title Brave crashed when resizing sidepanel in a resized the window in a split view Brave crashed when resizing sidepanel in a resized window in a split view Feb 28, 2025
@rebron rebron added the priority/P2 A bad problem. We might uplift this to the next planned release. label Feb 28, 2025
@rebron rebron moved this to In progress in General Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

3 participants