[MacPorts] #68706: emacs-mac-app: Locks Up When Raising Context Menu (was: Emacs Mac App Locks Up When Raising Context Menu)

MacPorts noreply at macports.org
Wed Nov 15 08:43:55 UTC 2023


#68706: emacs-mac-app: Locks Up When Raising Context Menu
----------------------------+----------------------
  Reporter:  kickingvegas   |      Owner:  amake
      Type:  defect         |     Status:  assigned
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:  2.8.1
Resolution:                 |   Keywords:
      Port:  emacs-mac-app  |
----------------------------+----------------------
Changes (by ryandesign):

 * keywords:  Emacs =>
 * owner:  (none) => amake
 * status:  new => assigned


Old description:

> == Title
> Emacs Mac App Locks Up When Raising Context Menu
>
> == Description
> I am able to intermittently lock up the Emacs Mac App when using context-
> menu mode (described in
> [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Mouse-
> Clicks.html|Menu Mouse Clicks (GNU Emacs Manual)]]).
>
> == Environment
> OS: 14.1.1 (23B81) MacPorts: 2.8.1  HW: Apple M1 Pro
>
> == Steps to Reproduce
> # Launch Emacs Mac App from command line using -Q argument to bypass any
> user configuration.
> # Turn on context menu mode (`M-x context-menu-mode`)
> # Repeatedly invoke/raise the context menu by right-mouse button (button
> 3) clicking on the current buffer and moving the mouse cursor over a menu
> item and pulling it away to //not// invoke a menu command.
>
> == Expected Result
> No action should be taken by Emacs as no command from the context menu is
> selected.
>
> == Actual Result
> Emacs Mac App locks up. The following message was emitted on the console:
>
> {{{
> ┏━ cchoi at bingsu:/Applications/MacPorts/EmacsMac.app/Contents/MacOS
> ┗━━ $ ./Emacs.sh  -Q
> 2023-11-14 20:24:24.764 Emacs[36346:246906] TSM
> AdjustCapsLockLEDForKeyTransitionHandling -
> _ISSetPhysicalKeyboardCapsLockLED Inhibit
> *** Terminating app due to uncaught exception
> 'NSInvalidArgumentException', reason: '-[_NSServiceEntry
> getBytes:length:]: unrecognized selector sent to instance 0x600001e60700'
> *** First throw call stack:
> (
>         0   CoreFoundation                      0x00000001869ce800
> __exceptionPreprocess + 176
>         1   libobjc.A.dylib                     0x00000001864c5eb4
> objc_exception_throw + 60
>         2   CoreFoundation                      0x0000000186a803bc
> -[NSObject(NSObject) __retain_OA] + 0
>         3   CoreFoundation                      0x0000000186938a84
> ___forwarding___ + 1572
>         4   CoreFoundation                      0x00000001869383a0
> _CF_forwarding_prep_0 + 96
>         5   Emacs                               0x00000001046e1c8c
> -[EmacsController(Menu) menu:willHighlightItem:] + 76
>         6   AppKit                              0x000000018a3da664
> -[NSMenu _informDelegateOfHighlightedItem:] + 140
>         7   AppKit                              0x000000018a9310a8
> -[NSCocoaMenuImpl _addHighlightForView:] + 356
>         8   AppKit                              0x000000018a930cf8
> __60-[NSCocoaMenuImpl
> _highlightMenuItemView:shouldOpenSubmenu:]_block_invoke + 224
>         9   AppKit                              0x000000018a930958
> -[NSCocoaMenuImpl _highlightMenuItemView:shouldOpenSubmenu:] + 300
>         10  AppKit                              0x000000018a92fedc
> -[NSCocoaMenuImpl _routeEventIfNeeded:toSubview:] + 564
>         11  AppKit                              0x000000018a92fa5c
> -[NSCocoaMenuImpl handleMouseEvent:] + 232
>         12  AppKit                              0x000000018a7122e0
> -[NSContextMenuImpl handleMovedDraggedEvent:] + 168
>         13  AppKit                              0x000000018a758720
> -[NSMenuTrackingSession _sendMouseMovedDragged:] + 96
>         14  AppKit                              0x000000018a757cf8
> -[NSMenuTrackingSession _mouseMovedDraggedEventHandler:] + 1956
>         15  AppKit                              0x000000018a7558d4
> -[NSMenuTrackingSession handleEvent:] + 180
>         16  AppKit                              0x000000018a75504c
> -[NSMenuTrackingSession startRunningMenuEventLoop:] + 420
>         17  AppKit                              0x000000018ae8685c
> -[NSContextMenuTrackingSession startMonitoringEventsInMode:] + 76
>         18  AppKit                              0x000000018a70e508
> +[NSContextMenuImpl presentPopup:fromView:withContext:animated:] + 640
>         19  AppKit                              0x000000018a933fc4
> _NSPopUpMenu + 1988
>         20  AppKit                              0x000000018a93857c
> -[NSCocoaMenuImpl _popUpContextMenu:withEvent:forView:withFont:] + 304
>         21  AppKit                              0x000000018a4579d8
> -[NSMenu _popUpContextMenu:withEvent:forView:withFont:] + 188
>         22  Emacs                               0x00000001046e2420
> -[EmacsFrameController(Menu) popUpMenu:atLocationInEmacsView:] + 232
>         23  Emacs                               0x00000001046e2e4c
> __create_and_show_popup_menu_block_invoke_2 + 44
>         24  Emacs                               0x00000001046f11c4
> __mac_within_gui_allowing_inner_lisp_block_invoke + 28
>         25  Emacs                               0x00000001046effa4
> mac_gui_loop + 88
>         26  Emacs                               0x00000001047097ec
> main.cold.1 + 16
>         27  Emacs                               0x00000001046efc98 main +
> 616
>         28  dyld                                0x00000001865010e0 start
> + 2360
> )
> libc++abi: terminating due to uncaught exception of type NSException
> Killed: 9
> }}}
>
> At this point, force quitting the app is the only available option,
> opening the risk to loss of state that is not persisted.

