GNU bug report logs - #79743
31.0.50; feature/igc: Crash when disabling scroll-bar-mode with GTK

Previous Next

Package: emacs;

Reported by: john muhl <jm <at> pub.pink>

Date: Fri, 31 Oct 2025 21:24:02 UTC

Severity: normal

Found in version 31.0.50

Done: john muhl <jm <at> pub.pink>

To reply to this bug, email your comments to 79743 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#79743; Package emacs. (Fri, 31 Oct 2025 21:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to john muhl <jm <at> pub.pink>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 31 Oct 2025 21:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: john muhl <jm <at> pub.pink>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; feature/igc: Crash when disabling scroll-bar-mode with GTK
Date: Fri, 31 Oct 2025 16:22:31 -0500
With either the GTK or PGTK builds Emacs crashes when disabling
the scroll bar. The Lucid build does not crash.

  src/emacs -Q
  M-: (scroll-bar-mode -1)

(gdb) bt full
#0  terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:445
No locals.
#1  0x00005555558957b8 in handle_fatal_signal (sig=11) at sysdep.c:1793
No locals.
#2  0x0000555555895842 in deliver_thread_signal (sig=11, handler=0x5555558957a0 <handle_fatal_signal>) at sysdep.c:1785
        old_errno = 2
#3  0x0000555555890fba in deliver_fatal_thread_signal (sig=11) at sysdep.c:1805
No locals.
#4  0x00005555558958d2 in handle_sigsegv (sig=11, siginfo=0x555555c3d7b0 <sigsegv_stack+62928>, arg=0x555555c3d680 <sigsegv_stack+62624>) at sysdep.c:1943
        fatal = false
#5  <signal handler called>
No locals.
#6  0x00007ffff5879327 in __GI_kill () at ../sysdeps/unix/syscall-template.S:120
No locals.
#7  0x0000555555b6e733 in sigHandle (sig=11, info=0x7fffffff8bf0, uap=0x7fffffff8ac0) at ../mps/code/protsgix.c:114
        e = 0
        sa = {
          __sigaction_handler = {
            sa_handler = 0x555555b6e510 <sigHandle>,
            sa_sigaction = 0x555555b6e510 <sigHandle>
          },
          sa_mask = {
            __val = {0 <repeats 14 times>, 12270161026108805632, 0}
          },
          sa_flags = 335544324,
          sa_restorer = 0x7ffff5879110 <__restore_rt>
        }
        asigset = {
          __val = {1024, 0, 0, 0, 0, 0, 0, 5, 8589934627, 463856467968, 1, 1, 18446744073709551615, 4294967294, 0, 0}
        }
        oldset = {
          __val = {1024, 0 <repeats 15 times>}
        }
        _saved_errno = 2
#8  <signal handler called>
No locals.
#9  0x00007ffff7d59692 in ?? () from /usr/lib/libgtk-3.so.0
No symbol table info available.
#10 0x00007ffff720ffa6 in g_object_run_dispose () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#11 0x00005555558390b0 in xg_remove_scroll_bar (f=0x7fffe68c8028, scrollbar_id=1) at gtkutil.c:4739
        wparent = 0x555556771e10
        w = 0x7fffcc008b40
--Type <RET> for more, q to quit, c to continue without paging--c
#12 0x0000555555ab9fbd in pgtk_scroll_bar_remove (bar=0x7fffe6b3e5f0) at pgtkterm.c:4194
        f = 0x7fffe68c8028
#13 0x0000555555ab87ea in pgtk_judge_scroll_bars (f=0x7fffe68c8028) at pgtkterm.c:4500
        b = 0x7fffe6b3e5f0
        bar = {
          i = 0x7fffe6b3e5f5
        }
        next = {
          i = 0x7fffe68c8550
        }
#14 0x000055555570a11f in redisplay_internal () at xdisp.c:17729
        gcscrollbars = true
        f_redisplay_flag = true
        f = 0x7fffe68c8028
        tty_root_frames = {
          i = 0x0
        }
        MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES
        MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES
        w = 0x7fffe68c8288
        sw = 0x7fffe68c8288
        fr = 0x7fffe68c8028
        must_finish = true
        match_p = true
        tlbufpos = {
          charpos = 1,
          bytepos = 1
        }
        tlendpos = {
          charpos = 0,
          bytepos = 0
        }
        number_of_visible_frames = 1
        sf = 0x7fffe68c8028
        polling_stopped_here = false
        tail = {
          i = 0x7fffe68d851b
        }
        frame = {
          i = 0x7fffe68c802d
        }
        hscroll_retries = 0
        garbaged_frame_retries = 0
        consider_all_windows_p = true
        update_miniwindow_p = true
        count = {
          bytes = 96
        }
        previous_frame = 0x2
        current_matrices_cleared = false
        new_count = 0
