Subject: bug#77024: closed (Re: bug#77024: 31.0.50; feature/igc: crash "switching to thread")

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 19 Apr 2025 13:41:02 +0000

Your bug report

#77024: 31.0.50; feature/igc: crash "switching to thread"

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
77024: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77024
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#77024: 31.0.50; feature/igc: crash "switching to thread"
From: Pip Cet <[email-masked]>
To: Oliver Reiter <[email-masked]>
Cc: Eli Zaretskii <[email-masked]>, [email-masked]
Date: Sat, 19 Apr 2025 13:40:20 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

"Oliver Reiter" <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>>
>> Just "p *pdl" is what I had in mind.
>>
>> Thanks.
>
> Ah, didn't know it could be that easy. Here you go:

As this doesn't look unexpected given the likely explanation for the
bug, and that bug has been fixed, I'm closing this report.

Thanks again!

Pip

Subject: 31.0.50; feature/igc: crash "switching to thread"
From: Oliver Reiter <[email-masked]>
To: [email-masked]
Date: Fri, 14 Mar 2025 21:34:32 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Evening!

After weeks of no crash, emacs crashed on me today again.

[New Thread 0x7fffb3bb96c0 (LWP 54691)]
[Thread 0x7fffb3bb96c0 (LWP 54691) exited]
... quite a lot of those
[New Thread 0x7fffb3bb96c0 (LWP 54696)]
[Thread 0x7fffb3bb96c0 (LWP 54696) exited]
[New Thread 0x7fffb3bb96c0 (LWP 54709)]
[Thread 0x7fffb3bb96c0 (LWP 54709) exited]
[New Thread 0x7fffb3bb96c0 (LWP 54751)]
[Switching to Thread 0x7fffb3bb96c0 (LWP 54751)]

