riscv-forks / electron

[WIP] electron for riscv64
https://electronjs.org
5 stars 3 forks source link

Crash in ui::Accelerator::ApplyLongFormModifiers #5

Closed kxxt closed 2 months ago

kxxt commented 2 months ago

A crash happens when opening the 'Files' menu of Code OSS:

backtrace:

[734188:0821/122135.523744:FATAL:check.cc(376)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!                                                                                                         

Thread 1 "code-oss" received signal SIGILL, Illegal instruction.                                                                                                                                                                            
0x0000002ab026c5c2 in logging::LogMessage::HandleFatal (this=<optimized out>, stack_start=<optimized out>, str_newline=...) at ../../base/logging.cc:1075                                                                                   
warning: 1075   ../../base/logging.cc: No such file or directory                                                                                                                                                                            
(gdb) bt full                                                                                                                                                                                                                               
#0  0x0000002ab026c5c2 in logging::LogMessage::HandleFatal (this=<optimized out>, stack_start=<optimized out>, str_newline=...) at ../../base/logging.cc:1075                                                                               
        str_stack = "[734188:0821/122135.523744:FATAL:check.cc(376)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!\n\000", '\252' <repeats 891 times>                                                 
#1  0x0000002ab026c1b4 in logging::LogMessage::Flush()::$_0::operator()() const (this=<optimized out>) at ../../base/logging.cc:773                                                                                                         
No locals.                                                                                                                                                                                                                                  
#2  absl::cleanup_internal::Storage<logging::LogMessage::Flush()::$_0>::InvokeCallback() (this=<optimized out>) at ../../third_party/abseil-cpp/absl/cleanup/internal/cleanup.h:87                                                          
No locals.                                                                                                                                                                                                                                  
#3  absl::Cleanup<absl::cleanup_internal::Tag, logging::LogMessage::Flush()::$_0>::~Cleanup() (this=<optimized out>) at ../../third_party/abseil-cpp/absl/cleanup/cleanup.h:106                                                             
No locals.                                                                                                                                                                                                                                  
#4  logging::LogMessage::Flush (this=0xc01c7cb00) at ../../base/logging.cc:956                                                                                                                                                              
        str_newline = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char> >::__rep, 0, 0>> = {__value_ = {__s = {{               
                    __is_long_ = 1 '\001', __size_ = 68 'D'}, __padding_ = 0x3fffffdd19 "", __data_ = "\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000\300\340\250\001\f\000\000"}, __l = {{__is_long_ = 1, __cap_ = 68},      
                  __size_ = 132,                                                                                                                                                                                                            
                  __data_ = 0xc01a8e0c0 "[734188:0821/122135.523744:FATAL:check.cc(376)] Check failed: false. NOTREACHED log messages are omitted in official builds. Sorry!\n"}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<
char>, 1, 1>> = {<std::__Cr::allocator<char>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<char> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}           
        scoped_clear_last_error = <optimized out>                                                                                                                                                                                           
        stack_start = 131                                                                                                                                                                                                                   
        handle_fatal_message = {storage_ = {is_callback_engaged_ = true, callback_buffer_ = {0 '\000', 203 '\313', 199 '\307', 1 '\001', 12 '\f', 0 '\000', 0 '\000', 0 '\000', <optimized out>, <optimized out>, <optimized out>,          
              <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, 24 '\030', 221 '\335', 255 '\377', 255 '\377', 63 '?', 0 '\000', 0 '\000', 0 '\000'}}}                                                   
#5  0x0000002ab026bd10 in logging::LogMessage::~LogMessage (this=0xc01c7cb00) at ../../base/logging.cc:727                                                                                                                                  
No locals.                                                                                                                                                                                                                                  
#6  0x0000002ab0257f1a in logging::(anonymous namespace)::NotReachedLogMessage::~NotReachedLogMessage (this=0xc01c7cb00) at ../../base/check.cc:148                                                                                         
No locals.                                                                                                                                                                                                                                  
#7  0x0000002ab0257f70 in logging::(anonymous namespace)::NotReachedLogMessage::~NotReachedLogMessage (this=0xc01c7cb00) at ../../base/check.cc:143                                                                                         
No locals.                                                                                                                                                                                                                                  
#8  0x0000002ab0257ac6 in std::__Cr::default_delete<logging::LogMessage>::operator() (this=0x3fffffdea8, __ptr=0x0) at ../../third_party/libc++/src/include/__memory/unique_ptr.h:67                                                        
No locals.                                                                                                                                                                                                                                  
#9  std::__Cr::unique_ptr<logging::LogMessage, std::__Cr::default_delete<logging::LogMessage> >::reset (this=0x3fffffdea8, __p=0x0) at ../../third_party/libc++/src/include/__memory/unique_ptr.h:278                                       
        __tmp = 0x0                                                                                                                                                                                                                         
#10 logging::CheckError::~CheckError (this=0x3fffffdea8) at ../../base/check.cc:350                                                                                                                                                         
        is_fatal = <optimized out>                                                                                                                                                                                                          
#11 0x0000002ab0257be6 in logging::NotReachedError::TriggerNotReached () at ../../base/check.cc:376                                                                                                                                         
No locals.                                                                                                                                                                                                                                  
#12 0x0000002ab11e080c in ui::Accelerator::ApplyLongFormModifiers (this=0x3fffffdf98, shortcut=...) at ../../ui/base/accelerators/accelerator.cc:423                                                                                        
        result = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char16_t, std::__Cr::char_traits<char16_t>, std::__Cr::allocator<char16_t> >::__rep, 0, 0>> = {__value_ = {__s = {{        
                    __is_long_ = 0 '\000', __size_ = 10 '\n'}, __padding_ = "", __data_ = u"Alt+Ctrl+N"}, __l = {{__is_long_ = 0, __cap_ = 16325780579581962}, __size_ = 32088645565612075,                                                 
                  __data_ = 0x4e002b006c <error: Cannot access memory at address 0x4e002b006c>}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<char16_t>, 1, 1>> = {<std::__Cr::allocator<char16_t>> = {<std::__Cr::__non_trivia
l_if<1, std::__Cr::allocator<char16_t> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}                                                                                
#13 0x0000002ab11e02e0 in ui::Accelerator::GetShortcutText (this=0x3fffffdf98) at ../../ui/base/accelerators/accelerator.cc:237                                                                                                             
        shortcut_rtl = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char16_t, std::__Cr::char_traits<char16_t>, std::__Cr::allocator<char16_t> >::__rep, 0, 0>> = {__value_ = {__s = {{  
                    __is_long_ = 0 '\000', __size_ = 0 '\000'}, __padding_ = "", __data_ = u"\000\000\000\000\000\000\000\000\000\000"}, __l = {{__is_long_ = 0, __cap_ = 0}, __size_ = 0,                                                  
                  __data_ = 0x0}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<char16_t>, 1, 1>> = {<std::__Cr::allocator<char16_t>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<char16_t> >> = {<No data fields>},
 <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}                                                                                                                                               
        shortcut = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char16_t, std::__Cr::char_traits<char16_t>, std::__Cr::allocator<char16_t> >::__rep, 0, 0>> = {__value_ = {__s = {{      
                    __is_long_ = 0 '\000', __size_ = 1 '\001'}, __padding_ = "", __data_ = u"N\000\000\000\000\000\000\000\000\000"}, __l = {{__is_long_ = 0, __cap_ = 2555905}, __size_ = 0,      
                  __data_ = 0x0}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<char16_t>, 1, 1>> = {<std::__Cr::allocator<char16_t>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<char16_t> >> = {<No data fields>},
 <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}                                                                                                                                               
        adjust_shortcut_for_rtl = <optimized out>                                                                                                                                                                                           
#14 0x0000002ab1c1a07c in views::MenuConfig::ShouldShowAcceleratorText (this=0x2ab4e4b700 <views::MenuConfig::instance()::instance>, item=0xc00a9e880, text=0x3fffffe018) at ../../ui/views/controls/menu/menu_config.cc:57                 
        accelerator = {                                                                                                                                                                                                                     
          shifted_char = {<std::__Cr::__optional_move_assign_base<char16_t, 1>> = {<std::__Cr::__optional_copy_assign_base<char16_t, 1>> = {<std::__Cr::__optional_move_base<char16_t, 1>> = {<std::__Cr::__optional_copy_base<char16_t, 1>>
 = {<std::__Cr::__optional_storage_base<char16_t, 0>> = {<std::__Cr::__optional_destruct_base<char16_t, 1>> = {{__null_state_ = 0 '\000', __val_ = 0 u'\000'},                                                                              
                        __engaged_ = false}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <std::__Cr::__sfinae_ctor_base<1, 1>> = {<No data fields>}, <std::__Cr::__sfinae_assign_base<1, 
1>> = {<No data fields>}, <No data fields>}, key_code_ = ui::VKEY_N, key_state_ = ui::Accelerator::KeyState::PRESSED, modifiers_ = 28, time_stamp_ = {<base::time_internal::TimeBase<base::TimeTicks>> = {                                  
              static kHoursPerDay = <optimized out>, static kSecondsPerMinute = <optimized out>, static kMinutesPerHour = <optimized out>, static kSecondsPerHour = <optimized out>, static kMillisecondsPerSecond = <optimized out>,       
              static kMillisecondsPerDay = <optimized out>, static kMicrosecondsPerMillisecond = <optimized out>, static kMicrosecondsPerSecond = <optimized out>, static kMicrosecondsPerMinute = <optimized out>,                         
              static kMicrosecondsPerHour = <optimized out>, static kMicrosecondsPerDay = <optimized out>, static kMicrosecondsPerWeek = <optimized out>, static kNanosecondsPerMicrosecond = <optimized out>,                              
              static kNanosecondsPerSecond = <optimized out>, us_ = {value_ = 0}}, <No data fields>}, interrupted_by_mouse_event_ = false, source_device_id_ = -1}                                                                          
#15 0x0000002ab1c0d380 in views::MenuItemView::GetMinorText (this=0xc00a9e880) at ../../ui/views/controls/menu/menu_item_view.cc:1405                                                                                                       
        accel_text = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char16_t, std::__Cr::char_traits<char16_t>, std::__Cr::allocator<char16_t> >::__rep, 0, 0>> = {__value_ = {__s = {{    
                    __is_long_ = 0 '\000', __size_ = 0 '\000'}, __padding_ = "", __data_ = u"\000\000\000\000\000\000\000\000\000\000"}, __l = {{__is_long_ = 0, __cap_ = 0}, __size_ = 0,                                                  
--Type <RET> for more, q to quit, c to continue without paging--c                                                                                                                                                                           
                  __data_ = 0x0}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<char16_t>, 1, 1>> = {<std::__Cr::allocator<char16_t>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<char16_t> >> = {<No data fields>},
 <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}                                                                                                                                               
#16 views::MenuItemView::CalculateDimensions (this=0xc00a9e880) at ../../ui/views/controls/menu/menu_item_view.cc:1324                                                                                                                      
        dimensions = {standard_width = 108, children_width = 0, minor_text_width = 0, height = 12}                                                                                                                                          
        minor_text = {static __endian_factor = 2, __r_ = {<std::__Cr::__compressed_pair_elem<std::__Cr::basic_string<char16_t, std::__Cr::char_traits<char16_t>, std::__Cr::allocator<char16_t> >::__rep, 0, 0>> = {__value_ = {__s = {{    
                    __is_long_ = 0 '\000', __size_ = 85 'U'}, __padding_ = "\252", __data_ = u'ꪪ' <repeats 11 times>}, __l = {{__is_long_ = 0, __cap_ = 6148914691236517205}, __size_ = 12297829382473034410,                               
                  __data_ = 0xaaaaaaaaaaaaaaaa <error: Cannot access memory at address 0xaaaaaaaaaaaaaaaa>}}}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<char16_t>, 1, 1>> = {<std::__Cr::allocator<char16_t>> = {<std::__Cr::
__non_trivial_if<1, std::__Cr::allocator<char16_t> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}                                                                    
        child_size = <optimized out>                                                                                                                                                                                                        
        use_ash_system_ui_layout = <optimized out>                                                                                                                                                                                          
        config = @0x2ab4e4b700: {static kMenuControllerGroupingId = 1001, font_list = {impl_ = {ptr_ = 0xc01d0b960}}, context_menu_font_list = {impl_ = {ptr_ = 0xc01d0b960}}, nonrounded_menu_vertical_border_size = 4,                    
          rounded_menu_vertical_border_size = {<std::__Cr::__optional_move_assign_base<int, 1>> = {<std::__Cr::__optional_copy_assign_base<int, 1>> = {<std::__Cr::__optional_move_base<int, 1>> = {<std::__Cr::__optional_copy_base<int, 1>
> = {<std::__Cr::__optional_storage_base<int, 0>> = {<std::__Cr::__optional_destruct_base<int, 1>> = {{__null_state_ = 0 '\000', __val_ = 0},                                                                                               
                        __engaged_ = false}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <std::__Cr::__sfinae_ctor_base<1, 1>> = {<No data fields>}, <std::__Cr::__sfinae_assign_base<1, 
1>> = {<No data fields>}, <No data fields>}, menu_horizontal_border_size = 0, submenu_horizontal_overlap = 0, item_vertical_margin = 6, ash_item_vertical_margin = 4, minimum_text_item_height = 0, minimum_container_item_height = 0,      
          item_horizontal_padding = 8, touchable_item_horizontal_padding = 16, item_horizontal_border_padding = 12, ash_item_horizontal_border_padding = 0, arrow_size = 16, arrow_to_edge_padding = 8, separator_height = 17,              
          double_separator_height = 18, separator_upper_height = 3, separator_lower_height = 4, separator_spacing_height = 4, separator_thickness = 1, double_separator_thickness = 2, separator_horizontal_border_padding = 0,             
          between_item_vertical_padding = 0, show_mnemonics = false, use_mnemonics = true, scroll_arrow_height = 3, actionable_submenu_arrow_to_edge_padding = 14, actionable_submenu_width = 37,                                           
          actionable_submenu_vertical_separator_height = 18, actionable_submenu_vertical_separator_width = 1, show_accelerators = true, reserve_dedicated_arrow_column = false, use_outer_border = false, icons_in_label = false,           
          icon_label_spacing = 12, always_reserve_check_region = false, check_selected_combobox_item = false, show_delay = 400, corner_radius = 8, auxiliary_corner_radius = 8, touchable_corner_radius = 8, item_corner_radius = 0,        
          touchable_anchor_offset = 8, touchable_menu_height = 36, touchable_menu_min_width = 256, touchable_menu_max_width = 352, bubble_menu_shadow_elevation = 12, bubble_submenu_shadow_elevation = 16,                                 
          vertical_touchable_menu_item_padding = 8, padded_separator_start_padding = 64, arrow_key_selection_wraps = true, show_context_menu_accelerators = true, all_menus_use_prefix_selection = false, footnote_vertical_margin = 11,    
          use_bubble_border = true}                                                                                                                                                                                                         
        font_list = @0x3fffffe000: {impl_ = {ptr_ = 0xc01d0b960}}                                                                                                                                                                           
        title_width = 68                                                                                                                                                                                                                    
        vertical_margins = 12                                                                                                                                                                                                               
        label_text_height = <optimized out>                                                                                                                                                                                                 
#17 0x0000002ab1c0d108 in views::MenuItemView::GetDimensions (this=0xc00a9e880) at ../../ui/views/controls/menu/menu_item_view.cc:614                                                                                                       
No locals.                                                                                                   
#18 0x0000002ab1c1d60e in views::SubmenuView::CalculatePreferredSize (this=0xc01ca3840) at ../../ui/views/controls/menu/submenu_view.cc:246                                                                                                 
        dimensions = <error reading variable: Cannot access memory at address 0xaaaaaaaaaaaaaaaa>                                                                                                                                           
        menu = <optimized out>                                                                                                                                                                                                              
        child = 0xc00a9e880
        __end1 = {__i_ = 0xc01ea8578}
        __begin1 = {__i_ = 0xc01ea84a8}
        __range1 = @0xc01ca39a0: {__begin_ = 0xc01ea84a0, __end_ = 0xc01ea8578, __end_cap_ = {<std::__Cr::__compressed_pair_elem<base::raw_ptr<views::View, 1>*, 0, 0>> = {
              __value_ = 0xc01ea85a0}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<base::raw_ptr<views::View, 1> >, 1, 1>> = {<std::__Cr::allocator<base::raw_ptr<views::View, 1> >> = {<std::__Cr::__non_trivial_if<1, std::__C
r::allocator<base::raw_ptr<views::View, 1> > >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}
        touchable_minimum_width = 153
        max_simple_width = 153
        max_complex_width = 153
        config = <optimized out>
        insets = <optimized out>
        width = <optimized out>
        menu_item_width = <optimized out>
        previous_child_was_lower_separator = <optimized out>
        get_height = <optimized out>
        height = <optimized out>
#19 0x0000002ab1c203a4 in views::MenuScrollViewContainer::CalculatePreferredSize (this=0xc01a37400, available_size=...) at ../../ui/views/controls/menu/menu_scroll_view_container.cc:318
        prefsize = {width_ = 30468416, height_ = 12}
        insets = <optimized out>
#20 0x0000002ab1c15942 in views::MenuController::CalculateMenuBounds (this=0xc01d0e940, item=0xc00a9df80, preferred_open_direction=views::MenuController::MenuOpenDirection::kLeading, resulting_direction=0x3fffffe254, 
    anchor=0x3fffffe238) at ../../ui/views/controls/menu/menu_controller.cc:2407
        anchor_bounds = {origin_ = {x_ = 251, y_ = 56}, size_ = {width_ = 38, height_ = 28}}
        menu_bounds = {origin_ = {x_ = -1431655766, y_ = -1431655766}, size_ = {width_ = 0, height_ = 0}}
        is_child_menu = <optimized out>
        submenu = 0xc01ca3840
        scroll_view_container = 0xc01a37400
        monitor_bounds = <optimized out>
        menu_config = <optimized out>
#21 0x0000002ab1c15010 in views::MenuController::OpenMenuImpl (this=0xc01d0e940, item=0xc00a9df80, show=true) at ../../ui/views/controls/menu/menu_controller.cc:2237
        resulting_direction = (unknown: 0xaaaaaaaa)
        anchor = {anchor_rect = {origin_ = {x_ = 251, y_ = 56}, size_ = {width_ = 38, height_ = 28}}, anchor_position = ui::OwnedWindowAnchorPosition::kBottomLeft, anchor_gravity = ui::OwnedWindowAnchorGravity::kBottomRight, 
          constraint_adjustment = (ui::OwnedWindowConstraintAdjustment::kAdjustmentSlideX | ui::OwnedWindowConstraintAdjustment::kAdjustmentFlipY | ui::OwnedWindowConstraintAdjustment::kAdjustmentRezizeY)}
        bounds = {origin_ = {x_ = -7504, y_ = 63}, size_ = {width_ = -1431655766, height_ = -1431655766}}
        menu_config = @0x2ab4e4b700: {static kMenuControllerGroupingId = 1001, font_list = {impl_ = {ptr_ = 0xc01d0b960}}, context_menu_font_list = {impl_ = {ptr_ = 0xc01d0b960}}, nonrounded_menu_vertical_border_size = 4, 
          rounded_menu_vertical_border_size = {<std::__Cr::__optional_move_assign_base<int, 1>> = {<std::__Cr::__optional_copy_assign_base<int, 1>> = {<std::__Cr::__optional_move_base<int, 1>> = {<std::__Cr::__optional_copy_base<int, 1>
> = {<std::__Cr::__optional_storage_base<int, 0>> = {<std::__Cr::__optional_destruct_base<int, 1>> = {{__null_state_ = 0 '\000', __val_ = 0}, 
                        __engaged_ = false}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <std::__Cr::__sfinae_ctor_base<1, 1>> = {<No data fields>}, <std::__Cr::__sfinae_assign_base<1, 
1>> = {<No data fields>}, <No data fields>}, menu_horizontal_border_size = 0, submenu_horizontal_overlap = 0, item_vertical_margin = 6, ash_item_vertical_margin = 4, minimum_text_item_height = 0, minimum_container_item_height = 0, 
          item_horizontal_padding = 8, touchable_item_horizontal_padding = 16, item_horizontal_border_padding = 12, ash_item_horizontal_border_padding = 0, arrow_size = 16, arrow_to_edge_padding = 8, separator_height = 17, 
          double_separator_height = 18, separator_upper_height = 3, separator_lower_height = 4, separator_spacing_height = 4, separator_thickness = 1, double_separator_thickness = 2, separator_horizontal_border_padding = 0, 
          between_item_vertical_padding = 0, show_mnemonics = false, use_mnemonics = true, scroll_arrow_height = 3, actionable_submenu_arrow_to_edge_padding = 14, actionable_submenu_width = 37, 
          actionable_submenu_vertical_separator_height = 18, actionable_submenu_vertical_separator_width = 1, show_accelerators = true, reserve_dedicated_arrow_column = false, use_outer_border = false, icons_in_label = false, 
          icon_label_spacing = 12, always_reserve_check_region = false, check_selected_combobox_item = false, show_delay = 400, corner_radius = 8, auxiliary_corner_radius = 8, touchable_corner_radius = 8, item_corner_radius = 0, 
          touchable_anchor_offset = 8, touchable_menu_height = 36, touchable_menu_min_width = 256, touchable_menu_max_width = 352, bubble_menu_shadow_elevation = 12, bubble_submenu_shadow_elevation = 16, 
          vertical_touchable_menu_item_padding = 8, padded_separator_start_padding = 64, arrow_key_selection_wraps = true, show_context_menu_accelerators = true, all_menus_use_prefix_selection = false, footnote_vertical_margin = 11, 
          use_bubble_border = true}
        menu_depth = 1
        preferred_open_direction = views::MenuController::MenuOpenDirection::kLeading
        calculate_as_bubble_menu = <optimized out>
        do_capture = <optimized out>
#22 0x0000002ab1c141d8 in views::MenuController::OpenMenu (this=0xc01d0e940, item=0xc00a9df80) at ../../ui/views/controls/menu/menu_controller.cc:2211
No locals.
#23 views::MenuController::CommitPendingSelection (this=0xc01d0e940) at ../../ui/views/controls/menu/menu_controller.cc:2172
        paths_differ_at = 0
        current_path = {__begin_ = 0x0, __end_ = 0x0, __end_cap_ = {<std::__Cr::__compressed_pair_elem<views::MenuItemView**, 0, 0>> = {
              __value_ = 0x0}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<views::MenuItemView*>, 1, 1>> = {<std::__Cr::allocator<views::MenuItemView*>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<views::MenuItem
View*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}                              
        new_path = {__begin_ = 0xc01ec7720, __end_ = 0xc01ec7728, __end_cap_ = {<std::__Cr::__compressed_pair_elem<views::MenuItemView**, 0, 0>> = {
              __value_ = 0xc01ec7728}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<views::MenuItemView*>, 1, 1>> = {<std::__Cr::allocator<views::MenuItemView*>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<views::
MenuItemView*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}                      
#24 0x0000002ab1c10aae in views::MenuController::SetSelection (this=0xc01d0e940, menu_item=0xc00a9df80, selection_types=3) at ../../ui/views/controls/menu/menu_controller.cc:1549
        paths_differ_at = 0
        current_path = {__begin_ = 0x0, __end_ = 0x0, __end_cap_ = {<std::__Cr::__compressed_pair_elem<views::MenuItemView**, 0, 0>> = {
              __value_ = 0x0}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<views::MenuItemView*>, 1, 1>> = {<std::__Cr::allocator<views::MenuItemView*>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<views::MenuItem
View*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}                              
        new_path = {__begin_ = 0xc01ec7730, __end_ = 0xc01ec7738, __end_cap_ = {<std::__Cr::__compressed_pair_elem<views::MenuItemView**, 0, 0>> = {
              __value_ = 0xc01ec7738}, <std::__Cr::__compressed_pair_elem<std::__Cr::allocator<views::MenuItemView*>, 1, 1>> = {<std::__Cr::allocator<views::MenuItemView*>> = {<std::__Cr::__non_trivial_if<1, std::__Cr::allocator<views::
MenuItemView*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}                      
        current_size = <optimized out>
        pending_item_changed = <optimized out>
        new_size = 1
        current_delegate = <optimized out>
#25 0x0000002ab1c105e4 in views::MenuController::Run (this=0xc01d0e940, parent=<optimized out>, button_controller=0xc01ae8770, root=0xc00a9df80, anchor_bounds=..., position=views::MenuAnchorPosition::kTopLeft, context_menu=true, 
    is_nested_drag=false, source_type=ui::MENU_SOURCE_KEYBOARD, native_view_for_gestures=0x0) at ../../ui/views/controls/menu/menu_controller.cc:644
        event = <optimized out>
#26 0x0000002ab1c1b89c in views::internal::MenuRunnerImpl::RunMenuAt (this=0xc01f80f00, parent=0xc00194b00, button_controller=0xc01ae8770, bounds=..., anchor=views::MenuAnchorPosition::kTopLeft, run_types=<optimized out>, 
    source_type=ui::MENU_SOURCE_KEYBOARD, native_view_for_gestures=0x0, corners=..., show_menu_host_duration_histogram=...) at ../../ui/views/controls/menu/menu_runner_impl.cc:190
        controller = 0xc01d0e940
        has_mnemonics = <optimized out>
#27 0x0000002ab1c1b3b4 in views::MenuRunner::RunMenuAt (this=<optimized out>, parent=0xc00194b00, button_controller=0xc01ae8770, bounds=..., anchor=views::MenuAnchorPosition::kTopLeft, source_type=ui::MENU_SOURCE_KEYBOARD, 
    native_view_for_gestures=0x0, corners=..., show_menu_host_duration_histogram=...) at ../../ui/views/controls/menu/menu_runner.cc:91
No locals.
#28 0x0000002aacfd54f4 in electron::MenuDelegate::RunMenu (this=0xc01d3d200, model=<optimized out>, button=0xc00454100, source_type=ui::MENU_SOURCE_KEYBOARD) at ../../electron/shell/browser/ui/views/menu_delegate.cc:46
        screen_loc = {x_ = 251, y_ = 56}
        bounds = {origin_ = {x_ = 251, y_ = 56}, size_ = {width_ = 38, height_ = 28}}
        item = {__ptr_ = {<std::__Cr::__compressed_pair_elem<views::MenuItemView*, 0, 0>> = {
              __value_ = 0x0}, <std::__Cr::__compressed_pair_elem<std::__Cr::default_delete<views::MenuItemView>, 1, 1>> = {<std::__Cr::default_delete<views::MenuItemView>> = {<No data fields>}, <No data fields>}, <No data fields>}}
#29 0x0000002aacfd4d6e in electron::MenuBar::ButtonPressed (this=0xc0005be00, id=0, event=...) at ../../electron/shell/browser/ui/views/menu_bar.cc:199
        type = <optimized out>
        source = 0xc00454100
...

IIRC I came across this exact error with electron 22 on riscv64, which happened a few times. I cannot reproduce it with electron 31. But on electron32, this bug is 100% reproducible.

And this bug is also seen in https://github.com/microsoft/vscode/issues/204561

kxxt commented 2 months ago

Also reproduced on x86_64. Not riscv64 specific