GNU bug report logs -
#54183
28.0.91; Emacs crashes on bookmark-jump
Previous Next
Reported by: Gustavo Barros <gusbrs.2016 <at> gmail.com>
Date: Sun, 27 Feb 2022 15:08:01 UTC
Severity: normal
Found in version 28.0.91
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: Gustavo Barros <gusbrs.2016 <at> gmail.com>
> Cc: 54183 <at> debbugs.gnu.org
> Date: Thu, 03 Mar 2022 10:13:47 -0300
>
> > M-| patch -d /path/to/emacs -p1
> >
> > where /path/to/emacs is the absolute file name of the top-level
> > directory of the Emacs source tree, the one which has the src, lisp,
> > etc. as its immediate subdirectories.
>
> Done, no errors occurred. Thank you for the instructions.
>
> > Please just say "make" in the top-level directory after patching the
> > sources, and then use the resulting src/emacs binary instead of your
> > installed Emacs, to verify that the problem is solved. Let's see what
> > the patch does for the build you have with the configure options you
> > used. If needed, we will reconfigure later.
>
> I did just that, except I ran lib-src/emacsclient, exactly as I was
> doing to generate the reported crash. Unfortunately, a crash still
> happens.
I suspect that the way you started Emacs actually ran the installed
executable of Emacs, without the patch. Can you verify which
executable file is being run? One way to be sure is to try this
command after you attach to a running Emacs:
(gdb) break gui_define_fringe_bitmap
If this says the function gui_define_fringe_bitmap is not defined, you
are running the old unpatched executable.
If the executable being run is the patched one, from the Emacs's src/
directory, and it still crashes, then please set a breakpoint in this
part of xterm.c, on the indicated line:
if (!fringe_bmp[p->which]) <<<<<<<<<<<<<<<<<<<<<<<<<<
{
/* This fringe bitmap is known to fringe.c, but lacks the
cairo_pattern_t pattern which shadows that bitmap. This
is typical to define-fringe-bitmap being called when the
selected frame was not a GUI frame, for example, when
packages that define fringe bitmaps are loaded by a
daemon Emacs. Create the missing pattern now. */
gui_define_fringe_bitmap (f, p->which);
}
x_cr_draw_image (f, gc, fringe_bmp[p->which], 0, p->dh,
p->wd, p->h, p->x, p->y, p->overlay_p);
and step through this code with a debugger, one line at a time. When
fringe_bmp[p->which] is NULL pointer (zero), the code should call
gui_define_fringe_bitmap, and when that call returns,
fringe_bmp[p->which] should no longer be zero.
This bug report was last modified 3 years and 162 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.