unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
@ 2022-11-21 18:46 German Pacenza
  2022-11-22  0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 11+ messages in thread
From: German Pacenza @ 2022-11-21 18:46 UTC (permalink / raw)
  To: 59452


Emacs crashes after showing "Args out of range: 6, 6" in the echo area.
It is hard to reproduce but launching gnus from the command line
`emacs --eval "(gnus)"` and minimizing the window as soon as it appears
seems to trigger the crash sometimes.

I'm using Plasma wayland.

coredump:

(gdb) bt full
#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007fead6ea16b3 in __pthread_kill_internal (signo=11, threadid=<optimized out>)
    at pthread_kill.c:78
#2  0x00007fead6e51958 in __GI_raise (sig=sig@entry=11) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x000056499e550e4e in terminate_due_to_signal
    (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at emacs.c:459
#4  0x000056499e55134b in handle_fatal_signal (sig=sig@entry=11) at sysdep.c:1783
#5  0x000056499e660b48 in deliver_thread_signal
    (sig=sig@entry=11, handler=0x56499e551340 <handle_fatal_signal>) at sysdep.c:1775
#6  0x000056499e660bc9 in deliver_fatal_thread_signal (sig=11) at sysdep.c:1795
        fatal = <optimized out>
#7  handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at sysdep.c:1888
        fatal = <optimized out>
#8  0x00007fead6e51a00 in <signal handler called> () at /usr/lib/libc.so.6
#9  emission_find (instance=0x5649a040e510, detail=670, signal_id=1)
    at ../glib/gobject/gsignal.c:895
        emission = 0x2
        emission_node = <optimized out>
        accumulator = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        emission = {next = 0x7feadf2b9c20 <type_rw_lock>, instance = 0x7feadf1c1076 <g_rw_lock_reader_lock+54>, ihint = {signal_id = 2682665968, detail = 22089, run_type = (G_SIGNAL_DETAILED | G_SIGNAL_ACTION | G_SIGNAL_NO_HOOKS | G_SIGNAL_MUST_COLLECT | G_SIGNAL_DEPRECATED | G_SIGNAL_ACCUMULATOR_FIRST_RUN | unknown: 0x9fe43a00)}, state = 22089, chain_type = 0x56499fe63af8 [None]}
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = <optimized out>
        accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 1
        max_sequential_handler_number = <optimized out>
        return_value_altered = 0
#10 signal_emit_unlocked_R.isra.0 (node=node@entry=0x5649a03aff10, detail=detail@entry=670, instance=instance@entry=0x5649a040e510, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe0f9c0a10) at ../glib/gobject/gsignal.c:3680
        emission_node = <optimized out>
        accumulator = <optimized out>
        emission = {next = 0x7feadf2b9c20 <type_rw_lock>, instance = 0x7feadf1c1076 <g_rw_lock_reader_lock+54>, ihint = {signal_id = 2682665968, detail = 22089, run_type = (G_SIGNAL_DETAILED | G_SIGNAL_ACTION | G_SIGNAL_NO_HOOKS | G_SIGNAL_MUST_COLLECT | G_SIGNAL_DEPRECATED | G_SIGNAL_ACCUMULATOR_FIRST_RUN | unknown: 0x9fe43a00)}, state = 22089, chain_type = 0x56499fe63af8 [None]}
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = <optimized out>
        accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 1
        max_sequential_handler_number = <optimized out>
        return_value_altered = 0
#11 0x00007feadf28af75 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe0f9c0bd0) at ../glib/gobject/gsignal.c:3549
        instance_and_params = 0x7ffe0f9c0a10
        signal_return_type = <optimized out>
        param_values = 0x7ffe0f9c0a28
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#12 0x00007feadf28b204 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3606
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffe0f9c0cb0, reg_save_area = 0x7ffe0f9c0bf0}}
#13 0x00007feadf277fc6 in g_object_dispatch_properties_changed (object=0x5649a040e510, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../glib/gobject/gobject.c:1428
        i = <optimized out>
#14 0x00007feadf27b488 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x5649a040e510) at ../glib/gobject/gobject.c:1544
        nqueue = <optimized out>
        need_thaw = <optimized out>
        object_flags = <optimized out>
        needs_notify = 1
        in_init = <optimized out>
        __func__ = "g_object_notify_by_pspec"
#15 g_object_notify_by_pspec (object=0x5649a040e510, pspec=<optimized out>) at ../glib/gobject/gobject.c:1650
        __func__ = "g_object_notify_by_pspec"
#16 0x00007feadf9e33bb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1875
        window = 0x5649a040e510
        grab_widget = 0x5649a040e510
        window_group = 0x5649a08ff900
        rewritten_event = <optimized out>
        device = <optimized out>
        tmp_list = <optimized out>
        event_widget = <optimized out>
        topmost_widget = <optimized out>
        __func__ = "gtk_main_do_event"
#17 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
        __func__ = "gtk_main_do_event"
#18 0x00007feadf744cc3 in _gdk_event_emit (event=0x5649a03e2700) at ../gtk/gdk/gdkevents.c:73
#19 _gdk_event_emit (event=0x5649a03e2700) at ../gtk/gdk/gdkevents.c:67
#20 0x00007feadf7738c8 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gtk/gdk/wayland/gdkeventsource.c:124
        source = <optimized out>
        display = <optimized out>
        event = 0x5649a03e2700
#21 0x00007feadf16f87b in g_main_dispatch (context=0x5649a03cd280) at ../glib/glib/gmain.c:3444
        dispatch = 0x7feadf7738a0 <gdk_event_source_dispatch>
        prev_source = 0x5649a03e2830
        begin_time_nsec = 6352334976965
        was_in_call = 2
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x5649a03e2830
        current = 0x5649a03cd390
        i = 0
#22 g_main_context_dispatch (context=0x5649a03cd280) at ../glib/glib/gmain.c:4162
#23 0x000056499e783f08 in pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffe0f9c0ee0) at pgtkterm.c:3839
        context = 0x5649a03cd280
        context_acquired = <optimized out>
        count = <optimized out>
        count = <optimized out>
#24 pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffe0f9c0ee0) at pgtkterm.c:3818
        count = <optimized out>
#25 0x000056499e648d31 in gobble_input () at keyboard.c:7413
        nr = <optimized out>
        hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0, device = 0x30}
        next = 0x0
        nread = 0
        err = false
        t = 0x5649a03a4288
#26 0x000056499e649115 in handle_async_input () at keyboard.c:7644
        nread = <optimized out>
#27 process_pending_signals () at keyboard.c:7658
#28 unblock_input_to (level=0) at keyboard.c:7673
#29 unblock_input_to (level=<optimized out>) at keyboard.c:7667
#30 0x000056499e649d5b in unblock_input () at keyboard.c:7692
        nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timers = 0x5649a0057e73
        idle_timers = 0x5649a0057e03
        tem = 0x0