#15 0x00005555557126b9 in redisplay () at xdisp.c:16860
No locals.
#16 0x0000555555858a60 in read_char (commandflag=1, map=..., prev_event=..., used_mouse_menu=0x7fffffffd23f, end_time=0x0) at keyboard.c:2689
        echo_current = false
        c = {
          i = 0x0
        }
        local_getcjmp = {{
            __jmpbuf = {55832, 0, 0, 55832, 93824999571528, 55832, 140737488341856, 55832},
            __mask_was_saved = 55832,
            __saved_mask = {
              __val = {72057594037983768, 140737488342032, 93824995561893, 0, 0, 140737064275352, 140737064275355, 0, 0, 0, 0, 0, 0, 0, 0, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {12884901888, 24, 140737488341632, 93824997342372, 59136, 12884901912, 140737064275352, 140737064275355},
            __mask_was_saved = -13648,
            __saved_mask = {
              __val = {93824997342297, 140737064275352, 140737064275331, 55832, 140737064275355, 140737488341728, 93824996161853, 96, 140737064275331, 55832, 140737064275355, 140737488342032, 93824995548429, 0, 0, 56}
            }
          }}
        tem = {
          i = 0x7fffe80018e8
        }
        save = {
          i = 0x7fffe6b90d98
        }
        previous_echo_area_message = {
          i = 0x0
        }
        also_record = {
          i = 0x0
        }
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x555555ddd4e0
        jmpcount = {
          bytes = 140737024444192
        }
        c_volatile = {
          i = 0x94
        }
#17 0x00005555558553aa in read_key_sequence (keybuf=0x7fffffffd750, prompt=..., dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false)
    at keyboard.c:11196
        interrupted_kboard = 0x555555ddd4e0
        interrupted_frame = 0x7fffe68c8028
        key = {
          i = 0x0
        }
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = {
          i = 0x0
        }
        count = {
          bytes = 96
        }
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = {
          i = 0x7fffe6b90d9b
        }
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = {
            i = 0x7fffe68c5b1b
          },
          map = {
            i = 0x7fffe68c5b1b
          },
          start = 0,
          end = 0
        }
        keytran = {
          parent = {
            i = 0x7fffe5802cdb
          },
          map = {
            i = 0x7fffe5802cdb
          },
          start = 0,
          end = 0
        }
        indec = {
          parent = {
            i = 0x7fffe68c5b03
          },
          map = {
            i = 0x7fffe68c5b03
          },
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = {
          i = 0x0
        }
        original_uppercase = {
          i = 0x0
        }
        original_uppercase_position = -1
        starting_buffer = 0x7fffe4594720
        fake_prefixed_keys = {
          i = 0x0
        }
        first_event = {
          i = 0x0
        }
        second_event = {
          i = 0x0
        }
#18 0x0000555555853036 in command_loop_1 () at keyboard.c:1441
        keybuf = {{
            i = 0x200000ea
          }, {
            i = 0xd040
          }, {
            i = 0x7fffe4594725
          }, {
            i = 0x255955de9
          }, {
            i = 0x0
          }, {
            i = 0xd040
          }, {
            i = 0x7fffffffd820
          }, {
            i = 0x55555595ef45 <do_one_unbind+565>
          }, {
            i = 0x100ffd7b0
          }, {
            i = 0x0
          }, {
            i = 0x7fffe580710b
          }, {
            i = 0xc
          }, {
            i = 0x7fffffffd810
          }, {
            i = 0x55555595e970 <do_specbind+272>
          }, {
            i = 0x355bac5b8
          }, {
            i = 0x0
          }, {
            i = 0xd040
          }, {
            i = 0x0
          }, {
            i = 0xd040
          }, {
            i = 0x0
          }, {
            i = 0x555555c46630 <lispsym>
          }, {
            i = 0x0
          }, {
            i = 0x7fffffffd820
          }, {
            i = 0x555555952a22 <builtin_lisp_symbol+34>
          }, {
            i = 0x55cc2f80
          }, {
            i = 0x0
          }, {
            i = 0x7fffffffd8a0
          }, {
            i = 0x5555559534a1 <unbind_to+305>
          }, {
            i = 0x0
          }, {
            i = 0x0
          }}
        i = 1
        last_pt = 148
        cmd = {
          i = 0x2aaa8ff1bd40
        }
        prev_modiff = 16
        prev_buffer = 0x7fffe4594720
#19 0x0000555555959481 in internal_condition_case (bfun=0x555555852a50 <command_loop_1>, handlers=..., hfun=0x5555558541a0 <cmd_error>) at eval.c:1713
        val = {
          i = 0x555555d0cbc0
        }
        c = 0x555555d0cd50
#20 0x0000555555852a03 in command_loop_2 (handlers=...) at keyboard.c:1180
        val = {
          i = 0x555555d0cbc0
        }
#21 0x000055555595851f in internal_catch (tag=..., func=0x5555558529e0 <command_loop_2>, arg=...) at eval.c:1393
        val = {
          i = 0xa8
        }
        c = 0x555555d0cbc0
#22 0x0000555555851c5e in command_loop () at keyboard.c:1158
No locals.
#23 0x0000555555851a30 in recursive_edit_1 () at keyboard.c:766
        count = {
          bytes = 32
        }
        val = {
          i = 0x5555559589f1 <record_unwind_protect+129>
        }
#24 0x0000555555851f3f in Frecursive_edit () at keyboard.c:849
        count = {
          bytes = 0
        }
        buffer = {
          i = 0x0
        }
#25 0x000055555584e3d1 in main (argc=2, argv=0x7fffffffdfa8) at emacs.c:2653
        stack_bottom_variable = 0x555555cbff60
        old_argc = 2
        dump_file = 0x0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        dump_mode = 0x0
        skip_args = 0
        temacs = 0x0
        attempt_load_pdump = true
        only_version = false
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = 0x0
        sockfd = -1
        module_assertions = false
[Thread 0x7fffe24bc6c0 (LWP 15428) exited]

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)



In GNU Emacs 31.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version
 3.24.50, cairo version 1.18.4) of 2025-10-31 built on nano
