Subject: bug#54183: 28.0.91; Emacs crashes on bookmark-jump

From: Gustavo Barros <[email-masked]>
Date: Mon, 28 Feb 2022 12:47:05 -0300

On Mon, 28 Feb 2022 at 16:54, Eli Zaretskii <[email-masked]> wrote:
>
> After you attach GDB, and see the GBD's prompt "(gdb)", type
> "continue" into the buffer where Emacs shows this prompt.  Then the
> Emacs process to which you attached GDB will resume running, and you
> can proceed reproducing the problem in that Emacs.

Done. It works! :)

> If and when you succeed to reproduce the crash, you will see GDB take
> control and say that the Emacs being debugged encountered a fatal
> signal.  It will then show the prompt "(gdb)" again.  Type there the
> following command:
>
>    thread apply all bt
>
> Then post here everything that command produces.

The results are bellow.  Now, I know that, thus far, I had built Emacs 
with my regular options, not the ones recommended by `etc/DEBUG'. 
Should I add them now?  Any other options/flags, you'd like me to 
include in the configure call?

(gdb) continue
Continuing.
[Switching to thread 4 (Thread 0x7f23f2a69700 (LWP 21650))](running)
[Detaching after vfork from child process 22054]
[Detaching after vfork from child process 22055]
[Detaching after vfork from child process 22056]
[Detaching after vfork from child process 22057]
[Detaching after vfork from child process 22058]
[Detaching after vfork from child process 22072]
[Detaching after vfork from child process 22073]
[Detaching after vfork from child process 22074]
[Detaching after vfork from child process 22075]
[Detaching after vfork from child process 22083]
[Detaching after vfork from child process 22084]
[Detaching after vfork from child process 22085]
[Detaching after vfork from child process 22086]
[Detaching after vfork from child process 22089]
[Detaching after vfork from child process 22090]
[Detaching after vfork from child process 22091]
[Detaching after vfork from child process 22092]
[Detaching after vfork from child process 22093]
[Detaching after vfork from child process 22094]
[Detaching after vfork from child process 22095]
[Detaching after vfork from child process 22096]

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00007f2402c2c104 in cairo_pattern_get_surface () from 
/lib/x86_64-linux-gnu/libcairo.so.2
(gdb) thread apply all bt

Thread 4 (Thread 0x7f23f2a69700 (LWP 21650)):
#0  deliver_input_available_signal (sig=29) at keyboard.c:7284
#1  0x00007f23fbf7a420 in <signal handler called> () at 
 /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f23fa20faff in __GI___poll (fds=0x5649a37e7900, nfds=1, 
 timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#3  0x00007f240289236e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f24028924a3 in g_main_context_iteration () at 
 /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f23f2ab999d in  () at 
 /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#6  0x00007f24028bbad1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f23fbf6e609 in start_thread (arg=<optimized out>) at 
 pthread_create.c:477
#8  0x00007f23fa21c293 in clone () at 
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f23f331a700 (LWP 21649)):
#0  0x00007f23fa20faff in __GI___poll (fds=0x5649a378a910, nfds=2, 
 timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f240289236e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f24028926f3 in g_main_loop_run () at 
 /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2402ae9f8a in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f24028bbad1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f23fbf6e609 in start_thread (arg=<optimized out>) at 
 pthread_create.c:477
#6  0x00007f23fa21c293 in clone () at 
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f23f418d700 (LWP 21648)):
#0  0x00007f23fa20faff in __GI___poll (fds=0x5649a2ea4bc0, nfds=1, 
 timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f240289236e in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f24028924a3 in g_main_context_iteration () at 
 /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f24028924f1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f24028bbad1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f23fbf6e609 in start_thread (arg=<optimized out>) at 
 pthread_create.c:477
#6  0x00007f23fa21c293 in clone () at 
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f23f6107400 (LWP 21647)):
#0  0x00007f2402c2c104 in cairo_pattern_get_surface () at 
 /lib/x86_64-linux-gnu/libcairo.so.2
#1  0x00005649a1a9da9b in x_cr_draw_image (f=f@entry=0x5649a2f3abe0, 
 gc=gc@entry=0x5649a767f500, image=0x0, src_x=src_x@entry=0, src_y=0, 
 width=8, height=8, dest_x=0, dest_y=5, overlay_p=false) at xterm.c:624
#2  0x00005649a1a9dd3d in x_draw_fringe_bitmap (w=<optimized out>, 
 row=<optimized out>, p=0x7ffd84adc250) at xterm.c:1439
#3  0x00005649a1bd1906 in draw_fringe_bitmap_1 
 (w=w@entry=0x5649a32d4fd0, row=row@entry=0x5649a5060410, 
 left_p=left_p@entry=1, overlay=<optimized out>, which=<optimized out>, 
 which@entry=0) at fringe.c:692
#4  0x00005649a1bd25c7 in draw_fringe_bitmap (w=w@entry=0x5649a32d4fd0, 
 row=row@entry=0x5649a5060410, left_p=left_p@entry=1) at fringe.c:861
#5  0x00005649a1bd27a3 in draw_row_fringe_bitmaps 
 (w=w@entry=0x5649a32d4fd0, row=row@entry=0x5649a5060410) at 
 fringe.c:882
#6  0x00005649a1bd28c1 in draw_window_fringes (w=w@entry=0x5649a32d4fd0, 
 no_fringe_p=no_fringe_p@entry=true) at fringe.c:930
#7  0x00005649a19e92f8 in gui_update_window_end (w=0x5649a32d4fd0, 
 cursor_on_p=<optimized out>, mouse_face_overwritten_p=<optimized out>) 
 at dispnew.c:3853
#8  0x00005649a19e9a4c in update_window (w=w@entry=0x5649a32d4fd0, 
 force_p=<optimized out>, force_p@entry=true) at dispnew.c:3777
#9  0x00005649a19ea3e1 in update_window_tree (w=w@entry=0x5649a32d4fd0, 
 force_p=force_p@entry=true) at dispnew.c:3407
#10 0x00005649a19ea60b in update_frame (f=f@entry=0x5649a2f3abe0, 
 force_p=true, force_p@entry=false, 
 inhibit_hairy_id_p=inhibit_hairy_id_p@entry=false) at dispnew.c:3242
#11 0x00005649a1a24895 in redisplay_internal () at xdisp.c:16189
#12 0x00005649a1ad4e37 in read_char (commandflag=1, map=0x5649a433a493, 
 prev_event=0x0, used_mouse_menu=0x7ffd84addeab, end_time=0x0) at 
 keyboard.c:2555
#13 0x00005649a1ad7883 in read_key_sequence (keybuf=<optimized out>, 
 prompt=0x0, dont_downcase_last=<optimized out>, 
 can_return_switch_frame=true, fix_current_buffer=true, 
 prevent_redisplay=<optimized out>) at keyboard.c:9635
#14 0x00005649a1ad919c in command_loop_1 () at lisp.h:1008
#15 0x00005649a1b482a7 in internal_condition_case 
 (bfun=bfun@entry=0x5649a1ad8fa0 <command_loop_1>, 
 handlers=handlers@entry=0x90, hfun=hfun@entry=0x5649a1acfa60 
 <cmd_error>) at eval.c:1450
#16 0x00005649a1ac9d0a in command_loop_2 (handlers=handlers@entry=0x90) 
 at keyboard.c:1133
#17 0x00005649a1b481e9 in internal_catch (tag=tag@entry=0xe880, 
 func=func@entry=0x5649a1ac9ce0 <command_loop_2>, arg=arg@entry=0x90) at 
 eval.c:1181
#18 0x00005649a1ac9ca6 in command_loop () at lisp.h:1008
#19 0x00005649a1acf650 in recursive_edit_1 () at keyboard.c:720
#20 0x00005649a1acf9a6 in Frecursive_edit () at keyboard.c:803
#21 0x00005649a19e1d65 in main (argc=2, argv=<optimized out>) at 
 emacs.c:2354
(gdb)