GNU bug report logs - #78981
30.1; Crash in display_mode_line, running in macOS

Previous Next

Package: emacs;

Reported by: Yikai Zhao <yikai <at> z1k.dev>

Date: Wed, 9 Jul 2025 14:18:01 UTC

Severity: normal

Found in version 30.1

Full log


View this message in rfc822 format

From: 赵一开 <yikai <at> z1k.dev>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 78981 <at> debbugs.gnu.org
Subject: bug#78981: 30.1; Crash in display_mode_line, running in macOS
Date: Mon, 14 Jul 2025 00:18:45 +0800
[Message part 1 (text/plain, inline)]
I cannot reproduce this crash anymore, it just happened once randomly. Do
you still want this info while it’s running normally?

On Sun, Jul 13, 2025 at 23:45 Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: 赵一开 <yikai <at> z1k.dev>
> > Date: Sun, 13 Jul 2025 23:21:20 +0800
> > Cc: 78981 <at> debbugs.gnu.org
> >
> > On Wed, Jul 9, 2025 at 11:55 PM Eli Zaretskii <eliz <at> gnu.org> wrote:
> > >
> > > > From: Yikai Zhao <yikai <at> z1k.dev>
> > > > Date: Wed, 09 Jul 2025 22:16:46 +0800
> > > >
> > > >
> > > > Emacs crashed. I cannot reproduce. I was just typing in emacs before
> the
> > > > crash, no any particular event that triggered it as I recall.
> > > >
> > > > See below for the full crash report generated by macOS.
> > > >
> > > > I guess the important stacks are:
> > > >
> > > >     8   Emacs                                        0x1047f14f4
> deliver_fatal_thread_signal + 128
> > > >     9   Emacs                                        0x1047f33d8
> handle_sigsegv + 64
> > > >     10  libsystem_platform.dylib                     0x19c900624
> _sigtramp + 56
> > > >     11  Emacs                                        0x10470b838
> display_mode_line + 620
> > > >     12  Emacs                                        0x104742e60
> display_mode_lines + 556
> > > >
> > > > Here's the output of `otool -function_offsets -tvV -p
> _display_mode_line /Applications/Emacs.app/Content
> > > > s/MacOS/Emacs`:
> > > >
> > > >     +604 000000010002b828 ldr     x8, [x8, #0x10]
> > > >     +608 000000010002b82c ldr     x19, [x8, w19, sxtw #3]
> > > >     +612 000000010002b830 add     x0, sp, #0x18
> > > >     +616 000000010002b834 bl      _extend_face_to_end_of_line
> > > >     +620 000000010002b838 ldrb    w8, [x19, #0x100]
> > > >     +624 000000010002b83c tst     w8, #0x3
> > > >     +628 000000010002b840 b.eq    0x10002b894
> > > >
> > > > It seems that the crashed position is at the line after calling
> `extend_face_to_end_of_line`.
> > >
> > > What was the value of mode-line-format in that buffer,
> >
> > Value:
> > ("%e" mode-line-front-space
> >  (:propertize
> >   ("" mode-line-mule-info mode-line-client mode-line-modified
> >    mode-line-remote mode-line-window-dedicated)
> >   display (min-width (6.0)))
> >  mode-line-frame-identification mode-line-buffer-identification "   "
> >  mode-line-position evil-mode-line-tag
> >  (project-mode-line project-mode-line-format) "  " mode-line-modes
> >  mode-line-misc-info mode-line-end-spaces)
> >
> > buffer value and global value are the same.
> >
> > > and if you
> > > customized the variable used by mode-line-format, what are the
> > > customized values?
> >
> > I don't think I have.
> >
> > I do have customized faces for mode-line:
> >
> >   (custom-set-faces
> >    '(mode-line ((t (:height 0.9))))  ;; smaller mode-line
> >    '(mode-line-inactive ((t (:height 0.9))))
> >
>
> Thanks, can you tell the value of face_id argument to the function
> display_mode_line and also of the variable 'face' after
> extend_face_to_end_of_line returns:
>
>   /* Make a 3D mode-line have a shadow at its right end.  */
>   face = FACE_FROM_ID (it.f, face_id);
>   extend_face_to_end_of_line (&it);
>   if (face->box != FACE_NO_BOX)  <<<<<<<<<<<<<<<<<<<<<<<<<
>
> I suspect that 'face' is a NULL pointer there.
>
[Message part 2 (text/html, inline)]

This bug report was last modified 61 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.