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 in tab strip layout #38201

Open
zenparsing opened this issue May 9, 2024 · 1 comment
Open

Crash in tab strip layout #38201

zenparsing opened this issue May 9, 2024 · 1 comment
Assignees
Labels
crash OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release.

Comments

@zenparsing
Copy link

zenparsing commented May 9, 2024

This crash appears to occur when then UpdateTabContainer method is called asynchronously, when it is switching between compound and non-compound tab container mode.

[ 00 ] std::__Cr::map<tab_groups::TabGroupId, std::__Cr::unique_ptr<TabGroupViews, std::__Cr::default_delete<TabGroupViews>>, std::__Cr::less<tab_groups::TabGroupId>, std::__Cr::allocator<std::__Cr::pair<tab_groups::TabGroupId const, std::__Cr::unique_ptr<TabGroupViews, std::__Cr::default_delete<TabGroupViews>>>>>::at(tab_groups::TabGroupId const&) ( immediate_crash.h:179 )
[ 01 ] TabContainerImpl::SetTabSlotVisibility() ( tab_container_impl.cc:714 )
[ 02 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 03 ] views::View::SetBoundsRect(gfx::Rect const&) ( view.cc:459 )
[ 04 ] views::LayoutManagerBase::ApplyLayout(views::ProposedLayout const&) ( layout_manager_base.cc:214 )
[ 05 ] views::LayoutManagerBase::LayoutImpl() ( layout_manager_base.cc:186 )
[ 06 ] views::LayoutManagerBase::Layout(views::View*) ( layout_manager_base.cc:103 )
[ 07 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:911 )
[ 08 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 09 ] views::View::SetBoundsRect(gfx::Rect const&) ( view.cc:459 )
[ 10 ] views::View::SetBounds(int, int, int, int) ( view.cc:401 )
[ 11 ] views::View::SetSize(gfx::Size const&) ( view.cc:495 )
[ 12 ] views::ScrollView::Layout(base::NonCopyablePassKey<views::View>) ( scroll_view.cc:671 )
[ 13 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 14 ] views::View::SetBoundsRect(gfx::Rect const&) ( view.cc:410 )
[ 15 ] BraveCompoundTabContainer::Layout(base::NonCopyablePassKey<views::View>) ( brave_compound_tab_container.cc:252 )
[ 16 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 17 ] views::View::DeprecatedLayoutImmediately() ( view.cc:903 )
[ 18 ] BraveTabStrip::Layout(base::NonCopyablePassKey<views::View>) ( brave_tab_strip.cc:398 )
[ 19 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 20 ] views::View::DeprecatedLayoutImmediately() ( view.cc:903 )
[ 21 ] views::LayoutManagerBase::ApplyLayout(views::ProposedLayout const&) ( layout_manager_base.cc:221 )
[ 22 ] views::LayoutManagerBase::LayoutImpl() ( layout_manager_base.cc:186 )
[ 23 ] views::LayoutManagerBase::Layout(views::View*) ( layout_manager_base.cc:103 )
[ 24 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:911 )
[ 25 ] void views::View::LayoutSuperclass<views::AccessiblePaneView, TabStripRegionView>(T0*) ( view.h:1862 )
[ 26 ] TabStripRegionView::Layout(base::NonCopyablePassKey<views::View>) ( tab_strip_region_view.cc:341 )
[ 27 ] void views::View::LayoutSuperclass<TabStripRegionView, BraveTabStripRegionView>(T0*) ( view.h:1862 )
[ 28 ] BraveTabStripRegionView::Layout(base::NonCopyablePassKey<views::View>) ( brave_tab_strip_region_view.cc:21 )
[ 29 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 30 ] views::View::DeprecatedLayoutImmediately() ( view.cc:903 )
[ 31 ] views::LayoutManagerBase::ApplyLayout(views::ProposedLayout const&) ( layout_manager_base.cc:221 )
[ 32 ] views::LayoutManagerBase::LayoutImpl() ( layout_manager_base.cc:186 )
[ 33 ] views::LayoutManagerBase::Layout(views::View*) ( layout_manager_base.cc:103 )
[ 34 ] views::View::Layout(base::NonCopyablePassKey<views::View>) ( view.cc:911 )
[ 35 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 36 ] views::View::SetBoundsRect(gfx::Rect const&) ( view.cc:410 )
[ 37 ] views::View::SetBounds(int, int, int, int) ( view.cc:401 )
[ 38 ] views::View::SetSize(gfx::Size const&) ( view.cc:495 )
[ 39 ] VerticalTabStripRegionView::Layout(base::NonCopyablePassKey<views::View>) ( vertical_tab_strip_region_view.cc:896 )
[ 40 ] views::View::LayoutImmediately() ( view.cc:3646 )
[ 41 ] views::View::DeprecatedLayoutImmediately() ( view.cc:903 )
[ 42 ] VerticalTabStripScrollContentsView::ChildPreferredSizeChanged(views::View*) ( vertical_tab_strip_region_view.cc:433 )
[ 43 ] views::View::PreferredSizeChanged() ( view.cc:2373 )
[ 44 ] views::View::PreferredSizeChanged() ( view.cc:2373 )
[ 45 ] views::View::PreferredSizeChanged() ( view.cc:2373 )
[ 46 ] CompoundTabContainer::ChildPreferredSizeChanged(views::View*) ( compound_tab_container.cc:767 )
[ 47 ] BraveCompoundTabContainer::ChildPreferredSizeChanged(views::View*) ( brave_compound_tab_container.cc:422 )
[ 48 ] views::View::PreferredSizeChanged() ( view.cc:2373 )
[ 49 ] TabContainerImpl::AnimateToIdealBounds() ( tab_container_impl.cc:646 )
[ 50 ] TabContainerImpl::OnGroupVisualsChanged(tab_groups::TabGroupId const&, tab_groups::TabGroupVisualData const*, tab_groups::TabGroupVisualData const*) ( tab_container_impl.cc:401 )
[ 51 ] TabStripModel::ChangeTabGroupVisuals(tab_groups::TabGroupId const&, TabGroupChange::VisualsChange const&) ( tab_strip_model.cc:1284 )
[ 52 ] TabGroup::SetVisualData(tab_groups::TabGroupVisualData const&, bool) ( tab_group.cc:48 )
[ 53 ] BrowserTabStripController::ToggleTabGroupCollapsedState(tab_groups::TabGroupId, ToggleTabGroupCollapsedStateOrigin) ( browser_tab_strip_controller.cc:428 )
[ 54 ] TabStrip::ToggleTabGroupCollapsedState(tab_groups::TabGroupId, ToggleTabGroupCollapsedStateOrigin) ( tab_strip.cc:1627 )
[ 55 ] TabStrip::AddTabToGroup(std::__Cr::optional<tab_groups::TabGroupId>, int) ( tab_strip.cc:1182 )
[ 56 ] BraveTabStrip::UpdateTabContainer() ( brave_tab_strip.cc:298 )
[ 57 ] base::OnceCallback<void ()>::Run() && ( callback.h:156 )
[ 58 ] base::TaskAnnotator::RunTaskImpl(base::PendingTask&) ( task_annotator.cc:203 )
@bsclifton bsclifton added crash priority/P2 A bad problem. We might uplift this to the next planned release. labels May 9, 2024
@bsclifton
Copy link
Member

Reported on Community here:
https://community.brave.com/t/one-brave-profile-crashing/542547

Some extra info:

  • Customer has vertical tabs enabled
  • They also have pinned tabs
  • They are using tab groups with vertical tabs

@sangwoo108 sangwoo108 self-assigned this May 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release.
Projects
None yet
Development

No branches or pull requests

3 participants