New description:

 == Title
 Emacs Mac App Locks Up When Raising Context Menu

 == Description
 I am able to intermittently lock up the Emacs Mac App when using context-
 menu mode (described in
 [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Mouse-
 Clicks.html|Menu Mouse Clicks (GNU Emacs Manual)]]).

 == Environment
 OS: 14.1.1 (23B81) MacPorts: 2.8.1  HW: Apple M1 Pro

 == Steps to Reproduce
 1. Launch Emacs Mac App from command line using -Q argument to bypass any
 user configuration.
 2. Turn on context menu mode (`M-x context-menu-mode`)
 3. Repeatedly invoke/raise the context menu by right-mouse button (button
 3) clicking on the current buffer and moving the mouse cursor over a menu
 item and pulling it away to //not// invoke a menu command.

 == Expected Result
 No action should be taken by Emacs as no command from the context menu is
 selected.

 == Actual Result
 Emacs Mac App locks up. The following message was emitted on the console:

 {{{
 ┏━ cchoi at bingsu:/Applications/MacPorts/EmacsMac.app/Contents/MacOS
 ┗━━ $ ./Emacs.sh  -Q
 2023-11-14 20:24:24.764 Emacs[36346:246906] TSM
 AdjustCapsLockLEDForKeyTransitionHandling -
 _ISSetPhysicalKeyboardCapsLockLED Inhibit
 *** Terminating app due to uncaught exception
 'NSInvalidArgumentException', reason: '-[_NSServiceEntry
 getBytes:length:]: unrecognized selector sent to instance 0x600001e60700'
 *** First throw call stack:
 (
         0   CoreFoundation                      0x00000001869ce800
 __exceptionPreprocess + 176
         1   libobjc.A.dylib                     0x00000001864c5eb4
 objc_exception_throw + 60
         2   CoreFoundation                      0x0000000186a803bc
 -[NSObject(NSObject) __retain_OA] + 0
         3   CoreFoundation                      0x0000000186938a84
 ___forwarding___ + 1572
         4   CoreFoundation                      0x00000001869383a0
 _CF_forwarding_prep_0 + 96
         5   Emacs                               0x00000001046e1c8c
 -[EmacsController(Menu) menu:willHighlightItem:] + 76
         6   AppKit                              0x000000018a3da664
 -[NSMenu _informDelegateOfHighlightedItem:] + 140
         7   AppKit                              0x000000018a9310a8
 -[NSCocoaMenuImpl _addHighlightForView:] + 356
         8   AppKit                              0x000000018a930cf8
 __60-[NSCocoaMenuImpl
 _highlightMenuItemView:shouldOpenSubmenu:]_block_invoke + 224
         9   AppKit                              0x000000018a930958
 -[NSCocoaMenuImpl _highlightMenuItemView:shouldOpenSubmenu:] + 300
         10  AppKit                              0x000000018a92fedc
 -[NSCocoaMenuImpl _routeEventIfNeeded:toSubview:] + 564
         11  AppKit                              0x000000018a92fa5c
 -[NSCocoaMenuImpl handleMouseEvent:] + 232
         12  AppKit                              0x000000018a7122e0
 -[NSContextMenuImpl handleMovedDraggedEvent:] + 168
         13  AppKit                              0x000000018a758720
 -[NSMenuTrackingSession _sendMouseMovedDragged:] + 96
         14  AppKit                              0x000000018a757cf8
 -[NSMenuTrackingSession _mouseMovedDraggedEventHandler:] + 1956
         15  AppKit                              0x000000018a7558d4
 -[NSMenuTrackingSession handleEvent:] + 180
         16  AppKit                              0x000000018a75504c
 -[NSMenuTrackingSession startRunningMenuEventLoop:] + 420
         17  AppKit                              0x000000018ae8685c
 -[NSContextMenuTrackingSession startMonitoringEventsInMode:] + 76
         18  AppKit                              0x000000018a70e508
 +[NSContextMenuImpl presentPopup:fromView:withContext:animated:] + 640
         19  AppKit                              0x000000018a933fc4
 _NSPopUpMenu + 1988
         20  AppKit                              0x000000018a93857c
 -[NSCocoaMenuImpl _popUpContextMenu:withEvent:forView:withFont:] + 304
         21  AppKit                              0x000000018a4579d8
 -[NSMenu _popUpContextMenu:withEvent:forView:withFont:] + 188
         22  Emacs                               0x00000001046e2420
 -[EmacsFrameController(Menu) popUpMenu:atLocationInEmacsView:] + 232
         23  Emacs                               0x00000001046e2e4c
 __create_and_show_popup_menu_block_invoke_2 + 44
         24  Emacs                               0x00000001046f11c4
 __mac_within_gui_allowing_inner_lisp_block_invoke + 28
         25  Emacs                               0x00000001046effa4
 mac_gui_loop + 88
         26  Emacs                               0x00000001047097ec
 main.cold.1 + 16
         27  Emacs                               0x00000001046efc98 main +
 616
         28  dyld                                0x00000001865010e0 start +
 2360
 )
 libc++abi: terminating due to uncaught exception of type NSException
 Killed: 9
 }}}

 At this point, force quitting the app is the only available option,
 opening the risk to loss of state that is not persisted.

--

Comment:

 You could test with emacs-mac-app-devel (a presumably newer development
 version) to see if the issue remains. If it does, you could report it to
 the developers.

-- 
Ticket URL: <https://trac.macports.org/ticket/68706#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list