#31 timer_check () at keyboard.c:4738
        nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timers = 0x5649a0057e73
        idle_timers = 0x5649a0057e03
        tem = 0x0
#32 0x000056499e64a355 in readable_events (flags=flags@entry=1) at keyboard.c:3520
#33 0x000056499e64a548 in get_input_pending (flags=flags@entry=1) at keyboard.c:7363
#34 0x000056499e64f408 in detect_input_pending_run_timers (do_display=do_display@entry=true) at keyboard.c:10893
        old_timers_run = <optimized out>
#35 0x000056499e72ced8 in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=<optimized out>, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=<optimized out>) at process.c:5779
        leave = false
        process_skipped = <optimized out>
        wrapped = <optimized out>
        channel_start = <optimized out>
        child_fd = <optimized out>
        last_read_channel = 18
        channel = <optimized out>
        nfds = <optimized out>
        Available = {fds_bits = {16, 0 <repeats 15 times>}}
        Writeok = {fds_bits = {0 <repeats 16 times>}}
        check_write = true
        check_delay = <optimized out>
        no_avail = false
        xerrno = 11
        proc = <optimized out>
        timeout = {tv_sec = 0, tv_nsec = 0}
        end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        got_output_end_time = {tv_sec = 1669152744, tv_nsec = 622196508}
        wait = <optimized out>
        got_some_output = <optimized out>
        prev_wait_proc_nbytes_read = <optimized out>
        retry_for_async = <optimized out>
        count = {bytes = <optimized out>}
        now = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#36 0x000056499e64aacc in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7ffe0f9c1c4b, kbp=<synthetic pointer>) at keyboard.c:3999
        do_display = <optimized out>
        obj = <optimized out>
        str = <optimized out>
        c = 0x0
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
        kb = <optimized out>
        count = {bytes = <optimized out>}
#37 read_event_from_main_queue (end_time=<optimized out>, local_getcjmp=0x7ffe0f9c1940, used_mouse_menu=0x7ffe0f9c1c4b) at keyboard.c:2266
        c = 0x0
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
        kb = <optimized out>
        count = {bytes = <optimized out>}
