升级 macOS 13 Ventura 之后,你们有没有碰到 Emacs 经常崩溃的问题

自从升级到 macOS 13 之后, Emacs 就经常崩溃,且每次崩溃时的场景也不一样

Emacs 也重新编译过了, eln-cache 也清理过重新编译了

Emacs 版本: emacs-mac 28.2:

brew install emacs-mac --with-natural-title-bar --with-spacemacs-icon --with-mac-metal --with-librsvg --with-native-comp --with-xwidgets

配置: Spacemacs

有没有遇到同样问题的小伙伴?

emacs-plus

brew install d12frosted/emacs-plus/emacs-plus@30 --with-dbus --with-debug --with-mailutils --with-no-frame-refocus --with-xwidgets
GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin22.2.0, NS appkit-2299.30
 Version 13.1 (Build 22C65)) of 2022-12-09

30 没崩过,29 倒是崩过几次。

我还是 Intel CPU,我先切到 emacs-plus 用几天试试

前几天 emacs 29 分支推送了一个崩溃的 fix,这个 fix 是临时性的,还没有合并到 master。因此建议升级到 emacs 29。

另外崩溃最好把系统生成的 trace 保存下来,便于后续分析。

Emacs 诸多 port 中,NS port 是相对缺少维护、BUG 较多的,需要更多人更积极地报 BUG。

我也遇到好几次了 emacs28+m1

dyld[93491]: Assertion failed: (this->magic == kMagic), function contains, file Loader.cpp, line 144.

Fatal error 6: Aborted
Backtrace:
0   Emacs                               0x0000000102d0a454 emacs_backtrace + 164
1   Emacs                               0x0000000102e243bc terminate_due_to_signal + 156
2   Emacs                               0x0000000102d0b818 deliver_thread_signal + 0
3   Emacs                               0x0000000102d0b894 init_bignum + 0
4   Emacs                               0x0000000102d0a264 maybe_fatal_sig + 0
5   libsystem_platform.dylib            0x00000001aec482a4 _sigtramp + 56
6   dyld                                0x00000001ae9656c0 abort_with_payload_wrapper_internal + 104
7   dyld                                0x00000001ae9656f4 dyld + 505588
8   dyld                                0x00000001ae8f40a4 _ZN5dyld411CacheFinderD2Ev + 0
9   dyld                                0x00000001ae964244 __assert_rtn + 0
10  dyld                                0x00000001ae964280 _ZN5dyld45Atlas6MapperD2Ev.cold.1 + 0
11  dyld                                0x00000001ae961424 _ZNK5dyld46Loader11matchesPathEPKc.cold.1 + 0
12  dyld                                0x00000001ae903328 _ZNK5dyld46Loader11matchesPathEPKc + 0
13  dyld                                0x00000001ae923af4 ___ZN5dyld44APIs17findImageMappedAtEPKvPPKN5dyld311MachOLoadedEPbPPKcPS2_PyPh_block_invoke.82 + 144
14  dyld                                0x00000001ae8f744c _ZN5dyld412RuntimeState19withLoadersReadLockEU13block_pointerFvvE + 92
15  dyld                                0x00000001ae923904 _ZN5dyld44APIs17findImageMappedAtEPKvPPKN5dyld311MachOLoadedEPbPPKcPS2_PyPh + 720
16  dyld                                0x00000001ae923c6c _ZN5dyld44APIs34dyld_image_path_containing_addressEPKv + 72
17  libsystem_trace.dylib               0x00000001ae9bf2e8 _os_trace_dylib_or_main_executable_was_loaded + 84
18  dyld                                0x00000001ae8fc624 ___ZN5dyld412RuntimeState10notifyLoadERKNSt3__14spanIPKNS_6LoaderELm18446744073709551615EEE_block_invoke + 248
19  dyld                                0x00000001ae8f79f0 _ZN5dyld412RuntimeState21withNotifiersReadLockEU13block_pointerFvvE + 96
20  dyld                                0x00000001ae8fc2cc _ZN5dyld412RuntimeState10notifyLoadERKNSt3__14spanIPKNS_6LoaderELm18446744073709551615EEE + 356
21  dyld                                0x00000001ae924a9c _ZN5dyld44APIs11dlopen_fromEPKciPv + 1200
22  Emacs                               0x0000000102da051c Fnative_elisp_load + 228
23  Emacs                               0x0000000102d7f55c Fload + 2068
24  Emacs                               0x0000000102d80fa0 save_match_data_load + 104
25  Emacs                               0x0000000102d6ac10 Frequire + 536
26  Emacs                               0x0000000102d61d70 __funcall_subr_block_invoke + 320
27  Emacs                               0x0000000102df1ac8 mac_autorelease_loop + 48
28  Emacs                               0x0000000102d61884 funcall_subr + 96
29  Emacs                               0x0000000102d61110 Ffuncall + 600
30  Emacs                               0x0000000102d98290 exec_byte_code + 1852
31  Emacs                               0x0000000102d5df38 eval_sub + 1308
32  Emacs                               0x0000000102d60878 Feval + 100
dyld[93491]: Assertion failed: (this->magic == kMagic), function contains, file Loader.cpp, line 144.

[1]    93491 abort      emacs

我也是 经常会崩溃,后来不开native就好了好像 目前没崩了