Subject: bug#58956: mark_object, mark_objects(?) crash

From: Eli Zaretskii <[email-masked]>
Date: Wed, 02 Nov 2022 14:24:51 +0200

> From: Sean Whitton <[email-masked]>
> Date: Tue, 01 Nov 2022 18:33:38 -0700
> 
> Thread 1 (Thread 0x7f5b914cb380 (LWP 35005)):
> #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
>         tid = <optimized out>
>         ret = 0
>         pd = <optimized out>
>         old_mask = {__val = {0 <repeats 16 times>}}
>         ret = <optimized out>
> #1  0x00007f5b922895df in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
> #2  0x00007f5b9223da02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
>         ret = <optimized out>
> #3  0x000055fdfd114864 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=40) at ./debian/build-src/src/emacs.c:437
> #4  0x000055fdfd114d27 in emacs_abort () at ./debian/build-src/src/sysdep.c:2282
> #5  0x000055fdfd111e99 in check_message_stack () at ./debian/build-src/src/xdisp.c:12157
> #6  0x000055fdfd20492a in shut_down_emacs (sig=0, stuff=0x0) at ./debian/build-src/src/emacs.c:2789
>         tpgrp = <optimized out>
> #7  0x000055fdfd114765 in Fkill_emacs (arg=arg@entry=0x6) at ./debian/build-src/src/emacs.c:2692
>         exit_code = <optimized out>
> #8  0x000055fdfd114827 in terminate_due_to_signal (sig=sig@entry=1, backtrace_limit=backtrace_limit@entry=40) at ./debian/build-src/src/emacs.c:417
> #9  0x000055fdfd114d00 in handle_fatal_signal (sig=sig@entry=1) at ./debian/build-src/src/sysdep.c:1762
> #10 0x000055fdfd114d17 in deliver_process_signal (handler=0x55fdfd114cf5 <handle_fatal_signal>, sig=1) at ./debian/build-src/src/sysdep.c:1720
>         old_errno = 2
>         on_main_thread = true
> #11 deliver_fatal_signal (sig=1) at ./debian/build-src/src/sysdep.c:1768
> #12 0x00007f5b9223daa0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
> #13 0x000055fdfd2641c3 in mark_object (arg=0x295d90329a68) at ./debian/build-src/src/alloc.c:6628
>         obj = 0x295d90329a68
>         po = <optimized out>
>         cdr_count = 0

Signal 1 is SIGHUP, AFAIU.  Why should Emacs receive SIGHUP in the
middle of GC, I have no idea.  Maybe ask the user what was he doing at
that time.  E.g., could that be a remote Emacs session?

Other than that, I don't see what can be done with this data: this is
an optimized build, and there's no real data in the backtrace to begin
considering why would SIGHUP happen.  Sorry.