#38 0x000056499e650573 in read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2329
        nextevt = <optimized out>
        frame = <optimized out>
        terminal = <optimized out>
        events = {0x80, 0x56499e6c4c2c <Fget_pos_property+908>, 0x0, 0x5649a0dca958, 0x2, 0x0, 0x300000080, 0x5649a0f7fca3, 0x5649a0dca95d, 0xce10, 0x300000000, 0x5649a0f7fca3, 0x0, 0x9bd0, 0x0, 0x3}
        n = 0
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {94874197109024, -3563864483271795924, 94874220774629, 0, 94874221143328, 140729160310144, 3564180304290913068, 7068858010357603116}, __mask_was_saved = 0, __saved_mask = {__val = {140729160309264, 94874231158595, 140729160309264, 94874231295328, 94874191034369, 140729160309216, 0, 94874231158595, 140729160309304, 94874231417181, 0, 0, 1, 2, 60, 0}}}}
        save_jump = {{__jmpbuf = {96, 0, 0, 36624, 94874231417181, 94874190548722, 0, 140646516155144}, __mask_was_saved = 0, __saved_mask = {__val = {94874190469145, 140646523924011, 94874190070880, 36624, 39888, 0, 8589934593, 154, 0, 0, 140729160309552, 0, 94874217241523, 6, 11384601093859441408, 0}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0x0
        also_record = 0x0
        reread = false
        recorded = false
        polling_stopped_here = true
        orig_kboard = 0x5649a03fe520
#39 read_char (commandflag=1, map=0x5649a0030693, prev_event=0x0, used_mouse_menu=0x7ffe0f9c1c4b, end_time=0x0) at keyboard.c:2960
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {94874197109024, -3563864483271795924, 94874220774629, 0, 94874221143328, 140729160310144, 3564180304290913068, 7068858010357603116}, __mask_was_saved = 0, __saved_mask = {__val = {140729160309264, 94874231158595, 140729160309264, 94874231295328, 94874191034369, 140729160309216, 0, 94874231158595, 140729160309304, 94874231417181, 0, 0, 1, 2, 60, 0}}}}
        save_jump = {{__jmpbuf = {96, 0, 0, 36624, 94874231417181, 94874190548722, 0, 140646516155144}, __mask_was_saved = 0, __saved_mask = {__val = {94874190469145, 140646523924011, 94874190070880, 36624, 39888, 0, 8589934593, 154, 0, 0, 140729160309552, 0, 94874217241523, 6, 11384601093859441408, 0}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0x0
        also_record = 0x0
        reread = false
        recorded = false
        polling_stopped_here = true
        orig_kboard = 0x5649a03fe520
#40 0x000056499e652b63 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=false) at keyboard.c:10070
        interrupted_kboard = 0x5649a03fe520
        interrupted_frame = 0x5649a03a44e0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 0x5649a0030693
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {parent = 0x5649a02f5d73, map = 0x5649a02f5d73, start = 0, end = 0}
        keytran = {parent = 0x7fead218457b, map = 0x7fead218457b, start = 0, end = 0}
        indec = {parent = 0x5649a02f5d63, map = 0x5649a02f5d63, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 0x0
        original_uppercase = 0x0
        original_uppercase_position = -1
        dummyflag = false
        fake_prefixed_keys = 0x0
        first_event = 0x0
        second_event = <optimized out>
#41 0x000056499e654a15 in command_loop_1 () at keyboard.c:1376
        cmd = <optimized out>
        keybuf = {0x5649a1410c04, 0x3, 0x10680, 0x9dfe3a606d03fb00, 0xa0, 0x9dfe3a606d03fb00, 0x60, 0x0, 0x0, 0xe940, 0x5649a0dca95d, 0x56499e6d0ef2 <unbind_to+514>, 0x7ffe0f9c1e60, 0x0, 0x9, 0xe940, 0x30, 0x5649a0dca95d, 0x7fead19b6fa4, 0x5649a0030ab3, 0x60, 0x7ffe0f9c1e60, 0x56499ff09733, 0x7ffe0f9c1fd8, 0x7ffe0f9c36b2, 0x56499e647a21 <cmd_error+353>, 0x0, 0x0, 0x56499ff09000, 0x9dfe3a606d03fb00}
        i = <optimized out>
        prev_modiff = 0
        prev_buffer = 0x0
#42 0x000056499e6cfa67 in internal_condition_case (bfun=bfun@entry=0x56499e654850 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x56499e6478c0 <cmd_error>) at eval.c:1474
        val = <optimized out>
        c = 0x56499ff9df80
#43 0x000056499e640396 in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1125
        val = <optimized out>
#44 0x000056499e6cf9c1 in internal_catch (tag=tag@entry=0xf810, func=func@entry=0x56499e640370 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
        val = <optimized out>
        c = 0x56499ff95700
#45 0x000056499e640331 in command_loop () at keyboard.c:1103
#46 0x000056499e647442 in recursive_edit_1 () at keyboard.c:712
        val = <optimized out>
#47 0x000056499e6477d0 in Frecursive_edit () at keyboard.c:795
        buffer = <optimized out>
#48 0x000056499e5592d6 in main (argc=<optimized out>, argv=0x7ffe0f9c2228) at emacs.c:2516
        stack_bottom_variable = 0x6d5834980
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 0
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = false
        rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
        lc_all = <optimized out>
        sockfd = -1
(gdb) 



In GNU Emacs 29.0.50 (build 52, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.17.6) of 2022-11-21 built on KRONOS
Repository revision: f176a36f4629b56c9fd9e3fc15aebd04a168c4f5
Repository branch: HEAD
System Description: Manjaro Linux

Configured using:
 'configure --without-modules --without-libotf --without-m17n-flt
 --without-gconf --with-pgtk --with-sound=no --without-gpm
 --with-native-compilation --without-gsettings --without-libsystemd
 --without-sqlite3 --without-xim --with-xwidgets
 --without-compress-install --prefix=/home/german/.local/emacs'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG JSON LCMS2
LIBXML2 NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP THREADS
TIFF TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_MONETARY: es_AR.UTF-8
  value of $LC_NUMERIC: es_AR.UTF-8
  value of $LC_TIME: es_AR.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  savehist-mode: t
  popper-mode: t
  electric-pair-mode: t
  vertico-mode: t
  minibuffer-depth-indicate-mode: t
  delete-selection-mode: t
  global-so-long-mode: t
  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
  window-divider-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/german/.emacs.d/elpa/transient-0.3.7/transient hides /home/german/.local/emacs/share/emacs/29.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug 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 mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils orderless
savehist popper comp comp-cstr subr-x rx cl-seq cl-macs gv cl-extra
help-mode bytecomp byte-compile elec-pair vertico mb-depth delsel
xah-fly-keys g3r-dark-theme info vertico-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
popper-autoloads helpful-autoloads f-autoloads orderless-autoloads
elisp-refs-autoloads s-autoloads compat-autoloads magit-autoloads
magit-section-autoloads git-commit-autoloads with-editor-autoloads
transient-autoloads dash-autoloads warnings icons so-long cl-loaddefs
cl-lib 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 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 xwidget-internal dbusbind inotify dynamic-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 99056 66894)
 (symbols 48 8575 6)
 (strings 32 26491 9376)
 (string-bytes 1 833390)
 (vectors 16 16047)
 (vector-slots 8 290226 130864)
 (floats 8 51 277)
 (intervals 56 385 78)
 (buffers 984 11))

-- 
German Pacenza





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-21 18:46 bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6 German Pacenza
@ 2022-11-22  0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-22 13:48   ` German Pacenza
  0 siblings, 1 reply; 11+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-22  0:32 UTC (permalink / raw)
  To: German Pacenza; +Cc: 59452

German Pacenza <germanp82@hotmail.com> writes:

> Emacs crashes after showing "Args out of range: 6, 6" in the echo area.

Thanks.

> #9  emission_find (instance=0x5649a040e510, detail=670, signal_id=1)
>     at ../glib/gobject/gsignal.c:895
>         emission = 0x2
>         emission_node = <optimized out>
>         accumulator = <optimized out>
> --Type <RET> for more, q to quit, c to continue without paging--c
>         emission = {next = 0x7feadf2b9c20 <type_rw_lock>, instance = 0x7feadf1c1076 <g_rw_lock_reader_lock+54>, ihint = {signal_id = 2682665968, detail = 22089, run_type = (G_SIGNAL_DETAILED | G_SIGNAL_ACTION | G_SIGNAL_NO_HOOKS | G_SIGNAL_MUST_COLLECT | G_SIGNAL_DEPRECATED | G_SIGNAL_ACCUMULATOR_FIRST_RUN | unknown: 0x9fe43a00)}, state = 22089, chain_type = 0x56499fe63af8 [None]}
>         hlist = <optimized out>
>         handler_list = 0x0
>         return_accu = <optimized out>
>         accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
>         signal_id = 1
>         max_sequential_handler_number = <optimized out>
>         return_value_altered = 0
> #10 signal_emit_unlocked_R.isra.0 (node=node@entry=0x5649a03aff10, detail=detail@entry=670, instance=instance@entry=0x5649a040e510, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe0f9c0a10) at ../glib/gobject/gsignal.c:3680
>         emission_node = <optimized out>
>         accumulator = <optimized out>
>         emission = {next = 0x7feadf2b9c20 <type_rw_lock>, instance = 0x7feadf1c1076 <g_rw_lock_reader_lock+54>, ihint = {signal_id = 2682665968, detail = 22089, run_type = (G_SIGNAL_DETAILED | G_SIGNAL_ACTION | G_SIGNAL_NO_HOOKS | G_SIGNAL_MUST_COLLECT | G_SIGNAL_DEPRECATED | G_SIGNAL_ACCUMULATOR_FIRST_RUN | unknown: 0x9fe43a00)}, state = 22089, chain_type = 0x56499fe63af8 [None]}
>         hlist = <optimized out>
>         handler_list = 0x0
>         return_accu = <optimized out>
>         accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
>         signal_id = 1
>         max_sequential_handler_number = <optimized out>
>         return_value_altered = 0
> #11 0x00007feadf28af75 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe0f9c0bd0) at ../glib/gobject/gsignal.c:3549
>         instance_and_params = 0x7ffe0f9c0a10
>         signal_return_type = <optimized out>
>         param_values = 0x7ffe0f9c0a28
>         node = <optimized out>
>         i = <optimized out>
>         n_params = <optimized out>
>         __func__ = "g_signal_emit_valist"
> #12 0x00007feadf28b204 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3606
>         var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffe0f9c0cb0, reg_save_area = 0x7ffe0f9c0bf0}}
> #13 0x00007feadf277fc6 in g_object_dispatch_properties_changed (object=0x5649a040e510, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../glib/gobject/gobject.c:1428
>         i = <optimized out>
> #14 0x00007feadf27b488 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x5649a040e510) at ../glib/gobject/gobject.c:1544
>         nqueue = <optimized out>
>         need_thaw = <optimized out>
>         object_flags = <optimized out>
>         needs_notify = 1
>         in_init = <optimized out>
>         __func__ = "g_object_notify_by_pspec"
> #15 g_object_notify_by_pspec (object=0x5649a040e510, pspec=<optimized out>) at ../glib/gobject/gobject.c:1650
>         __func__ = "g_object_notify_by_pspec"
> #16 0x00007feadf9e33bb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1875
>         window = 0x5649a040e510
>         grab_widget = 0x5649a040e510
>         window_group = 0x5649a08ff900
>         rewritten_event = <optimized out>
>         device = <optimized out>
>         tmp_list = <optimized out>
>         event_widget = <optimized out>
>         topmost_widget = <optimized out>
>         __func__ = "gtk_main_do_event"
> #17 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
>         __func__ = "gtk_main_do_event"
> #18 0x00007feadf744cc3 in _gdk_event_emit (event=0x5649a03e2700) at ../gtk/gdk/gdkevents.c:73
> #19 _gdk_event_emit (event=0x5649a03e2700) at ../gtk/gdk/gdkevents.c:67
> #20 0x00007feadf7738c8 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gtk/gdk/wayland/gdkeventsource.c:124
>         source = <optimized out>
>         display = <optimized out>
>         event = 0x5649a03e2700
> #21 0x00007feadf16f87b in g_main_dispatch (context=0x5649a03cd280) at ../glib/glib/gmain.c:3444
>         dispatch = 0x7feadf7738a0 <gdk_event_source_dispatch>
>         prev_source = 0x5649a03e2830
>         begin_time_nsec = 6352334976965
>         was_in_call = 2
>         user_data = 0x0
>         callback = 0x0
>         cb_funcs = 0x0
>         cb_data = 0x0
>         need_destroy = <optimized out>
>         source = 0x5649a03e2830
>         current = 0x5649a03cd390
>         i = 0
> #22 g_main_context_dispatch (context=0x5649a03cd280) at ../glib/glib/gmain.c:4162
> #23 0x000056499e783f08 in pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffe0f9c0ee0) at pgtkterm.c:3839
>         context = 0x5649a03cd280
>         context_acquired = <optimized out>
>         count = <optimized out>
>         count = <optimized out>
> #24 pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffe0f9c0ee0) at pgtkterm.c:3818
>         count = <optimized out>
> #25 0x000056499e648d31 in gobble_input () at keyboard.c:7413
>         nr = <optimized out>
>         hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0, device = 0x30}
>         next = 0x0
>         nread = 0
>         err = false
>         t = 0x5649a03a4288
> #26 0x000056499e649115 in handle_async_input () at keyboard.c:7644
>         nread = <optimized out>
> #27 process_pending_signals () at keyboard.c:7658
> #28 unblock_input_to (level=0) at keyboard.c:7673
> #29 unblock_input_to (level=<optimized out>) at keyboard.c:7667
> #30 0x000056499e649d5b in unblock_input () at keyboard.c:7692
>         nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
>         timers = 0x5649a0057e73
>         idle_timers = 0x5649a0057e03
>         tem = 0x0
> #31 timer_check () at keyboard.c:4738
>         nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
>         timers = 0x5649a0057e73
>         idle_timers = 0x5649a0057e03
>         tem = 0x0
> #32 0x000056499e64a355 in readable_events (flags=flags@entry=1) at keyboard.c:3520
> #33 0x000056499e64a548 in get_input_pending (flags=flags@entry=1) at keyboard.c:7363
> #34 0x000056499e64f408 in detect_input_pending_run_timers (do_display=do_display@entry=true) at keyboard.c:10893
>         old_timers_run = <optimized out>
> #35 0x000056499e72ced8 in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=<optimized out>, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=<optimized out>) at process.c:5779
>         leave = false
>         process_skipped = <optimized out>
>         wrapped = <optimized out>
>         channel_start = <optimized out>
>         child_fd = <optimized out>
>         last_read_channel = 18
>         channel = <optimized out>
>         nfds = <optimized out>
>         Available = {fds_bits = {16, 0 <repeats 15 times>}}
>         Writeok = {fds_bits = {0 <repeats 16 times>}}
>         check_write = true
>         check_delay = <optimized out>
>         no_avail = false
>         xerrno = 11
>         proc = <optimized out>
>         timeout = {tv_sec = 0, tv_nsec = 0}
>         end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
>         timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
>         got_output_end_time = {tv_sec = 1669152744, tv_nsec = 622196508}
>         wait = <optimized out>
>         got_some_output = <optimized out>
>         prev_wait_proc_nbytes_read = <optimized out>
>         retry_for_async = <optimized out>
>         count = {bytes = <optimized out>}
>         now = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
> #36 0x000056499e64aacc in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7ffe0f9c1c4b, kbp=<synthetic pointer>) at keyboard.c:3999
>         do_display = <optimized out>
>         obj = <optimized out>
>         str = <optimized out>
>         c = 0x0
>         save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
>         kb = <optimized out>
>         count = {bytes = <optimized out>}
> #37 read_event_from_main_queue (end_time=<optimized out>, local_getcjmp=0x7ffe0f9c1940, used_mouse_menu=0x7ffe0f9c1c4b) at keyboard.c:2266
>         c = 0x0
>         save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
>         kb = <optimized out>
>         count = {bytes = <optimized out>}
> #38 0x000056499e650573 in read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2329
>         nextevt = <optimized out>
>         frame = <optimized out>
>         terminal = <optimized out>
>         events = {0x80, 0x56499e6c4c2c <Fget_pos_property+908>, 0x0, 0x5649a0dca958, 0x2, 0x0, 0x300000080, 0x5649a0f7fca3, 0x5649a0dca95d, 0xce10, 0x300000000, 0x5649a0f7fca3, 0x0, 0x9bd0, 0x0, 0x3}
>         n = 0
>         c = <optimized out>
>         local_getcjmp = {{__jmpbuf = {94874197109024, -3563864483271795924, 94874220774629, 0, 94874221143328, 140729160310144, 3564180304290913068, 7068858010357603116}, __mask_was_saved = 0, __saved_mask = {__val = {140729160309264, 94874231158595, 140729160309264, 94874231295328, 94874191034369, 140729160309216, 0, 94874231158595, 140729160309304, 94874231417181, 0, 0, 1, 2, 60, 0}}}}
>         save_jump = {{__jmpbuf = {96, 0, 0, 36624, 94874231417181, 94874190548722, 0, 140646516155144}, __mask_was_saved = 0, __saved_mask = {__val = {94874190469145, 140646523924011, 94874190070880, 36624, 39888, 0, 8589934593, 154, 0, 0, 140729160309552, 0, 94874217241523, 6, 11384601093859441408, 0}}}}
>         tem = <optimized out>
>         save = <optimized out>
>         previous_echo_area_message = 0x0
>         also_record = 0x0
>         reread = false
>         recorded = false
>         polling_stopped_here = true
>         orig_kboard = 0x5649a03fe520
> #39 read_char (commandflag=1, map=0x5649a0030693, prev_event=0x0, used_mouse_menu=0x7ffe0f9c1c4b, end_time=0x0) at keyboard.c:2960
>         c = <optimized out>
>         local_getcjmp = {{__jmpbuf = {94874197109024, -3563864483271795924, 94874220774629, 0, 94874221143328, 140729160310144, 3564180304290913068, 7068858010357603116}, __mask_was_saved = 0, __saved_mask = {__val = {140729160309264, 94874231158595, 140729160309264, 94874231295328, 94874191034369, 140729160309216, 0, 94874231158595, 140729160309304, 94874231417181, 0, 0, 1, 2, 60, 0}}}}
>         save_jump = {{__jmpbuf = {96, 0, 0, 36624, 94874231417181, 94874190548722, 0, 140646516155144}, __mask_was_saved = 0, __saved_mask = {__val = {94874190469145, 140646523924011, 94874190070880, 36624, 39888, 0, 8589934593, 154, 0, 0, 140729160309552, 0, 94874217241523, 6, 11384601093859441408, 0}}}}
>         tem = <optimized out>
>         save = <optimized out>
>         previous_echo_area_message = 0x0
>         also_record = 0x0
>         reread = false
>         recorded = false
>         polling_stopped_here = true
>         orig_kboard = 0x5649a03fe520
> #40 0x000056499e652b63 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=false) at keyboard.c:10070
>         interrupted_kboard = 0x5649a03fe520
>         interrupted_frame = 0x5649a03a44e0
>         key = <optimized out>
>         used_mouse_menu = false
>         echo_local_start = 0
>         last_real_key_start = 0
>         keys_local_start = 0
>         new_binding = <optimized out>
>         t = 0
>         echo_start = 0
>         keys_start = 0
>         current_binding = 0x5649a0030693
>         first_unbound = 31
>         mock_input = 0
>         used_mouse_menu_history = {false <repeats 30 times>}
>         fkey = {parent = 0x5649a02f5d73, map = 0x5649a02f5d73, start = 0, end = 0}
>         keytran = {parent = 0x7fead218457b, map = 0x7fead218457b, start = 0, end = 0}
>         indec = {parent = 0x5649a02f5d63, map = 0x5649a02f5d63, start = 0, end = 0}
>         shift_translated = false
>         delayed_switch_frame = 0x0
>         original_uppercase = 0x0
>         original_uppercase_position = -1
>         dummyflag = false
>         fake_prefixed_keys = 0x0
>         first_event = 0x0
>         second_event = <optimized out>
> #41 0x000056499e654a15 in command_loop_1 () at keyboard.c:1376
>         cmd = <optimized out>
>         keybuf = {0x5649a1410c04, 0x3, 0x10680, 0x9dfe3a606d03fb00, 0xa0, 0x9dfe3a606d03fb00, 0x60, 0x0, 0x0, 0xe940, 0x5649a0dca95d, 0x56499e6d0ef2 <unbind_to+514>, 0x7ffe0f9c1e60, 0x0, 0x9, 0xe940, 0x30, 0x5649a0dca95d, 0x7fead19b6fa4, 0x5649a0030ab3, 0x60, 0x7ffe0f9c1e60, 0x56499ff09733, 0x7ffe0f9c1fd8, 0x7ffe0f9c36b2, 0x56499e647a21 <cmd_error+353>, 0x0, 0x0, 0x56499ff09000, 0x9dfe3a606d03fb00}
>         i = <optimized out>
>         prev_modiff = 0
>         prev_buffer = 0x0
> #42 0x000056499e6cfa67 in internal_condition_case (bfun=bfun@entry=0x56499e654850 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x56499e6478c0 <cmd_error>) at eval.c:1474
>         val = <optimized out>
>         c = 0x56499ff9df80
> #43 0x000056499e640396 in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1125
>         val = <optimized out>
> #44 0x000056499e6cf9c1 in internal_catch (tag=tag@entry=0xf810, func=func@entry=0x56499e640370 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
>         val = <optimized out>
>         c = 0x56499ff95700
> #45 0x000056499e640331 in command_loop () at keyboard.c:1103
> #46 0x000056499e647442 in recursive_edit_1 () at keyboard.c:712
>         val = <optimized out>
> #47 0x000056499e6477d0 in Frecursive_edit () at keyboard.c:795
>         buffer = <optimized out>
> #48 0x000056499e5592d6 in main (argc=<optimized out>, argv=0x7ffe0f9c2228) at emacs.c:2516
>         stack_bottom_variable = 0x6d5834980
>         no_loadup = false
>         junk = 0x0
>         dname_arg = 0x0
>         ch_to_dir = 0x0
>         original_pwd = <optimized out>
>         dump_mode = <optimized out>
>         skip_args = 0
>         temacs = 0x0
>         attempt_load_pdump = <optimized out>
>         only_version = false
>         rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
>         lc_all = <optimized out>
>         sockfd = -1

This looks like a signal happened in pgtk_read_socket, causing a longjmp
outside and GLib to crash the next time pgtk_read_socket happens (as
depicted in the backtrace.)

Unfortunately, this backtrace doesn't help.  Would you please put a
breakpoint on `args_out_of_range', and see what leads to it being called
instead?





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-22  0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-22 13:48   ` German Pacenza
  2022-11-23  0:38     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 11+ messages in thread
From: German Pacenza @ 2022-11-22 13:48 UTC (permalink / raw)
  To: Po Lu; +Cc: 59452

Po Lu <luangruo@yahoo.com> writes:

> This looks like a signal happened in pgtk_read_socket, causing a longjmp
> outside and GLib to crash the next time pgtk_read_socket happens (as
> depicted in the backtrace.)
>
> Unfortunately, this backtrace doesn't help.  Would you please put a
> breakpoint on `args_out_of_range', and see what leads to it being called
> instead?

Something like this?:

Thread 1 "emacs" hit Breakpoint 1, args_out_of_range (a1=a1@entry=0x1a, a2=a2@entry=0x1a) at data.c:155
155	 xsignal2 (Qargs_out_of_range, a1, a2);
(gdb) bt full
#0  args_out_of_range (a1=a1@entry=0x1a, a2=a2@entry=0x1a) at data.c:155
#1  0x00005555555dd84e in validate_interval_range
    (object=0x555555e7e984, begin=0x7fffffffc658, end=<optimized out>, force=<optimized out>)
    at textprop.c:173
        len = <optimized out>
        i = <optimized out>
        searchpos = <optimized out>
        begin0 = 0x1a
        end0 = 0x1a
#2  0x00005555557cd0f0 in Ftext_properties_at (position=<optimized out>, 
    position@entry=0x1a, object=<optimized out>, object@entry=0x555555e7e984) at textprop.c:580
        i = <optimized out>
#3  0x00005555557cd15c in Fget_text_property
    (position=position@entry=0x1a, prop=prop@entry=0x8820, object=object@entry=0x555555e7e984)
    at textprop.c:604
#4  0x000055555564093f in note_mode_line_or_margin_highlight
    (area=<optimized out>, y=<optimized out>, x=<optimized out>, window=<optimized out>)
    at xdisp.c:34594
        f = 0x5555562dd9d0
        hlinfo = 0x5555564c00d0
        charpos = 6
        pos = 0x1a
        help = 0x0
        mouse_face_shown = <optimized out>
        w = 0x555556d41f18
        pointer = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        row = 0x555556db2570
        dx = 5
        width = 20
        string = 0x555555e7e984
        glyph = <optimized out>
        dy = 19
        object = 0x0
        mouse_face = <optimized out>
        cursor = 0x0
        height = 18
        original_x_pixel = 55
        row_start_glyph = 0x555556dcfa50
        hlinfo = <optimized out>
        part = ON_MODE_LINE
        window = <optimized out>
        w = 0x555556d41f18
        cursor = <optimized out>
        pointer = 0x0
#5  note_mouse_highlight (f=f@entry=0x5555562dd9d0, x=<optimized out>, y=<optimized out>) at xdisp.c:34988
        hlinfo = <optimized out>
        part = ON_MODE_LINE
        window = <optimized out>
        w = 0x555556d41f18
        cursor = <optimized out>
        pointer = 0x0
#6  0x00005555558149fb in note_mouse_movement (event=0x5555563195b0, frame=0x5555562dd9d0) at pgtkterm.c:5821
        r = 0x5555564c0148
        dpyinfo = 0x5555564c0030
        inev = {kind = NO_EVENT, ie = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0, device = 0x30}, sie = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0}}
        f = 0x5555562dd9d0
        frame = <optimized out>
        dpyinfo = <optimized out>
        hlinfo = <optimized out>
        do_help = <optimized out>