Thread 409 "diff-hl--update" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=40) at /home/reitero/build/sources/emacs/emacs_debug/src/emacs.c:425
425	{
(gdb) bt
#0  terminate_due_to_signal (sig=6, backtrace_limit=40) at /home/reitero/build/sources/emacs/emacs_debug/src/emacs.c:425
#1  0x00005555556d31a5 in emacs_abort () at /home/reitero/build/sources/emacs/emacs_debug/src/sysdep.c:2378
#2  0x000055555579fa76 in fix_lisp_obj (ss=ss@entry=0x7fffb3bb81a8, pobj=pobj@entry=0x555556f67eb0) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:1132
#3  0x00005555557a1040 in scan_specpdl (ss=0x7fffb3bb81a8, start=<optimized out>, end=0x555556f684e0, closure=<optimized out>) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:1535
#4  0x0000555555861428 in RootScan ()
#5  0x00005555558615fa in traceScanRootRes ()
#6  0x0000555555861c0b in TraceStart ()
#7  0x0000555555862bf8 in PolicyStartTrace ()
#8  0x0000555555866331 in TracePoll ()
#9  0x00005555558664f9 in ArenaPoll ()
#10 0x00005555558668e3 in mps_ap_fill ()
#11 0x00005555557a13b7 in alloc_impl (size=size@entry=304, type=type@entry=IGC_OBJ_HANDLER, ap=0x7fffb8367818) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4094
#12 0x00005555557a14a6 in alloc (size=size@entry=304, type=type@entry=IGC_OBJ_HANDLER) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4122
#13 0x00005555557a17cd in igc_alloc_handler () at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4499
#14 0x00005555557a392f in run_thread (state=0x7fffa66f9c90) at /home/reitero/build/sources/emacs/emacs_debug/src/thread.c:804
#15 0x00007ffff353270a in start_thread (arg=<optimized out>) at pthread_create.c:448
#16 0x00007ffff35b6aac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) bt full
#0  terminate_due_to_signal (sig=6, backtrace_limit=40) at /home/reitero/build/sources/emacs/emacs_debug/src/emacs.c:425
No locals.
#1  0x00005555556d31a5 in emacs_abort () at /home/reitero/build/sources/emacs/emacs_debug/src/sysdep.c:2378
No locals.
#2  0x000055555579fa76 in fix_lisp_obj (ss=ss@entry=0x7fffb3bb81a8, pobj=pobj@entry=0x555556f67eb0) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:1132
        word = <optimized out>
        p = 0x555556f67eb0
        tag = 1
        client = <optimized out>
        base = <optimized out>
        res = <optimized out>
        _ss = 0x7fffb3bb81a8
        _mps_zs = <optimized out>
        _mps_ufs = 0
        _mps_wt = <optimized out>
        _mps_w = <optimized out>
#3  0x00005555557a1040 in scan_specpdl (ss=0x7fffb3bb81a8, start=<optimized out>, end=0x555556f684e0, closure=<optimized out>) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:1535
        res = <optimized out>
        pdl = 0x555556f67ea0
        t = <optimized out>
        _ss = 0x7fffb3bb81a8
        _mps_zs = <optimized out>
        _mps_ufs = 0
        _mps_wt = <optimized out>
        _mps_w = <optimized out>
#4  0x0000555555861428 in RootScan ()
No symbol table info available.
#5  0x00005555558615fa in traceScanRootRes ()
No symbol table info available.
#6  0x0000555555861c0b in TraceStart ()
No symbol table info available.
#7  0x0000555555862bf8 in PolicyStartTrace ()
No symbol table info available.
#8  0x0000555555866331 in TracePoll ()
No symbol table info available.
#9  0x00005555558664f9 in ArenaPoll ()
No symbol table info available.
#10 0x00005555558668e3 in mps_ap_fill ()
No symbol table info available.
#11 0x00005555557a13b7 in alloc_impl (size=size@entry=304, type=type@entry=IGC_OBJ_HANDLER, ap=0x7fffb8367818) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4094
        res = <optimized out>
        p = 0x0
#12 0x00005555557a14a6 in alloc (size=size@entry=304, type=type@entry=IGC_OBJ_HANDLER) at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4122
No locals.
#13 0x00005555557a17cd in igc_alloc_handler () at /home/reitero/build/sources/emacs/emacs_debug/src/igc.c:4499
        h = <optimized out>
#14 0x00005555557a392f in run_thread (state=0x7fffa66f9c90) at /home/reitero/build/sources/emacs/emacs_debug/src/thread.c:804
        stack_pos = {
          o = 0x7fffb3bb85c0,
          p = 0x7fffb3bb85c0,
          c = -64 '\300'
        }
        self = 0x7fffa66f9c90
--Type <RET> for more, q to quit, c to continue without paging--
        iter = <optimized out>
        c = <optimized out>
#15 0x00007ffff353270a in start_thread (arg=<optimized out>) at pthread_create.c:448
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {
          cancel_jmp_buf = {{
              jmp_buf = {140736208803520, -7017451993682105089, 140736208803520, -600, 11, 140737488338656, -7017451993560470273, -7017310503391286017},
              mask_was_saved = 0
            }},
          priv = {
            pad = {0x0, 0x0, 0x0, 0x0},
            data = {
              prev = 0x0,
              cleanup = 0x0,
              canceltype = 0
            }
          }
        }
        not_first_call = <optimized out>
#16 0x00007ffff35b6aac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
No locals.
(gdb) xbacktrace ## is empty

In GNU Emacs 31.0.50 (build 13, x86_64-pc-linux-gnu, GTK+ Version
 3.24.48, cairo version 1.18.2) of 2025-03-07 built on wilap
Repository revision: 07cca9aec11b2c40d1107a90b81400c3a34e1f68
Repository branch: HEAD
System Description: Arch Linux

Configured using:
 'configure 'CFLAGS=-g3 -ggdb -Og -fno-omit-frame-pointer'
 CPPFLAGS=-I/home/reitero/.local/lib/mps
 LDFLAGS=-L/home/reitero/.local/lib/mps --prefix=/usr --sysconfdir=/etc
 --libexecdir=/usr/lib --localstatedir=/var --with-mps=yes
 --with-gameuser=root:games --with-pgtk --with-xft --with-harfbuzz
 --with-modules --without-compress-install --without-m17n-flt
 --with-libotf --without-imagemagick --without-gsettings --without-gconf
 --with-native-compilation=aot --with-tree-sitter
 --enable-link-time-optimization'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG LCMS2
LIBOTF LIBSYSTEMD LIBXML2 MODULES MPS NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM GTK3 ZLIB

Cheers,

Oliver