GNU bug report logs - #71712
29.3; Crash on OpenBSD

Previous Next

Package: emacs;

Reported by: Kirill A. Korinsky <kirill <at> korins.ky>

Date: Sat, 22 Jun 2024 00:29:02 UTC

Severity: normal

Tags: unreproducible

Found in version 29.3

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: kirill <at> korins.ky
Cc: luangruo <at> yahoo.com, 71712 <at> debbugs.gnu.org
Subject: bug#71712: 29.3; Crash on OpenBSD
Date: Thu, 27 Jun 2024 08:33:51 +0300
> Date: Wed, 26 Jun 2024 23:00:27 +0100
> From: Kirill A. Korinsky <kirill <at> korins.ky>
> Cc: luangruo <at> yahoo.com,
> 	71712 <at> debbugs.gnu.org
> 
> On Wed, 26 Jun 2024 17:11:41 +0100,
> Eli Zaretskii <eliz <at> gnu.org> wrote:
> > 
> > There's also the "reverse execution" in GDB.  You could set a
> > breakpoint where it segfaults, with the condition that face == 0, and
> > when that breaks, do reverse-step until you get to the place where the
> > frame's face_cache is emptied (cache->used == 0); then produce a
> > backtrace, including xbacktrace, and hopefully we will see the
> > culprit.
> 
> I tried to attach GDB to running process, or start a new emacs under GDB.
> 
> Both attemt leads to massive amount of SIGSTOP signals

??? Which software on your system issues SIGSTOPs?  And on what
occasions?  And why?

FWIW, I'm running Emacs under GDB a lot (albeit not on OpenBSD), and I
never see any SIGSTOP, unless I manually issue "kill -STOP" from the
shell prompt, or something similar.

> and if I switch handler to nostop, I stop to get it, but resulted
> emacs is unresponsible.

Please show the GDB command you typed to change the handling of
SIGSTOP.

> I've rebuild emacs with
> 
>   --enable-checking='yes,glyphs' --enable-check-lisp-object-type \
>     CFLAGS='-O0 -g3'
> 
> with hope that produced .core will be usefull.

It will produce more useful core file, but as I explained, the problem
happens before the segfault, and the important question is: which code
between init_iterator and gui_produce_glyphs causes the frame's face
cache to be reset without immediately recomputing the basic faces.
This requires to examine the code _before_ the segfault location.




This bug report was last modified 271 days ago.

Previous Next


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