#7  motion_notify_event (widget=<optimized out>, event=0x5555563195b0, user_data=<optimized out>) at pgtkterm.c:5905
        inev = {kind = NO_EVENT, ie = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0, device = 0x30}, sie = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0}}
        f = 0x5555562dd9d0
        frame = <optimized out>
        dpyinfo = <optimized out>
        hlinfo = <optimized out>
        do_help = <optimized out>
#8  0x00007ffff7684fd8 in  () at /usr/lib/libgtk-3.so.0
#9  0x00007ffff718f210 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff71bcea8 in  () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff71ac980 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff71ad204 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff7944815 in  () at /usr/lib/libgtk-3.so.0
#14 0x00007ffff77e20bb in  () at /usr/lib/libgtk-3.so.0
#15 0x00007ffff77e2f9b in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#16 0x00007ffff7edecc3 in  () at /usr/lib/libgdk-3.so.0
#17 0x00007ffff7f0d8c8 in  () at /usr/lib/libgdk-3.so.0
#18 0x00007ffff709187b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#19 0x0000555555811f88 in pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7fffffffcec0) at pgtkterm.c:3839
        context = 0x555556304040
        context_acquired = <optimized out>
        count = <optimized out>
        count = <optimized out>
#20 pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7fffffffcec0) at pgtkterm.c:3818
        count = <optimized out>
