On 2/23/2023 11:52 PM, Eli Zaretskii wrote: >> Date: Thu, 23 Feb 2023 18:20:39 -0800 >> From: Jim Porter >> Cc: emacs-devel@gnu.org >> >> The segfault is in FACE_FROM_ID_OR_NULL, called from >> Finternal_merge_in_global_face. It happens because the face_cache is >> null during these tests (since Emacs is noninteractive). >> >> The attached patch fixes the issue for me, though I'm not totally sure >> it's the *right* fix. Any thoughts? (I'm also not 100% sure this is the >> same issue you're seeing...) > > Please show the C backtrace from the crash, and include the Lisp > backtrace (the "xbacktrace" command in src/.gdbinit). Ok, I ran Emacs (master branch) under GDB with the following arguments: -Q -L ":../test" -l ert -l lisp/server-tests.el --batch --eval '(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))' Attached is the backtrace from 'xbacktrace'. I think this only occurs when starting the Emacs server in a batch-mode Emacs process and then starting a client via "emacsclient -c". I see the segfault when running any of the tests in test/lisp/server-tests.el that create a frame (e.g. 'server-tests/server-start/stop-prompt-with-client'). This also only seems to occur if the first face that 'face-set-after-frame-default' passes to 'internal-merge-in-global-face' is the default face.