Subject: 28.0.50; Frequent crashes on ARM macOS

From: Philipp <[email-masked]>
Date: Tue, 29 Dec 2020 23:32:43 +0100

With an Emacs built from the emacs-27 branch I get frequent crashes on
ARM64 macOS (Big Sur).  I haven't managed to produce an Elisp stacktrace
yet, but here's the crash report:

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000000038d0
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x38d0:
--> 
    __TEXT                      1042fc000-10453c000    [ 2304K] r-x/r-x SM=COW  /Applications/Emacs.app/Contents/MacOS/Emacs

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x000000018d20fcec __pthread_kill + 8
1   libsystem_pthread.dylib       	0x000000018d240c24 pthread_kill + 292
2   libsystem_c.dylib             	0x000000018d1204d0 raise + 32
3   org.gnu.Emacs                 	0x00000001044fa394 terminate_due_to_signal + 188 (emacs.c:409)
4   org.gnu.Emacs                 	0x00000001044fab4c emacs_abort + 20 (sysdep.c:2455)
5   org.gnu.Emacs                 	0x00000001044c949c ns_term_shutdown + 144 (nsterm.m:5560)
6   org.gnu.Emacs                 	0x00000001043b60d8 shut_down_emacs + 328 (emacs.c:2491)
7   org.gnu.Emacs                 	0x00000001044fa35c terminate_due_to_signal + 132 (emacs.c:392)
8   org.gnu.Emacs                 	0x00000001043d4fb4 handle_fatal_signal + 16 (sysdep.c:1795)
9   org.gnu.Emacs                 	0x00000001043d502c deliver_thread_signal + 120 (sysdep.c:1769)
10  org.gnu.Emacs                 	0x00000001043d3a68 deliver_fatal_thread_signal + 12 (sysdep.c:1807)
11  libsystem_platform.dylib      	0x000000018d288c44 _sigtramp + 56
12  org.gnu.Emacs                 	0x00000001044d475c ns_mouse_position + 248 (nsterm.m:2519)
13  org.gnu.Emacs                 	0x000000010430d2c8 Fmouse_pixel_position + 136 (frame.c:2498)
14  org.gnu.Emacs                 	0x000000010443be48 funcall_subr + 188 (eval.c:2866)
15  org.gnu.Emacs                 	0x000000010443b420 Ffuncall + 948 (eval.c:2795)
16  org.gnu.Emacs                 	0x000000010447c208 exec_byte_code + 1560 (bytecode.c:633)
17  org.gnu.Emacs                 	0x000000010443b3a8 Ffuncall + 828
18  org.gnu.Emacs                 	0x000000010443bb0c call1 + 44 (eval.c:2655)
19  org.gnu.Emacs                 	0x00000001043bcc1c show_help_echo + 308 (keyboard.c:2093)
20  org.gnu.Emacs                 	0x00000001043bd30c read_char + 1648 (keyboard.c:3117)
21  org.gnu.Emacs                 	0x00000001043bb220 read_key_sequence + 1880 (keyboard.c:9554)
22  org.gnu.Emacs                 	0x00000001043b9cd0 command_loop_1 + 1128 (keyboard.c:1350)
23  org.gnu.Emacs                 	0x0000000104439a6c internal_condition_case + 248 (eval.c:1356)
24  org.gnu.Emacs                 	0x00000001043c86ac command_loop_2 + 44 (keyboard.c:1091)
25  org.gnu.Emacs                 	0x0000000104439354 internal_catch + 248 (eval.c:1117)
26  org.gnu.Emacs                 	0x00000001044fa690 recursive_edit_1.cold.1 + 80 (keyboard.c:1070)
27  org.gnu.Emacs                 	0x00000001043b8dc0 command_loop + 4 (keyboard.c:1067) [inlined]
28  org.gnu.Emacs                 	0x00000001043b8dc0 recursive_edit_1 + 248 (keyboard.c:714)
29  org.gnu.Emacs                 	0x00000001043b8f68 Frecursive_edit + 388 (keyboard.c:786)
30  org.gnu.Emacs                 	0x00000001043b83b0 main + 8836 (emacs.c:2066)
31  libdyld.dylib                 	0x000000018d25cf34 start + 4

Looks like a crash in ns_mouse_position.

In GNU Emacs 28.0.50 (build 28, aarch64-apple-darwin20.2.0, NS appkit-2022.20 Version 11.1 (Build 20C69))
 of 2020-12-29
Repository revision: 90bd3b3d69d40339127b4744c459cedb7eb962b0
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.1

Configured using:
 'configure --with-modules --without-xml2 --without-pop --with-mailutils
 --enable-gcc-warnings=warn-only --enable-checking=all
 --enable-check-lisp-object-type 'CFLAGS=-ggdb3 -O0''

Configured features:
PNG NOTIFY KQUEUE ACL GNUTLS ZLIB TOOLKIT_SCROLL_BARS XIM NS MODULES
THREADS JSON PDUMPER LCMS2

Important settings:
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc dired dired-loaddefs rfc822
mml easymenu mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils phst skeleton derived edmacro kmacro pcase ffap
thingatpt url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
mailcap rx gnutls puny dbus xml subr-x seq byte-opt gv bytecomp
byte-compile cconv compile text-property-search comint ansi-color ring
cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads kqueue cocoa ns lcms2
multi-tty make-network-process emacs)

Memory information:
((conses 16 70926 5579)
 (symbols 48 8581 1)
 (strings 32 23907 1885)
 (string-bytes 1 779937)
 (vectors 16 14984)
 (vector-slots 8 198319 4285)
 (floats 8 26 28)
 (intervals 56 209 0)
 (buffers 984 10))