#21 0x00005555556d04d1 in gobble_input () at keyboard.c:7413
        nr = <optimized out>
        hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0, device = 0x30}
        next = 0x0
        nread = 0
        err = false
        t = 0x5555562dd778
#22 0x00005555556d08b5 in handle_async_input () at keyboard.c:7644
        nread = <optimized out>
#23 process_pending_signals () at keyboard.c:7658
#24 unblock_input_to (level=0) at keyboard.c:7673
#25 unblock_input_to (level=<optimized out>) at keyboard.c:7667
#26 0x00005555556d14fb in unblock_input () at keyboard.c:7692
        nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timers = 0x555557dc8bb3
        idle_timers = 0x555557dc8413
        tem = 0x0
#27 timer_check () at keyboard.c:4738
        nexttime = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timers = 0x555557dc8bb3
        idle_timers = 0x555557dc8413
        tem = 0x0
#28 0x00005555556d1af5 in readable_events (flags=flags@entry=1) at keyboard.c:3520
#29 0x00005555556d1ce8 in get_input_pending (flags=flags@entry=1) at keyboard.c:7363
#30 0x00005555556d6ba8 in detect_input_pending_run_timers (do_display=do_display@entry=true) at keyboard.c:10893
        old_timers_run = <optimized out>
#31 0x00005555557b4a48 in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=<optimized out>, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=<optimized out>) at process.c:5779
        leave = false
        process_skipped = <optimized out>
        wrapped = <optimized out>
        channel_start = <optimized out>
        child_fd = <optimized out>
        last_read_channel = 17
        channel = <optimized out>
        nfds = <optimized out>
        Available = {fds_bits = {16, 0 <repeats 15 times>}}
        Writeok = {fds_bits = {0 <repeats 16 times>}}
        check_write = true
        check_delay = <optimized out>
        no_avail = false
        xerrno = 11
        proc = <optimized out>
        timeout = {tv_sec = 0, tv_nsec = 0}
        end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        got_output_end_time = {tv_sec = 1669223983, tv_nsec = 200900201}
        wait = <optimized out>
        got_some_output = <optimized out>
        prev_wait_proc_nbytes_read = <optimized out>
        retry_for_async = <optimized out>
        count = {bytes = <optimized out>}
        now = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#32 0x00005555556d226c in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7fffffffdc2b, kbp=<synthetic pointer>) at keyboard.c:3999
        do_display = <optimized out>
        obj = <optimized out>
        str = <optimized out>
        c = 0x0
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
        kb = <optimized out>
        count = {bytes = <optimized out>}