Repository revision: d795652465e09d81069f725cb6d34753fd0a38e5
Repository branch: feature/igc
System Description: Void Linux

Configured using:
 'configure CC=clang 'CFLAGS=-O0 -g3' LDFLAGS=-fuse-ld=lld
 --enable-checking=yes,glyphs --enable-check-lisp-object-type
 --with-mailutils --with-mps --with-pgtk --without-native-compilation'

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

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-nonselected-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date subr-x
mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen
pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse
jit-lock font-lock syntax font-core term/tty-colors frame minibuffer
nadvice seq simple cl-generic indonesian philippine cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process tty-child-frames mps emacs)

Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
 (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0)
 (intervals 64 0 0) (buffers 1072 0))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#79743; Package emacs. (Sun, 02 Nov 2025 16:33:02 GMT) Full text and rfc822 format available.

Message #8 received at 79743 <at> debbugs.gnu.org (full text, mbox):

From: Helmut Eller <eller.helmut <at> gmail.com>
To: john muhl <jm <at> pub.pink>
Cc: 79743 <at> debbugs.gnu.org
Subject: Re: bug#79743: 31.0.50; feature/igc: Crash when disabling
 scroll-bar-mode with GTK
Date: Sun, 02 Nov 2025 17:32:43 +0100
On Fri, Oct 31 2025, john muhl wrote:

> With either the GTK or PGTK builds Emacs crashes when disabling
> the scroll bar. The Lucid build does not crash.

Thanks for the bug report.

I haven't seen any crashes but plenty of Gtk-CRITICAL warnings.  I
pushed a few fixes.  Please try them.

Helmut




Reply sent to john muhl <jm <at> pub.pink>:
You have taken responsibility. (Sun, 02 Nov 2025 20:51:02 GMT) Full text and rfc822 format available.

Notification sent to john muhl <jm <at> pub.pink>:
bug acknowledged by developer. (Sun, 02 Nov 2025 20:51:02 GMT) Full text and rfc822 format available.

Message #13 received at 79743-done <at> debbugs.gnu.org (full text, mbox):

From: john muhl <jm <at> pub.pink>
To: Helmut Eller <eller.helmut <at> gmail.com>
Cc: 79743-done <at> debbugs.gnu.org
Subject: Re: bug#79743: 31.0.50; feature/igc: Crash when disabling
 scroll-bar-mode with GTK
Date: Sun, 02 Nov 2025 14:50:00 -0600
Helmut Eller <eller.helmut <at> gmail.com> writes:

> On Fri, Oct 31 2025, john muhl wrote:
>
>> With either the GTK or PGTK builds Emacs crashes when disabling
>> the scroll bar. The Lucid build does not crash.
>
> Thanks for the bug report.
>
> I haven't seen any crashes but plenty of Gtk-CRITICAL warnings.  I
> pushed a few fixes.  Please try them.
>
> Helmut

Thanks. That fixed it here.




This bug report was last modified 3 days ago.

Previous Next


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