#33 read_event_from_main_queue (end_time=<optimized out>, local_getcjmp=0x7fffffffd920, used_mouse_menu=0x7fffffffdc2b) at keyboard.c:2266
        c = 0x0
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
        kb = <optimized out>
        count = {bytes = <optimized out>}
#34 0x00005555556d7d13 in read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2329
        nextevt = <optimized out>
        frame = <optimized out>
        terminal = <optimized out>
        events = {0x80, 0x55555574c59c <Fget_pos_property+908>, 0x0, 0x555556d42728, 0x2, 0x0, 0x300000080, 0x555556eec373, 0x555556d4272d, 0xcff0, 0x300000000, 0x555556eec373, 0x0, 0x9cc0, 0x0, 0x3}
        n = 0
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {93825000950432, 3557804219960580310, 93825017325352, 0, 93825026390467, 140737488346464, -3557804221298190122, -7208725008076711722}, __mask_was_saved = 0, __saved_mask = {__val = {140737488345584, 93825017070131, 140737488345584, 93825017204688, 93824994833265, 140737488345536, 0, 93825017070131, 140737488345624, 93825017325357, 0, 0, 1, 2, 20, 0}}}}
        save_jump = {{__jmpbuf = {96, 0, 0, 36864, 93825017325357, 93824994267041, 0, 140737111371096}, __mask_was_saved = 0, __saved_mask = {__val = {93824994267529, 140737119238907, 93824993868800, 36864, 40128, 0, 8589934593, 154, 0, 0, 140737488345872, 0, 93825002882515, 6, 10607902197667024640, 0}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0x0
        also_record = 0x0
        reread = false
        recorded = false
        polling_stopped_here = true
        orig_kboard = 0x555556345ec0
#35 read_char (commandflag=1, map=0x5555575db5d3, prev_event=0x0, used_mouse_menu=0x7fffffffdc2b, end_time=0x0) at keyboard.c:2960
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {93825000950432, 3557804219960580310, 93825017325352, 0, 93825026390467, 140737488346464, -3557804221298190122, -7208725008076711722}, __mask_was_saved = 0, __saved_mask = {__val = {140737488345584, 93825017070131, 140737488345584, 93825017204688, 93824994833265, 140737488345536, 0, 93825017070131, 140737488345624, 93825017325357, 0, 0, 1, 2, 20, 0}}}}
        save_jump = {{__jmpbuf = {96, 0, 0, 36864, 93825017325357, 93824994267041, 0, 140737111371096}, __mask_was_saved = 0, __saved_mask = {__val = {93824994267529, 140737119238907, 93824993868800, 36864, 40128, 0, 8589934593, 154, 0, 0, 140737488345872, 0, 93825002882515, 6, 10607902197667024640, 0}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0x0
        also_record = 0x0
        reread = false
        recorded = false
        polling_stopped_here = true
        orig_kboard = 0x555556345ec0
#36 0x00005555556da303 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=false) at keyboard.c:10070
        interrupted_kboard = 0x555556345ec0
        interrupted_frame = 0x5555562dd9d0
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = <optimized out>
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 0x5555575db5d3
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {parent = 0x55555622de33, map = 0x55555622de33, start = 0, end = 0}
        keytran = {parent = 0x7fffe9ff123b, map = 0x7fffe9ff123b, start = 0, end = 0}
        indec = {parent = 0x55555622de23, map = 0x55555622de23, start = 0, end = 0}
        shift_translated = false
        delayed_switch_frame = 0x0
        original_uppercase = 0x0
        original_uppercase_position = -1
        dummyflag = false
        fake_prefixed_keys = 0x0
        first_event = 0x0
        second_event = <optimized out>
#37 0x00005555556dc1b5 in command_loop_1 () at keyboard.c:1376
        cmd = <optimized out>
        keybuf = {0x0, 0x80, 0x7fffe9bb1cdd, 0xa0, 0x2, 0x9336d6d880074f00, 0x0, 0x0, 0x80, 0x4000000011000000, 0x400000003f000000, 0x2aaa93e0a328, 0x7fffffffde80, 0x55555575c372 <eval_sub+578>, 0x7fffe9df4e68, 0x0, 0x7fffffffde80, 0x7fff93e0a328, 0x0, 0x555555758f10 <Fapply+256>, 0x7fffffffde50, 0x9336d6d880074f00, 0x60, 0x30, 0x0, 0x9570, 0x7fffe987670d, 0x5555557588c2 <unbind_to+514>, 0x60, 0x9336d6d880074f00}
        i = <optimized out>
        prev_modiff = 0
        prev_buffer = 0x0
#38 0x00005555557573d7 in internal_condition_case (bfun=bfun@entry=0x5555556dbff0 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x5555556cf060 <cmd_error>) at eval.c:1474
        val = <optimized out>
        c = 0x555555ed3cd0
#39 0x00005555556c7b26 in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1125
        val = <optimized out>
#40 0x0000555555757331 in internal_catch (tag=tag@entry=0xfa20, func=func@entry=0x5555556c7b00 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
        val = <optimized out>
        c = 0x555555ed4400
#41 0x00005555556c7ac1 in command_loop () at keyboard.c:1103
#42 0x00005555556cebe2 in recursive_edit_1 () at keyboard.c:712
        val = <optimized out>
#43 0x00005555556cef70 in Frecursive_edit () at keyboard.c:795
        buffer = <optimized out>
#44 0x00005555555e0a66 in main (argc=<optimized out>, argv=0x7fffffffe208) at emacs.c:2522
        stack_bottom_variable = 0x6ed834980
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 0
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = false
        rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
        lc_all = <optimized out>
        sockfd = -1
(gdb) 

-- 
German Pacenza





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-22 13:48   ` German Pacenza
@ 2022-11-23  0:38     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-23 11:58       ` German Pacenza
  0 siblings, 1 reply; 11+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-23  0:38 UTC (permalink / raw)
  To: German Pacenza; +Cc: 59452

German Pacenza <germanp82@hotmail.com> writes:

> Something like this?:

Thanks!

> Thread 1 "emacs" hit Breakpoint 1, args_out_of_range (a1=a1@entry=0x1a, a2=a2@entry=0x1a) at data.c:155
> 155	 xsignal2 (Qargs_out_of_range, a1, a2);
> (gdb) bt full
> #0  args_out_of_range (a1=a1@entry=0x1a, a2=a2@entry=0x1a) at data.c:155
> #1  0x00005555555dd84e in validate_interval_range
>     (object=0x555555e7e984, begin=0x7fffffffc658, end=<optimized out>, force=<optimized out>)
>     at textprop.c:173
>         len = <optimized out>
>         i = <optimized out>
>         searchpos = <optimized out>
>         begin0 = 0x1a
>         end0 = 0x1a
> #2  0x00005555557cd0f0 in Ftext_properties_at (position=<optimized out>, 
>     position@entry=0x1a, object=<optimized out>, object@entry=0x555555e7e984) at textprop.c:580
>         i = <optimized out>
> #3  0x00005555557cd15c in Fget_text_property
>     (position=position@entry=0x1a, prop=prop@entry=0x8820, object=object@entry=0x555555e7e984)
>     at textprop.c:604
> #4  0x000055555564093f in note_mode_line_or_margin_highlight
>     (area=<optimized out>, y=<optimized out>, x=<optimized out>, window=<optimized out>)
>     at xdisp.c:34594
>         f = 0x5555562dd9d0
>         hlinfo = 0x5555564c00d0
>         charpos = 6
>         pos = 0x1a
>         help = 0x0
>         mouse_face_shown = <optimized out>
>         w = 0x555556d41f18
>         pointer = <optimized out>

This is not ok for code run from a read_socket_hook.  If you type the
following in gdb:

  (gdb) up
  (gdb) p BUF_ZV (XBUFFER (object))
  (gdb) p BUF_BEGV (XBUFFER (object))

what does it say?

(If the above does not work, build Emacs with -g3 -O0.)





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-23  0:38     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-23 11:58       ` German Pacenza
  2022-11-23 14:20         ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: German Pacenza @ 2022-11-23 11:58 UTC (permalink / raw)
  To: Po Lu; +Cc: 59452

Po Lu <luangruo@yahoo.com> writes:

I have a recipe:

emacs -Q
(progn
   (setq mode-line-front-space "HOVER HERE -> ")
   (setq-default mode-line-format '("%e"
                                    (:propertize mode-line-front-space display (min-width (20)))
                                    "  ")))
eval code and hover the mode-line at the right of the arrow

Result:
Args out of range: 13, 13 and emacs crashes

-- 
German Pacenza





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-23 11:58       ` German Pacenza
@ 2022-11-23 14:20         ` Eli Zaretskii
  2022-11-23 14:52           ` German Pacenza
  2022-11-24  0:37           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 11+ messages in thread
From: Eli Zaretskii @ 2022-11-23 14:20 UTC (permalink / raw)
  To: German Pacenza; +Cc: luangruo, 59452

> Cc: 59452@debbugs.gnu.org
> From: German Pacenza <germanp82@hotmail.com>
> Date: Wed, 23 Nov 2022 08:58:43 -0300
> 
> Po Lu <luangruo@yahoo.com> writes:
> 
> I have a recipe:
> 
> emacs -Q
> (progn
>    (setq mode-line-front-space "HOVER HERE -> ")
>    (setq-default mode-line-format '("%e"
>                                     (:propertize mode-line-front-space display (min-width (20)))
>                                     "  ")))
> eval code and hover the mode-line at the right of the arrow
> 
> Result:
> Args out of range: 13, 13 and emacs crashes

This part (which I'm not sure how it's related to the original bug) should
be fixed now.

FTR, I didn't see any crashes, only an error message in the echo-area.  But
I'm not on PGTK.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-23 14:20         ` Eli Zaretskii
@ 2022-11-23 14:52           ` German Pacenza
  2022-11-23 15:17             ` Eli Zaretskii
  2022-11-24  0:37           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 11+ messages in thread
From: German Pacenza @ 2022-11-23 14:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: luangruo, 59452

Eli Zaretskii <eliz@gnu.org> writes:

> This part (which I'm not sure how it's related to the original bug) should
> be fixed now.
>
> FTR, I didn't see any crashes, only an error message in the echo-area.  But
> I'm not on PGTK.

It is fixed on hover but clicking on the mode-line still triggers
'args_out_of_range' but this time emacs keeps working.

-- 
German Pacenza





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-23 14:52           ` German Pacenza
@ 2022-11-23 15:17             ` Eli Zaretskii
  0 siblings, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2022-11-23 15:17 UTC (permalink / raw)
  To: German Pacenza; +Cc: luangruo, 59452

> From: German Pacenza <germanp82@hotmail.com>
> Cc: luangruo@yahoo.com,  59452@debbugs.gnu.org
> Date: Wed, 23 Nov 2022 11:52:15 -0300
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > This part (which I'm not sure how it's related to the original bug) should
> > be fixed now.
> >
> > FTR, I didn't see any crashes, only an error message in the echo-area.  But
> > I'm not on PGTK.
> 
> It is fixed on hover but clicking on the mode-line still triggers
> 'args_out_of_range' but this time emacs keeps working.

Fixed.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-23 14:20         ` Eli Zaretskii
  2022-11-23 14:52           ` German Pacenza
@ 2022-11-24  0:37           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-11-24  7:14             ` Eli Zaretskii
  1 sibling, 1 reply; 11+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-24  0:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: German Pacenza, 59452

Eli Zaretskii <eliz@gnu.org> writes:

> FTR, I didn't see any crashes, only an error message in the echo-area.  But
> I'm not on PGTK.

The crash is specific to builds with GLib, where event handlers must not
be allowed to signal.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-24  0:37           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-11-24  7:14             ` Eli Zaretskii
  2022-11-24 10:37               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2022-11-24  7:14 UTC (permalink / raw)
  To: Po Lu; +Cc: germanp82, 59452

> From: Po Lu <luangruo@yahoo.com>
> Cc: German Pacenza <germanp82@hotmail.com>,  59452@debbugs.gnu.org
> Date: Thu, 24 Nov 2022 08:37:54 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > FTR, I didn't see any crashes, only an error message in the echo-area.  But
> > I'm not on PGTK.
> 
> The crash is specific to builds with GLib, where event handlers must not
> be allowed to signal.

If these handlers run Lisp or call primitives or their subroutines, it's a
tough requirement, which is almost impossible to fulfill.  The resulting
build will be very fragile.  Emacs internals signal errors all over the
place.  You could catch errors via internal_condition_case_* etc., but doing
so will sometimes trigger an infinite loop of errors, and make Emacs
unresponsive.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6
  2022-11-24  7:14             ` Eli Zaretskii
@ 2022-11-24 10:37               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 11+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-11-24 10:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: germanp82, 59452

Eli Zaretskii <eliz@gnu.org> writes:

> If these handlers run Lisp or call primitives or their subroutines, it's a
> tough requirement, which is almost impossible to fulfill.  The resulting
> build will be very fragile.  Emacs internals signal errors all over the
> place.  You could catch errors via internal_condition_case_* etc., but doing
> so will sometimes trigger an infinite loop of errors, and make Emacs
> unresponsive.

Well, we will just have to try our best.  GLib gained this limitation
several years ago, and I've only seen two crash reports because of it up
until now.





^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-24 10:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-21 18:46 bug#59452: 29.0.50; [PGTK] SIGSEV Args out of range: 6, 6 German Pacenza
2022-11-22  0:32 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-22 13:48   ` German Pacenza
2022-11-23  0:38     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-23 11:58       ` German Pacenza
2022-11-23 14:20         ` Eli Zaretskii
2022-11-23 14:52           ` German Pacenza
2022-11-23 15:17             ` Eli Zaretskii
2022-11-24  0:37           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-24  7:14             ` Eli Zaretskii
2022-11-24 10:37               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).