Package: emacs;
Reported by: Daniel Clemente <n142857 <at> gmail.com>
Date: Fri, 31 May 2024 10:20:01 UTC
Severity: normal
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 71289 in the body.
You can then email your comments to 71289 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 10:20:01 GMT) Full text and rfc822 format available.Daniel Clemente <n142857 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Fri, 31 May 2024 10:20:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 10:18:35 +0000
Running emacs --fg-daemon under gdb, and TTY emacs, with glyph debug enabled. Using my full .emacs, which includes things like (setq garbage-collection-messages t). I reproduced this 2 times: 1. I opened 2 or 3 emacsclient (inside urxvt) and started resizing the X window of one of them, and using it a bit (open org agenda). I admit I used weird X window sizes that created a 1x1 terminal, but this still worked. After some time playing with the X window size (but without opening/closing X windows), this assert failed. I was using urxvt with no customizations (i.e. I was seeing a scroll bar etc.). In this case I used icewm (non-tiled window manager) with no customizations. See BT1 below. 2. I just ran emacs --fg-daemon inside gdb, and I opened my first TTY frame, in a normal window of normal size; nothing weird (no 1x1 frames etc). It immediately crashed; this never happened before. I'm using wmii, urxvt (many customizations), and a command like urxvt -e emacsclient '-nw' '-e' '(dired "~")' & See BT2 below. Maybe it's because of trying the display the "Garbage collecting...done" message in a small window? (BT1) or in window which isn't fully initialized yet? (BT2) ------- BT1 follows: Loading erc (native compiled elisp)... Garbage collecting... Garbage collecting...done Loading erc (native compiled elisp)...done Garbage collecting... Garbage collecting...done Loading ‘~/.emacs’: unescaped character literals ‘?(’, ‘?)’, ‘?[’, ‘?]’ detected, ‘?\(’, ‘?\)’, ‘?\[’, ‘?\]’ expected! [Detaching after vfork from child process 7427] Starting Emacs daemon. [Detaching after vfork from child process 7428] [Detaching after vfork from child process 7429] Garbage collecting... Garbage collecting...done [Detaching after vfork from child process 7434] Package starttls is deprecated Package tls is deprecated Package longlines is deprecated Package cl is deprecated [Detaching after vfork from child process 7437] Garbage collecting... Garbage collecting...done Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 #1 0x00005555556bd21b in emacs_abort () at sysdep.c:2391 #2 0x00005555556690c8 in cmcheckmagic (tty=0x555559440cd0) at cm.c:117 #3 0x000055555566d5da in tty_write_glyphs (f=0x555559804e78, string=0x55555a7b2b20, len=89) at term.c:819 #4 0x000055555567796e in write_glyphs (f=0x555559804e78, string=0x55555a7b1a70, len=89) at terminal.c:163 #5 0x00005555555918dd in update_frame_line (f=0x555559804e78, vpos=4, updating_menu_p=false) at dispnew.c:5318 #6 0x00005555555909c8 in update_frame_1 (f=0x555559804e78, force_p=true, inhibit_id_p=false, set_cursor_p=true, updating_menu_p=false) at dispnew.c:4977 #7 0x000055555558cf32 in update_frame (f=0x555559804e78, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3343 #8 0x00005555555cf5a2 in redisplay_internal () at xdisp.c:17464 #9 0x00005555555cfec8 in redisplay_preserve_echo_area (from_where=11) at xdisp.c:17743 #10 0x00005555557edd9c in wait_reading_process_output (time_limit=0, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5585 #11 0x0000555555697f8c in kbd_buffer_get_event (kbp=0x7fffffffd168, used_mouse_menu=0x7fffffffd7ef, end_time=0x0) at keyboard.c:4079 #12 0x0000555555693a41 in read_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffd5b0, used_mouse_menu=0x7fffffffd7ef) at keyboard.c:2330 #13 0x0000555555693d45 in read_decoded_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffd5b0, prev_event=XIL(0), used_mouse_menu=0x7fffffffd7ef) at keyboard.c:2394 #14 0x0000555555695664 in read_char (commandflag=1, map=XIL(0x55555a1f4743), prev_event=XIL(0), used_mouse_menu=0x7fffffffd7ef, end_time=0x0) at keyboard.c:3015 #15 0x00005555556a67ff in read_key_sequence (keybuf=0x7fffffffda00, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 #16 0x0000555555690ee7 in command_loop_1 () at keyboard.c:1429 #17 0x000055555576c6cf in internal_condition_case (bfun=0x555555690ab8 <command_loop_1>, handlers=XIL(0x90), hfun=0x55555568ff63 <cmd_error>) at eval.c:1613 #18 0x0000555555690696 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 #19 0x000055555576bafc in internal_catch (tag=XIL(0xfc60), func=0x55555569066c <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 #20 0x0000555555690628 in command_loop () at keyboard.c:1146 #21 0x000055555568fa05 in recursive_edit_1 () at keyboard.c:754 #22 0x000055555568fc31 in Frecursive_edit () at keyboard.c:837 #23 0x000055555568b698 in main (argc=2, argv=0x7fffffffe028) at emacs.c:2621 Lisp Backtrace: "redisplay_internal (C function)" (0x0) (gdb) (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 No locals. #1 0x00005555556bd21b in emacs_abort () at sysdep.c:2391 No locals. #2 0x00005555556690c8 in cmcheckmagic (tty=0x555559440cd0) at cm.c:117 No locals. #3 0x000055555566d5da in tty_write_glyphs (f=0x555559804e78, string=0x55555a7b2b20, len=89) at term.c:819 conversion_buffer = 0x555559a45390 "Garbage collecting...done", ' ' <repeats 104 times>, '-' <repeats 71 times>... coding = 0x555558e09500 n = 89 stringlen = 0 tty = 0x555559440cd0 #4 0x000055555567796e in write_glyphs (f=0x555559804e78, string=0x55555a7b1a70, len=89) at terminal.c:163 No locals. #5 0x00005555555918dd in update_frame_line (f=0x555559804e78, vpos=4, updating_menu_p=false) at dispnew.c:5318 obody = 0x0 nbody = 0x55555a7b1a70 op1 = 0x400000011 op2 = 0x5555596adb19 np1 = 0x4 nend = 0x55555a7b2b20 tem = 21845 osp = 0 nsp = 0 begmatch = 4 endmatch = 0 olen = 0 nlen = 89 current_matrix = 0x5555597e6f10 desired_matrix = 0x5555597e6ca0 current_row = 0x55555a1d03f0 desired_row = 0x555559f184f0 must_write_whole_line_p = true write_spaces_p = true colored_spaces_p = true #6 0x00005555555909c8 in update_frame_1 (f=0x555559804e78, force_p=true, inhibit_id_p=false, set_cursor_p=true, updating_menu_p=false) at dispnew.c:4977 current_matrix = 0x5555597e6f10 desired_matrix = 0x5555597e6ca0 i = 0 pause_p = 85 preempt_count = 17 #7 0x000055555558cf32 in update_frame (f=0x555559804e78, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3343 paused_p = false root_window = 0x55555a5513d0 #8 0x00005555555cf5a2 in redisplay_internal () at xdisp.c:17464 gcscrollbars = true f_redisplay_flag = true f = 0x555559804e78 w = 0x555559805098 sw = 0x555559805098 fr = 0x555559804e78 pending = false must_finish = true match_p = true tlbufpos = { --Type <RET> for more, q to quit, c to continue without paging-- charpos = 144, bytepos = 146 } tlendpos = { charpos = 0, bytepos = 0 } number_of_visible_frames = 3 sf = 0x555559804e78 polling_stopped_here = true tail = XIL(0x55555a151ba3) frame = XIL(0x555559804e7d) MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = 0 MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = 0 consider_all_windows_p = true update_miniwindow_p = false count = { bytes = 192 } #9 0x00005555555cfec8 in redisplay_preserve_echo_area (from_where=11) at xdisp.c:17743 count = { bytes = 160 } #10 0x00005555557edd9c in wait_reading_process_output (time_limit=0, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5585 process_skipped = false wrapped = false channel_start = 21845 child_fd = 6 last_read_channel = 9 channel = 1024 nfds = -1 Available = { fds_bits = {1904, 0 <repeats 15 times>} } Writeok = { fds_bits = {0 <repeats 16 times>} } check_write = true check_delay = 0 no_avail = true xerrno = 4 proc = XIL(0xa00000fff) timeout = { tv_sec = 100000, tv_nsec = 0 } end_time = { tv_sec = 0, tv_nsec = 9 } timer_delay = { tv_sec = 0, tv_nsec = 177869602 --Type <RET> for more, q to quit, c to continue without paging-- } got_output_end_time = { tv_sec = 1717171357, tv_nsec = 936340967 } MINIMUM = MINIMUM TIMEOUT = TIMEOUT FOREVER = FOREVER wait = FOREVER got_some_output = -1 prev_wait_proc_nbytes_read = 0 retry_for_async = false count = { bytes = 128 } now = { tv_sec = 0, tv_nsec = -1 } #11 0x0000555555697f8c in kbd_buffer_get_event (kbp=0x7fffffffd168, used_mouse_menu=0x7fffffffd7ef, end_time=0x0) at keyboard.c:4079 do_display = true obj = make_fixnum(192346546) str = XIL(0x66586ddf) #12 0x0000555555693a41 in read_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffd5b0, used_mouse_menu=0x7fffffffd7ef) at keyboard.c:2330 c = XIL(0) save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 16 times>} } }} kb = 0x55555957d730 count = { bytes = 96 } #13 0x0000555555693d45 in read_decoded_event_from_main_queue (end_time=0x0, local_getcjmp=0x7fffffffd5b0, prev_event=XIL(0), used_mouse_menu=0x7fffffffd7ef) at keyboard.c:2394 nextevt = XIL(0) frame = 0x2 terminal = 0x100000000 events = {XIL(0x555555f45d00), XIL(0), XIL(0), XIL(0x7fffffffd340), make_fixnum(23456248378305), XIL(0x55699747), XIL(0x7fffffffd370), XIL(0x5555556909b3), make_fixnum(10737418240), XIL(0x55555898e163), XIL(0), XIL(0), XIL(0x7fffffffd3a0), make_fixnum(23456248388673), XIL(0), XIL(0x1ffffd3a0)} n = 0 #14 0x0000555555695664 in read_char (commandflag=1, map=XIL(0x55555a1f4743), prev_event=XIL(0), used_mouse_menu=0x7fffffffd7ef, end_time=0x0) at keyboard.c:3015 c = XIL(0) local_getcjmp = {{ __jmpbuf = {0, 8694036146570251371, 0, 140737488347200, 93824996002072, 140737354125344, 8694036146555571307, 3310777819825425515}, __mask_was_saved = 0, __saved_mask = { __val = {140737488344592, 93824993651716, 93825043254451, 140737488344752, 93824993673997, 93825002659072, 0, 0, 140737488344656, 93824994408529, 1475744592, 140737488344752, 93824994453182, 93825072580403, 96, 140737488344752} } }} save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 16 times>} } }} tem = XIL(0x30) save = XIL(0x5555577c8650) previous_echo_area_message = XIL(0) also_record = XIL(0) reread = false recorded = false polling_stopped_here = true orig_kboard = 0x55555957d730 jmpcount = { bytes = 96 } #15 0x00005555556a67ff in read_key_sequence (keybuf=0x7fffffffda00, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 interrupted_kboard = 0x55555957d730 interrupted_frame = 0x555559804e78 key = XIL(0x30) used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = XIL(0) count = { bytes = 96 } t = 0 echo_start = 0 keys_start = 0 current_binding = XIL(0x55555a1f4743) first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = { parent = XIL(0x55555a152853), map = XIL(0x55555a152853), start = 0, end = 0 } keytran = { parent = XIL(0x7ffff210cd0b), map = XIL(0x7ffff210cd0b), start = 0, end = 0 } indec = { parent = XIL(0x55555a152863), map = XIL(0x55555a152863), start = 0, end = 0 } shift_translated = false delayed_switch_frame = XIL(0) original_uppercase = XIL(0) original_uppercase_position = -1 starting_buffer = 0x55555945d930 fake_prefixed_keys = XIL(0) first_event = XIL(0) second_event = XIL(0) #16 0x0000555555690ee7 in command_loop_1 () at keyboard.c:1429 cmd = XIL(0x2aaa9ba1c080) keybuf = {XIL(0x55555a1f3963), make_fixnum(91), make_fixnum(60), XIL(0x7ffff2133eb0), XIL(0x7fffffffdad0), XIL(0xed30), XIL(0x55555945d930), XIL(0), XIL(0), XIL(0x555555f54a30), XIL(0x5555557440a7), XIL(0x30), XIL(0x7fffffffdaf0), XIL(0x55555574b151), XIL(0x55555945d935), XIL(0x200000000), XIL(0x30), XIL(0xed30), XIL(0x7ffff18d8a15), XIL(0x7ffff2133eb0), XIL(0x555555767ec4), XIL(0x7ffff18d8a15), XIL(0x3), XIL(0xed30), XIL(0x555555f54a30), XIL(0xed30), XIL(0x7fffffffdaf0), XIL(0x555555f54a30), XIL(0x555555767851), XIL(0x30)} i = 1 last_pt = 144 prev_modiff = 108 prev_buffer = 0x55555945d930 #17 0x000055555576c6cf in internal_condition_case (bfun=0x555555690ab8 <command_loop_1>, handlers=XIL(0x90), hfun=0x55555568ff63 <cmd_error>) at eval.c:1613 val = make_fixnum(23456248378305) c = 0x5555560383a0 #18 0x0000555555690696 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 val = make_fixnum(0) #19 0x000055555576bafc in internal_catch (tag=XIL(0xfc60), func=0x55555569066c <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 val = XIL(0x7fffffffdd10) c = 0x5555560bfda0 #20 0x0000555555690628 in command_loop () at keyboard.c:1146 No locals. #21 0x000055555568fa05 in recursive_edit_1 () at keyboard.c:754 count = { bytes = 32 } val = make_fixnum(23456248612809) #22 0x000055555568fc31 in Frecursive_edit () at keyboard.c:837 count = { bytes = 0 } buffer = XIL(0) #23 0x000055555568b698 in main (argc=2, argv=0x7fffffffe028) at emacs.c:2621 stack_bottom_variable = 0x0 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 = 1 temacs = 0x0 attempt_load_pdump = true only_version = false rlim = { rlim_cur = 10022912, rlim_max = 18446744073709551615 } lc_all = 0x0 sockfd = -1 module_assertions = false (gdb) (gdb) cont Continuing. Fatal error 6: Aborted Backtrace: /opt/dc/emacs/bin/emacs(+0x1691ad)[0x5555556bd1ad] /opt/dc/emacs/bin/emacs(+0x1344a8)[0x5555556884a8] /opt/dc/emacs/bin/emacs(+0x16921b)[0x5555556bd21b] /opt/dc/emacs/bin/emacs(+0x1150c8)[0x5555556690c8] /opt/dc/emacs/bin/emacs(+0x1195da)[0x55555566d5da] /opt/dc/emacs/bin/emacs(+0x12396e)[0x55555567796e] /opt/dc/emacs/bin/emacs(+0x3d8dd)[0x5555555918dd] /opt/dc/emacs/bin/emacs(+0x3c9c8)[0x5555555909c8] /opt/dc/emacs/bin/emacs(+0x38f32)[0x55555558cf32] /opt/dc/emacs/bin/emacs(+0x7b5a2)[0x5555555cf5a2] /opt/dc/emacs/bin/emacs(+0x7bec8)[0x5555555cfec8] /opt/dc/emacs/bin/emacs(+0x299d9c)[0x5555557edd9c] /opt/dc/emacs/bin/emacs(+0x143f8c)[0x555555697f8c] /opt/dc/emacs/bin/emacs(+0x13fa41)[0x555555693a41] /opt/dc/emacs/bin/emacs(+0x13fd45)[0x555555693d45] /opt/dc/emacs/bin/emacs(+0x141664)[0x555555695664] /opt/dc/emacs/bin/emacs(+0x1527ff)[0x5555556a67ff] /opt/dc/emacs/bin/emacs(+0x13cee7)[0x555555690ee7] /opt/dc/emacs/bin/emacs(+0x2186cf)[0x55555576c6cf] /opt/dc/emacs/bin/emacs(+0x13c696)[0x555555690696] /opt/dc/emacs/bin/emacs(+0x217afc)[0x55555576bafc] /opt/dc/emacs/bin/emacs(+0x13c628)[0x555555690628] /opt/dc/emacs/bin/emacs(+0x13ba05)[0x55555568fa05] /opt/dc/emacs/bin/emacs(+0x13bc31)[0x55555568fc31] /opt/dc/emacs/bin/emacs(+0x137698)[0x55555568b698] /lib/x86_64-linux-gnu/libc.so.6(+0x2724a)[0x7ffff544624a] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85)[0x7ffff5446305] /opt/dc/emacs/bin/emacs(+0x30831)[0x555555584831] Program received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo <at> entry=6, no_tid=no_tid <at> entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. ------- BT2 follows: (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 #1 0x00005555556bd753 in emacs_abort () at sysdep.c:2391 #2 0x0000555555669600 in cmcheckmagic (tty=0x555559add090) at cm.c:117 #3 0x000055555566db12 in tty_write_glyphs (f=0x555559656eb8, string=0x555559b01640, len=89) at term.c:819 #4 0x0000555555677ea6 in write_glyphs (f=0x555559656eb8, string=0x555559b00590, len=89) at terminal.c:163 #5 0x000055555559190c in update_frame_line (f=0x555559656eb8, vpos=23, updating_menu_p=false) at dispnew.c:5319 #6 0x0000555555590b4f in update_frame_1 (f=0x555559656eb8, force_p=true, inhibit_id_p=true, set_cursor_p=true, updating_menu_p=false) at dispnew.c:5006 #7 0x000055555558cf61 in update_frame (f=0x555559656eb8, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3344 #8 0x00005555555c9e6b in echo_area_display (update_frame_p=true) at xdisp.c:13450 #9 0x00005555555c5e25 in message3_nolog (m=XIL(0x555559ced434)) at xdisp.c:12348 #10 0x00005555555c5ed1 in message1_nolog (m=0x55555586f2d6 "Garbage collecting...") at xdisp.c:12376 #11 0x00005555557323f2 in garbage_collect () at alloc.c:6587 #12 0x0000555555732189 in maybe_garbage_collect () at alloc.c:6507 #13 0x0000555555769407 in maybe_gc () at /w/emacs/src/lisp.h:5927 #14 0x00005555557709e8 in Ffuncall (nargs=2, args=0x7fffffff6c10) at eval.c:3088 #15 0x0000555555782d94 in mapcar1 (leni=5, vals=0x7fffffff6ca0, fn=XIL(0x5555594a6cad), seq=XIL(0x555559cf4e23)) at fns.c:3346 #16 0x000055555578350b in Fmapcar (function=XIL(0x5555594a6cad), sequence=XIL(0x555559cf4e23)) at fns.c:3466 #17 0x00007fffefe942ec in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln #18 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=3, args=0x7fffffff7078) at eval.c:3165 #19 0x0000555555770728 in funcall_general (fun=XIL(0x5555565608dd), numargs=3, args=0x7fffffff7078) at eval.c:3040 #20 0x0000555555770a31 in Ffuncall (nargs=4, args=0x7fffffff7070) at eval.c:3093 #21 0x00007fffefe93dd9 in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln #22 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=1, args=0x7fffffff72d8) at eval.c:3165 #23 0x0000555555770728 in funcall_general (fun=XIL(0x5555565608dd), numargs=1, args=0x7fffffff72d8) at eval.c:3040 #24 0x0000555555770a31 in Ffuncall (nargs=2, args=0x7fffffff72d0) at eval.c:3093 #25 0x00007fffefe94496 in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln #26 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=1, args=0x7fffffff7578) at eval.c:3165 #27 0x0000555555770728 in funcall_general (fun=XIL(0x5555565608dd), numargs=1, args=0x7fffffff7578) at eval.c:3040 #28 0x0000555555770a31 in Ffuncall (nargs=2, args=0x7fffffff7570) at eval.c:3093 #29 0x00007fffefe94153 in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln #30 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=1, args=0x7fffffff77f8) at eval.c:3165 #31 0x0000555555770728 in funcall_general (fun=XIL(0x5555565608dd), numargs=1, args=0x7fffffff77f8) at eval.c:3040 #32 0x0000555555770a31 in Ffuncall (nargs=2, args=0x7fffffff77f0) at eval.c:3093 #33 0x00007fffefe94153 in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln […] (gdb) xbacktrace "Automatic GC" (0x0) 0x594a6ca8 PVEC_CLOSURE "regexp-opt-group" (0xffff7078) "regexp-opt-group" (0xffff72d8) "regexp-opt-group" (0xffff7578) "regexp-opt-group" (0xffff77f8) "regexp-opt-group" (0xffff7a78) "regexp-opt-group" (0xffff7cc8) "regexp-opt-group" (0xffff7f78) "regexp-opt-group" (0xffff81d8) "regexp-opt-group" (0xffff8458) "regexp-opt" (0xffff84e0) "concat" (0xffff8690) "list" (0xffff87f0) "eval" (0xffff8a48) "font-lock-compile-keyword" (0xffff8c98) "font-lock-compile-keywords" (0xffff9018) "font-lock-add-keywords" (0xffff90e0) "dired-filetype-set-omit2-face" (0xffff92b0) "dired-filetype-face-mode-func" (0xffff9670) "run-hooks" (0xffff99b8) "apply" (0xffff99b0) "run-mode-hooks" (0xffff9b68) "dired-mode" (0xffff9f98) "dired-internal-noselect" (0xffffa218) "dired-noselect" (0xffffa3b8) "dired" (0xffffa420) "progn" (0xffffa5e0) "eval" (0xffffa838) "server-eval-and-print" (0xffffaa10) "server-execute" (0xf05ff038) 0x5952ea38 PVEC_CLOSURE "server-execute-continuation" (0xffffb320) "server--process-filter" (0xffffb508) "server-process-pending-filters" (0xffffb690) "server-process-filter" (0xffffb808) (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 No locals. #1 0x00005555556bd753 in emacs_abort () at sysdep.c:2391 No locals. #2 0x0000555555669600 in cmcheckmagic (tty=0x555559add090) at cm.c:117 No locals. #3 0x000055555566db12 in tty_write_glyphs (f=0x555559656eb8, string=0x555559b01640, len=89) at term.c:819 conversion_buffer = 0x555559630960 " All (4,0) (Lisp Interaction hs Helm Projectile yas E" coding = 0x55555955e1a0 n = 62 stringlen = 0 tty = 0x555559add090 #4 0x0000555555677ea6 in write_glyphs (f=0x555559656eb8, string=0x555559b00590, len=89) at terminal.c:163 No locals. #5 0x000055555559190c in update_frame_line (f=0x555559656eb8, vpos=23, updating_menu_p=false) at dispnew.c:5319 obody = 0x0 nbody = 0x555559b00590 op1 = 0x555559cedb0d op2 = 0x555559b026f0 np1 = 0x7fffffff nend = 0x555559b01640 tem = 21845 osp = 32767 nsp = -241485384 begmatch = 0 endmatch = 0 olen = 0 nlen = 89 current_matrix = 0x55555962dbf0 desired_matrix = 0x5555597edb70 current_row = 0x555559b22568 desired_row = 0x555559b20d28 must_write_whole_line_p = true write_spaces_p = true colored_spaces_p = true #6 0x0000555555590b4f in update_frame_1 (f=0x555559656eb8, force_p=true, inhibit_id_p=true, set_cursor_p=true, updating_menu_p=false) at dispnew.c:5006 current_matrix = 0x55555962dbf0 desired_matrix = 0x5555597edb70 i = 23 pause_p = 85 preempt_count = 17 #7 0x000055555558cf61 in update_frame (f=0x555559656eb8, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3344 paused_p = false root_window = 0x555559195518 #8 0x00005555555c9e6b in echo_area_display (update_frame_p=true) at xdisp.c:13450 n = 1 mini_window = XIL(0x555559355f3d) w = 0x555559355f38 f = 0x555559656eb8 window_height_changed_p = false sf = 0x555559656eb8 #9 0x00005555555c5e25 in message3_nolog (m=XIL(0x555559ced434)) at xdisp.c:12348 mini_window = XIL(0x555559355f3d) frame = XIL(0x555559656ebd) f = 0x555559656eb8 sf = 0x555559656eb8 #10 0x00005555555c5ed1 in message1_nolog (m=0x55555586f2d6 "Garbage collecting...") at xdisp.c:12376 No locals. --Type <RET> for more, q to quit, c to continue without paging-- #11 0x00005555557323f2 in garbage_collect () at alloc.c:6587 tail = XIL(0) buffer = XIL(0x5555597db9a5) stack_top_variable = 0 '\000' message_p = false count = { bytes = 1856 } start = { tv_sec = 1717148909, tv_nsec = 458539226 } tot_before = 18446744073709551615 visitor = { visit = 0x7fffffff6aa0, data = 0x555555731fab <consing_threshold+116> } #12 0x0000555555732189 in maybe_garbage_collect () at alloc.c:6507 No locals. #13 0x0000555555769407 in maybe_gc () at /w/emacs/src/lisp.h:5927 No locals. #14 0x00005555557709e8 in Ffuncall (nargs=2, args=0x7fffffff6c10) at eval.c:3088 count = { bytes = 1824 } val = XIL(0x7fffffff6b40) #15 0x0000555555782d94 in mapcar1 (leni=5, vals=0x7fffffff6ca0, fn=XIL(0x5555594a6cad), seq=XIL(0x555559cf4e23)) at fns.c:3346 dummy = XIL(0x7fffffff6c90) i = 0 tail = XIL(0x555559cf4e23) #16 0x000055555578350b in Fmapcar (function=XIL(0x5555594a6cad), sequence=XIL(0x555559cf4e23)) at fns.c:3466 sa_avail = 16344 sa_count = { bytes = 1824 } leni = 5 args = 0x7fffffff6ca0 nmapped = 93825006193085 ret = make_fixnum(0) #17 0x00007fffefe942ec in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln No symbol table info available. #18 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=3, args=0x7fffffff7078) at eval.c:3165 argbuf = {XIL(0x5555565608dd), XIL(0x7fffffff6ec0), XIL(0x555555f45d00), XIL(0), XIL(0), XIL(0x12ffff6ee0), XIL(0x5555565608dd), XIL(0x7fffffff6ef0)} a = 0x7fffffff7078 maxargs = 3 fun = XIL(0x5555565608dd) #19 0x0000555555770728 in funcall_general (fun=XIL(0x5555565608dd), numargs=3, args=0x7fffffff7078) at eval.c:3040 original_fun = XIL(0x664550) #20 0x0000555555770a31 in Ffuncall (nargs=4, args=0x7fffffff7070) at eval.c:3093 count = { bytes = 1792 } val = XIL(0x555559ceac51) #21 0x00007fffefe93dd9 in F7265676578702d6f70742d67726f7570_regexp_opt_group_0 () from /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln No symbol table info available. #22 0x0000555555770dbb in funcall_subr (subr=0x5555565608d8, numargs=1, args=0x7fffffff72d8) at eval.c:3165 […] (gdb) cont Continuing. Fatal error 6: Aborted Backtrace: /opt/dc/emacs/bin/emacs(+0x1696e5)[0x5555556bd6e5] /opt/dc/emacs/bin/emacs(+0x1349e0)[0x5555556889e0] /opt/dc/emacs/bin/emacs(+0x169753)[0x5555556bd753] /opt/dc/emacs/bin/emacs(+0x115600)[0x555555669600] /opt/dc/emacs/bin/emacs(+0x119b12)[0x55555566db12] /opt/dc/emacs/bin/emacs(+0x123ea6)[0x555555677ea6] /opt/dc/emacs/bin/emacs(+0x3d90c)[0x55555559190c] /opt/dc/emacs/bin/emacs(+0x3cb4f)[0x555555590b4f] /opt/dc/emacs/bin/emacs(+0x38f61)[0x55555558cf61] /opt/dc/emacs/bin/emacs(+0x75e6b)[0x5555555c9e6b] /opt/dc/emacs/bin/emacs(+0x71e25)[0x5555555c5e25] /opt/dc/emacs/bin/emacs(+0x71ed1)[0x5555555c5ed1] /opt/dc/emacs/bin/emacs(+0x1de3f2)[0x5555557323f2] /opt/dc/emacs/bin/emacs(+0x1de189)[0x555555732189] /opt/dc/emacs/bin/emacs(+0x215407)[0x555555769407] /opt/dc/emacs/bin/emacs(+0x21c9e8)[0x5555557709e8] /opt/dc/emacs/bin/emacs(+0x22ed94)[0x555555782d94] /opt/dc/emacs/bin/emacs(+0x22f50b)[0x55555578350b] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0x9dc)[0x7fffefe942ec] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] /opt/dc/emacs/bin/emacs(+0x21ca31)[0x555555770a31] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0x4c9)[0x7fffefe93dd9] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] /opt/dc/emacs/bin/emacs(+0x21ca31)[0x555555770a31] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0xb86)[0x7fffefe94496] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] /opt/dc/emacs/bin/emacs(+0x21ca31)[0x555555770a31] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0x843)[0x7fffefe94153] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] /opt/dc/emacs/bin/emacs(+0x21ca31)[0x555555770a31] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0x843)[0x7fffefe94153] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] /opt/dc/emacs/bin/emacs(+0x21ca31)[0x555555770a31] /opt/dc/emacs/lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/regexp-opt-d2355c94-055998f3.eln(F7265676578702d6f70742d67726f7570_regexp_opt_group_0+0x843)[0x7fffefe94153] /opt/dc/emacs/bin/emacs(+0x21cdbb)[0x555555770dbb] /opt/dc/emacs/bin/emacs(+0x21c728)[0x555555770728] ... Program received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo <at> entry=6, no_tid=no_tid <at> entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) cont Continuing. Program terminated with signal SIGABRT, Aborted. The program no longer exists. ------ build info In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu) of 2024-05-29 built on sonn Repository revision: d9512da49514623ef3e35524dc894c06f2c0ce20 Repository branch: master System Description: Devuan GNU/Linux 5 (daedalus) Configured using: 'configure --prefix=/opt/dc/emacs/ --without-dbus --with-tiff=no --without-tiff --without-libsystemd --without-dbus --with-mailutils --with-native-compilation --with-x-toolkit=no --without-imagemagick --without-xft --without-harfbuzz --without-freetype --without-libotf --without-xwidgets --without-xpm --without-jpeg --without-gif --without-png --without-webp --without-rsvg --without-cairo --without-x --enable-checking=yes,glyphs 'CFLAGS=-g3 -O0'' Configured features: GMP GNUTLS LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER SECCOMP SOUND SQLITE3 THREADS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=SCIM locale-coding-system: utf-8-unix Major mode: Dired by name Minor modes in effect: xterm-mouse-mode: t erc-track-mode: t erc-services-mode: t erc-ring-mode: t erc-netsplit-mode: t erc-menu-mode: t erc-match-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-readonly-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-autojoin-mode: t erc-networks-mode: t gnus-dired-mode: t savehist-mode: t recentf-mode: t hexl-follow-ascii: t helm-mode: t helm-minibuffer-history-mode: t async-bytecomp-package-mode: t global-git-commit-mode: t server-mode: t jdecomp-mode: t projectile-mode: t global-semantic-decoration-mode: t global-semanticdb-minor-mode: t global-semantic-show-unmatched-syntax-mode: -1 semantic-mode: t rcirc-track-minor-mode: t jabber-activity-mode: t yas-global-mode: t yas-minor-mode: t unpackaged/org-export-html-with-useful-ids-mode: t minibuffer-depth-indicate-mode: t global-so-long-mode: t display-time-mode: t global-hl-line-mode: t xclip-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /w/helm/helm-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-files /w/helm/helm-comint hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-comint /w/helm/helm-elisp-package hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp-package /w/helm/helm-external hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-external /w/helm/helm-easymenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-easymenu /w/helm/helm-font hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-font /w/helm/helm-imenu hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-imenu /w/helm/helm-x-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-x-files /w/helm/helm-regexp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-regexp /w/helm/helm-net hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-net /w/helm/helm-ring hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-ring /w/helm/helm-find hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-find /w/helm/helm-misc hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-misc /w/helm/helm-occur hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-occur /w/helm/helm-sys hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-sys /w/helm/helm-types hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-types /w/helm/helm-elisp hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-elisp /w/helm/helm-adaptive hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-adaptive /w/helm/helm-shell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-shell /w/helm/helm-id-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-id-utils /w/helm/helm-bookmark hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-bookmark /w/helm/helm-mode hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-mode /w/helm/helm-eshell hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eshell /w/helm/helm-dabbrev hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-dabbrev /w/helm/helm-grep hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-grep /w/helm/helm-color hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-color /w/helm/helm-help hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-help /w/helm/helm-buffers hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-buffers /w/helm/helm-locate hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-locate /w/helm/helm-tags hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-tags /w/helm/helm-autoloads hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-autoloads /w/helm/helm-info hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-info /w/helm/helm-semantic hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-semantic /w/helm/helm-config hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-config /w/helm/helm-command hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-command /w/helm/helm-utils hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-utils /w/helm/helm-eval hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-eval /w/helm/helm-for-files hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-for-files /w/helm/helm-man hides /home/dc/.emacs.d/elpa/helm-20191101.641/helm-man /w/helm/helm-multi-match hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-multi-match /w/helm/helm-lib hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-lib /w/helm/helm-source hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm-source /w/helm/helm hides /home/dc/.emacs.d/elpa/helm-core-20191031.1931/helm /home/dc/.emacs.d/elpa/transient-20220717.1713/transient hides /opt/dc/emacs/share/emacs/30.0.50/lisp/transient /w/org-mode/lisp/org-fold-core hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold-core /w/org-mode/lisp/ob-haskell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-haskell /w/org-mode/lisp/org-plot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-plot /w/org-mode/lisp/ox-icalendar hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-icalendar /w/org-mode/lisp/org-footnote hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-footnote /w/org-mode/lisp/org-archive hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-archive /w/org-mode/lisp/ob-exp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-exp /w/org-mode/lisp/ob-octave hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-octave /w/org-mode/lisp/oc-natbib hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-natbib /w/org-mode/lisp/org-num hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-num /w/org-mode/lisp/ob-processing hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-processing /w/org-mode/lisp/org-mouse hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mouse /w/org-mode/lisp/ob-core hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-core /w/org-mode/lisp/ob-awk hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-awk /w/org-mode/lisp/org-table hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-table /w/org-mode/lisp/org-lint hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-lint /w/org-mode/lisp/oc-basic hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-basic /w/org-mode/lisp/ob-scheme hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-scheme /w/org-mode/lisp/ox-latex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-latex /w/org-mode/lisp/org-loaddefs hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-loaddefs /w/org-mode/lisp/ob-table hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-table /w/org-mode/lisp/ob-shell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-shell /w/org-mode/lisp/org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org /w/org-mode/lisp/ol-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-man /w/org-mode/lisp/ol-rmail hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-rmail /w/org-mode/lisp/ox-man hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-man /w/org-mode/lisp/org-cycle hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-cycle /w/org-mode/lisp/org-datetree hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-datetree /w/org-mode/lisp/ol-mhe hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-mhe /w/org-mode/lisp/ob-css hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-css /w/org-mode/lisp/org-fold hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-fold /w/org-mode/lisp/ob-lilypond hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lilypond /w/org-mode/lisp/ob-comint hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-comint /w/org-mode/lisp/ob-plantuml hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-plantuml /w/org-mode/lisp/ol-bbdb hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bbdb /w/org-mode/lisp/ox-ascii hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-ascii /w/org-mode/lisp/ob-python hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-python /w/org-mode/lisp/ob-ref hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ref /w/org-mode/lisp/ob-js hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-js /w/org-mode/lisp/ox-md hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-md /w/org-mode/lisp/oc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc /w/org-mode/lisp/org-keys hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-keys /w/org-mode/lisp/org-feed hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-feed /w/org-mode/lisp/org-capture hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-capture /w/org-mode/lisp/org-ctags hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-ctags /w/org-mode/lisp/ob-lob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lob /w/org-mode/lisp/ob-forth hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-forth /w/org-mode/lisp/ob-clojure hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-clojure /w/org-mode/lisp/ob-sass hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sass /w/org-mode/lisp/ol-eshell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eshell /w/org-mode/lisp/org-timer hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-timer /w/org-mode/lisp/ob-R hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-R /w/org-mode/lisp/org-src hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-src /w/org-mode/lisp/ox-koma-letter hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-koma-letter /w/org-mode/lisp/ob-tangle hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-tangle /w/org-mode/lisp/ob-matlab hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-matlab /w/org-mode/lisp/org-macro hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macro /w/org-mode/lisp/ob-makefile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-makefile /w/org-mode/lisp/ox-texinfo hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-texinfo /w/org-mode/lisp/ob-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-org /w/org-mode/lisp/ol-docview hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-docview /w/org-mode/lisp/org-list hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-list /w/org-mode/lisp/ob-eval hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eval /w/org-mode/lisp/org-element hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-element /w/org-mode/lisp/ob hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob /w/org-mode/lisp/ob-sqlite hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sqlite /w/org-mode/lisp/org-clock hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-clock /w/org-mode/lisp/org-compat hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-compat /w/org-mode/lisp/org-mobile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-mobile /w/org-mode/lisp/ol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol /w/org-mode/lisp/ob-groovy hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-groovy /w/org-mode/lisp/org-goto hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-goto /w/org-mode/lisp/ob-emacs-lisp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /w/org-mode/lisp/ol-eww hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-eww /w/org-mode/lisp/org-tempo hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-tempo /w/org-mode/lisp/oc-csl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-csl /w/org-mode/lisp/ob-ruby hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ruby /w/org-mode/lisp/org-crypt hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-crypt /w/org-mode/lisp/ol-irc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-irc /w/org-mode/lisp/org-faces hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-faces /w/org-mode/lisp/ob-latex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-latex /w/org-mode/lisp/org-colview hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-colview /w/org-mode/lisp/ol-bibtex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-bibtex /w/org-mode/lisp/ob-lua hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lua /w/org-mode/lisp/org-protocol hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-protocol /w/org-mode/lisp/org-attach-git hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach-git /w/org-mode/lisp/ob-screen hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-screen /w/org-mode/lisp/org-agenda hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-agenda /w/org-mode/lisp/org-persist hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-persist /w/org-mode/lisp/ob-sql hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sql /w/org-mode/lisp/ob-gnuplot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-gnuplot /w/org-mode/lisp/ob-sed hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-sed /w/org-mode/lisp/ol-gnus hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-gnus /w/org-mode/lisp/org-inlinetask hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-inlinetask /w/org-mode/lisp/ox-html hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-html /w/org-mode/lisp/oc-biblatex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-biblatex /w/org-mode/lisp/org-pcomplete hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-pcomplete /w/org-mode/lisp/ob-perl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-perl /w/org-mode/lisp/org-version hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-version /w/org-mode/lisp/org-indent hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-indent /w/org-mode/lisp/org-refile hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-refile /w/org-mode/lisp/ob-julia hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-julia /w/org-mode/lisp/ol-info hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-info /w/org-mode/lisp/ol-doi hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-doi /w/org-mode/lisp/org-habit hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-habit /w/org-mode/lisp/org-entities hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-entities /w/org-mode/lisp/ox-publish hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-publish /w/org-mode/lisp/org-duration hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-duration /w/org-mode/lisp/ob-ditaa hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ditaa /w/org-mode/lisp/ob-dot hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-dot /w/org-mode/lisp/ob-C hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-C /w/org-mode/lisp/ox-org hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-org /w/org-mode/lisp/ox-beamer hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-beamer /w/org-mode/lisp/ob-fortran hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-fortran /w/org-mode/lisp/ob-maxima hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-maxima /w/org-mode/lisp/ob-eshell hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-eshell /w/org-mode/lisp/ol-w3m hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ol-w3m /w/org-mode/lisp/org-id hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-id /w/org-mode/lisp/ox-odt hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox-odt /w/org-mode/lisp/ob-java hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-java /w/org-mode/lisp/ob-calc hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-calc /w/org-mode/lisp/org-attach hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-attach /w/org-mode/lisp/ob-ocaml hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-ocaml /w/org-mode/lisp/oc-bibtex hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/oc-bibtex /w/org-mode/lisp/ox hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ox /w/org-mode/lisp/ob-lisp hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/ob-lisp /w/org-mode/lisp/org-macs hides /opt/dc/emacs/share/emacs/30.0.50/lisp/org/org-macs /w/flim/sasl hides /opt/dc/emacs/share/emacs/30.0.50/lisp/net/sasl /home/dc/.emacs.d/elpa/hierarchy-20190425.842/hierarchy hides /opt/dc/emacs/share/emacs/30.0.50/lisp/emacs-lisp/hierarchy Features: (shadow emacsbug vc-mtn misearch multi-isearch winner tramp-archive tramp-gvfs solar cal-dst mule-util elmo-internal elmo-multi elmo-maildir modb-standard org-duration cal-iso vc-hg ffap vc-git vc-dispatcher oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi face-remap dired-aux xterm-keybinder xt-mouse term/rxvt term/xterm xterm hideshow ox-texinfo erc-track erc-services erc-ring erc-netsplit erc-menu erc-match erc-goodies erc-pcomplete erc-button erc-fill erc-stamp erc-join erc erc-backend erc-networks erc-common erc-compat erc-loaddefs quail rot13 git-link nukneval bustrofedon dired-filetype-face dired-tar gnus-dired dired-x mime-w3m w3m-lnum w3m w3m-hist bookmark-w3m w3m-ems w3m-favicon w3m-image w3m-fb tab-line w3m-proc w3m-util savehist tramp-cache time-stamp tramp-sh recentf tree-widget em-term term ehelp esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-groups esh-util zone-select zone org-location-google-maps google-maps google-maps-static google-maps-geocode google-maps-base beancount binview calc calc-loaddefs calc-macs hexl taskjuggler-mode generic generic-x boxquote rect rainbow-delimiters rainbow-mode htmlize-hack htmlize log4j-mode oddmuse skeleton doc-view jka-compr fc flashcard-sm5 flashcard keywiz gamegrid tt-mode helm-mode helm-misc helm-for-files helm-bookmark helm-adaptive magit-bookmark bookmark fringe helm-external helm-sys helm-net helm-man helm-color helm-elisp helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode exif tramp trampver tramp-integration files-x tramp-message tramp-compat tramp-loaddefs helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-info helm-utils helm-types helm-eval edebug helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async helm-config helm-autoloads diary-lib diary-loaddefs magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode track-changes git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base magit-section dash chuck-mode minizinc-mode jdecomp arc-mode archive-mode cus-edit cus-load projectile lisp-mnt ibuf-ext semantic/dep srecode/mode semantic/senator semantic/wisent semantic/wisent/wisent srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar dframe eieio-custom srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/fields srecode/table semantic/decorate/mode semantic/decorate pulse srecode semantic/db-mode semantic/idle semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db eieio-base semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet rcirc offlineimap sasl-xoauth2 oauth2 url-http url-auth url-gw nsm plstore crm wl-template wl-fldmgr wl-score wl-demo wl-thread wl-action wl wl-draft wl-folder elmo-nntp elmo-net elmo-cache elmo-map elmo-dop ps-print ps-print-loaddefs lpr elmo-filter wl-summary wl-refile wl-message wl-mime mime-play filename mime-edit mime-setup mail-mime-setup semi-setup smtp wl-e21 wl-highlight invisible inv-23 elmo-mime mmelmo-buffer mmelmo-imap mmimap mmbuffer mime-view mime-conf calist semi-def wl-address pldap wl-util wl-vars wl-version modb-generic elmo-flag elmo-localdir elmo elmo-signal elmo-msgdb modb modb-entity elmo-date eword-encode mime-parse mime mmgeneric elmo-util eword-decode mel mime-def alist pces pces-e20 pces-20 mcs-e20 mcs-20 mcharset timezone elmo-vars path-util elmo-version luna std11 pccl pccl-20 ccl broken static apel-ver product jabber jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-avatar jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse jabber-search jabber-register jabber-roster jabber-presence jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console sgml-mode facemenu jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls jabber-xml jabber-menu jabber-util goto-addr hexrgb markdown-mode color thingatpt yasnippet org-contacts gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range message sendmail yank-media puny dired dnd dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader mail-utils range mm-util mail-prsvr gnus-util org-crypt ob-sqlite ob-sql ob-shell shell ob-ruby ob-python python project compat ob-plantuml ob-perl ob-lilypond ob-js ob-haskell ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox ob-dot ob-ditaa ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-R org-attach org-protocol iimage org-clock calfw-gcal calfw-org org-capture org-agenda calfw edmacro kmacro holidays holiday-loaddefs cal-move org-inlinetask org-superstar org-element org-persist xdg avl-tree generator org-test ert-x ert pp ewoc debug backtrace org-id org-refile org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec ibuf-macs ibuffer ibuffer-loaddefs mb-depth comp comp-cstr warnings comp-run comp-common rx advice mwheel easy-mmode so-long longlines grep compile text-property-search comint regexp-opt ansi-osc ansi-color ring revbufs derived disp-table hide-mode-line time image hl-line color-theme wid-edit reporter xclip finder-inf elp boxquote-autoloads calfw-autoloads calfw-gcal-autoloads calfw-ical-autoloads calfw-org-autoloads csv-mode-autoloads debbugs-autoloads emacsql-psql-autoloads emacsql-autoloads emmet-mode-autoloads feature-mode-autoloads git-link-autoloads gnuplot-autoloads google-translate-autoloads haskell-mode-autoloads cl-extra help-mode helm-sql-connect-autoloads jabber-autoloads fsm-autoloads jdecomp-autoloads jedi-autoloads jedi-core-autoloads jinja2-mode-autoloads json-reformat-autoloads jsonian-autoloads magit-autoloads pcase git-commit-autoloads magit-section-autoloads mingus-autoloads libmpdee-autoloads mmm-jinja2-autoloads mmm-mode-autoloads oauth2-autoloads org-superstar-autoloads persist-autoloads projectile-autoloads python-environment-autoloads rcirc-color-autoloads srv-autoloads cl terraform-mode-autoloads tmr-autoloads transient-autoloads typescript-mode-autoloads vimrc-mode-autoloads vue-html-mode-autoloads with-editor-autoloads xclip-autoloads xterm-keybinder-autoloads yasnippet-autoloads zone-nyan-autoloads info tool-bar dash-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select 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 inotify lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1903347 344193) (symbols 48 71414 8) (strings 32 304262 23253) (string-bytes 1 10691310) (vectors 16 177537) (vector-slots 8 2898934 141458) (floats 8 1570 44647) (intervals 56 11266 581) (buffers 984 186))
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 11:18:02 GMT) Full text and rfc822 format available.Message #8 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 14:17:35 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Fri, 31 May 2024 10:18:35 +0000 > > Running emacs --fg-daemon under gdb, and TTY emacs, with glyph debug > enabled. Using my full .emacs, which includes things like (setq > garbage-collection-messages t). > > I reproduced this 2 times: > > 1. I opened 2 or 3 emacsclient (inside urxvt) and started resizing the > X window of one of them, and using it a bit (open org agenda). I admit > I used weird X window sizes that created a 1x1 terminal, but this > still worked. After some time playing with the X window size (but > without opening/closing X windows), this assert failed. > I was using urxvt with no customizations (i.e. I was seeing a scroll > bar etc.). In this case I used icewm (non-tiled window manager) with > no customizations. > > See BT1 below. > > > 2. I just ran emacs --fg-daemon inside gdb, and I opened my first TTY > frame, in a normal window of normal size; nothing weird (no 1x1 frames > etc). It immediately crashed; this never happened before. I'm using > wmii, urxvt (many customizations), and a command like urxvt -e > emacsclient '-nw' '-e' '(dired "~")' & > > See BT2 below. > > > Maybe it's because of trying the display the "Garbage > collecting...done" message in a small window? (BT1) or in window which > isn't fully initialized yet? (BT2) Thanks, but these backtraces are not enough, because they don't explain why was emacs_abort called. We need to see all the values involved in this condition: if (curX (tty) == FrameCols (tty)) { if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) <<<<<<<<<<< emacs_abort ();
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 17:10:01 GMT) Full text and rfc822 format available.Message #11 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 17:07:45 +0000
> Thanks, but these backtraces are not enough, because they don't > explain why was emacs_abort called. We need to see all the values > involved in this condition: > > if (curX (tty) == FrameCols (tty)) > { > if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) <<<<<<<<<<< > emacs_abort (); These were the variables just before emacs_abort, and (abort==1) when aborting. At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 0, vs. 3 - 1. Now tty has 3 rows, 14 cols At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 1, vs. 3 - 1. Now tty has 3 rows, 14 cols At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 3, vs. 3 - 1. Now tty has 3 rows, 14 cols I got them by adding: fprintf(stderr, "At point cmcheckmagic, ¿abort? %d. MagicWrap %d, curY %d, vs. %d - 1. Now tty has %d rows, %d cols\n", (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1), MagicWrap(tty), curY(tty), FrameRows(tty), FrameRows(tty), FrameCols(tty)); I forgot curX, which is: (gdb) p curX(tty) $1 = 14 To reproduce this I had to try many random operations. The last thing I did was increasing the size of an X window showing dired, from very small (1 line, ~10 cols to 3x14); this works well most of the time but this time this happened. Backtrace. (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 No locals. #1 0x00005555556bdab0 in emacs_abort () at sysdep.c:2391 No locals. #2 0x000055555566995d in cmcheckmagic (tty=0x5555572c4c90) at cm.c:124 No locals. #3 0x000055555566de6f in tty_write_glyphs (f=0x555561525f60, string=0x5555610141c0, len=14) at term.c:819 conversion_buffer = 0x55555f7e9160 "x \\ 3 dc dc) (Dired by name Helm Projectile yas) 7:39PM 0.41", ' ' <repeats 80 times>, "`UU" coding = 0x555559956cf0 n = 14 stringlen = 0 tty = 0x5555572c4c90 #4 0x0000555555678203 in write_glyphs (f=0x555561525f60, string=0x555561013f20, len=14) at terminal.c:163 No locals. #5 0x000055555559194a in update_frame_line (f=0x555561525f60, vpos=3, updating_menu_p=false) at dispnew.c:5321 obody = 0x0 nbody = 0x555561013f20 op1 = 0x300000011 op2 = 0x7fffffff78e0 np1 = 0x7ffff549ed90 <__GI___fflush_unlocked+48> nend = 0x5555610141c0 tem = 0 osp = 32767 nsp = -34592 begmatch = 32767 endmatch = -178330144 olen = 0 nlen = 14 current_matrix = 0x555560cad240 desired_matrix = 0x5555603cf860 current_row = 0x555560c681c8 desired_row = 0x55556045e7b8 must_write_whole_line_p = true write_spaces_p = true colored_spaces_p = true #6 0x0000555555590b8d in update_frame_1 (f=0x555561525f60, force_p=true, inhibit_id_p=false, set_cursor_p=true, updating_menu_p=false) at dispnew.c:5008 current_matrix = 0x555560cad240 desired_matrix = 0x5555603cf860 i = 3 pause_p = 85 preempt_count = 17 #7 0x000055555558cf9f in update_frame (f=0x555561525f60, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3346 paused_p = false root_window = 0x555560baa508 #8 0x00005555555cf876 in redisplay_internal () at xdisp.c:17478 gcscrollbars = true f_redisplay_flag = true f = 0x555561525f60 w = 0x555561526388 sw = 0x555561526388 fr = 0x555561525f60 pending = false must_finish = false match_p = false tlbufpos = { charpos = 0, bytepos = 116 } --Type <RET> for more, q to quit, c to continue without paging-- tlendpos = { charpos = 29241, bytepos = 29273 } number_of_visible_frames = 7 sf = 0x555561525f60 polling_stopped_here = true tail = XIL(0x5555614f3903) frame = XIL(0x555561525f65) MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = 0 MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = 0 consider_all_windows_p = true update_miniwindow_p = false count = { bytes = 2304 } #9 0x00005555555d01aa in redisplay_preserve_echo_area (from_where=11) at xdisp.c:17761 count = { bytes = 2272 } #10 0x00005555557ee631 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5585 process_skipped = false wrapped = false channel_start = 0 child_fd = 6 last_read_channel = 13 channel = 1024 nfds = -1 Available = { fds_bits = {8768089968, 0 <repeats 15 times>} } Writeok = { fds_bits = {0 <repeats 16 times>} } check_write = true check_delay = 1 no_avail = true xerrno = 4 proc = XIL(0xa00000fff) timeout = { tv_sec = 28, tv_nsec = 503054580 } end_time = { tv_sec = 1717173578, tv_nsec = 474082259 } timer_delay = { tv_sec = 0, tv_nsec = 502843472 } got_output_end_time = { tv_sec = 1717173578, tv_nsec = 474082259 } MINIMUM = MINIMUM TIMEOUT = TIMEOUT FOREVER = FOREVER wait = TIMEOUT --Type <RET> for more, q to quit, c to continue without paging-- got_some_output = -1 prev_wait_proc_nbytes_read = 0 retry_for_async = false count = { bytes = 2240 } now = { tv_sec = 1717173549, tv_nsec = 971027679 } #11 0x0000555555594f26 in sit_for (timeout=make_fixnum(30), reading=true, display_option=1) at dispnew.c:6321 sec = 30 nsec = 0 do_display = true curbuf_eq_winbuf = false nbytes = 21845 #12 0x0000555555695ae5 in read_char (commandflag=1, map=XIL(0x555560278023), prev_event=XIL(0), used_mouse_menu=0x7fffffff966f, end_time=0x0) at keyboard.c:2923 tem0 = XIL(0x555555770001) timeout = 30 count1 = { bytes = 2208 } delay_level = 4 buffer_size = 50 c = XIL(0) local_getcjmp = {{ __jmpbuf = {0, -8236620451292018264, 0, 140737168851264, 93825052522836, 0, -8236620451436721752, -2817863054631007832}, __mask_was_saved = 0, __saved_mask = { __val = {93464216335616, 139753184, 140737245531531, 93825002663168, 0, 0, 140737488327872, 93824993653913, 40800, 140737488327952, 93824993660639, 1, 0, 93464225410400, 96, 93825002663168} } }} save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 16 times>} } }} tem = XIL(0x5555557806e9) save = XIL(0x67e0) previous_echo_area_message = XIL(0) also_record = XIL(0) reread = false recorded = false polling_stopped_here = false orig_kboard = 0x555560b58160 jmpcount = { bytes = 2208 }
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 17:12:01 GMT) Full text and rfc822 format available.Message #14 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: 71289 <at> debbugs.gnu.org Cc: Eli Zaretskii <eliz <at> gnu.org> Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 17:09:29 +0000
While playing with resizing the urxvt terminal size (X window), I found other bugs where Emacs doesn't know the real size of the terminal, or becomes unsynchronized with the actual terminal size. This may cause many of the other bugs I've seen (things in the style of: the GC message wants to use 2 minibuffer lines because it thinks there are 2 lines, but actually there's just 1, etc.). The two resizing bugs I found (but I don't have time to research them in detail yet) are: - if the X terminal has 4 visible rows, FrameRows(tty) reports 4. If 3, then 3. But if it has 2 or 1 rows, Emacs still sees 3. And editing is garbled - if I decrease the terminal size fast, e.g. 81→71→61→51→41→31→21→11→1 lines, often Emacs doesn't notice all changes, and it may still report that FrameRows(tty) is e.g. 31 when it went further down to 1 (31→21→11→1) - in addition there's a more complex refresh bug (not about resizing I think), in which the next frame I focus after having killed a frame won't be refreshed (e.g. I can resize the X window and it doesn't notice, new sections appear black) until I press a key or move the mouse. It's 100% reproducible but I need to research this better because it involves window managers and X However I didn't see a direct crash from these issues. But maybe a GC message in some of these conditions can cause the alert. I may report them as separate bugs but in a while; I'm reporting too many TTY bugs and too fast; I need time for other things. I also saw a new type of TTY+GC error (not sure if it's the same issue as this bug): alloc.c:7517: Emacs fatal error: assertion failed: t->name != NULL Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 #1 0x000055555573591a in die (msg=0x55555586f838 "t->name != NULL", file=0x55555586e97e "alloc.c", line=7517) at alloc.c:8082 #2 0x00005555557346e8 in mark_terminals () at alloc.c:7517 #3 0x000055555573276c in garbage_collect () at alloc.c:6603 #4 0x00005555557324b0 in maybe_garbage_collect () at alloc.c:6507 #5 0x000055555576972e in maybe_gc () at /w/emacs/src/lisp.h:5927 #6 0x0000555555770d0f in Ffuncall (nargs=3, args=0x7fffffffcd60) at eval.c:3088 #7 0x000055555576d1f3 in internal_condition_case_n (bfun=0x555555770be2 <Ffuncall>, nargs=3, args=0x7fffffffcd60, handlers=XIL(0x30), hfun=0x555555770dd8 <safe_eval_handler>) at eval.c:1693 #8 0x0000555555770e96 in safe_funcall (nargs=3, args=0x7fffffffcd60) at eval.c:3121 #9 0x000055555569992f in timer_check_2 (timers=XIL(0x5555618fec33), idle_timers=XIL(0x5555618fec93)) at keyboard.c:4680 #10 0x0000555555699fa6 in timer_check () at keyboard.c:4851 #11 0x00005555557ee0d7 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5429 #12 0x0000555555594f0b in sit_for (timeout=make_fixnum(30), reading=true, display_option=1) at dispnew.c:6320 #13 0x0000555555695aaf in read_char (commandflag=1, map=XIL(0x555560403353), prev_event=XIL(0), used_mouse_menu=0x7fffffffd6df, end_time=0x0) at keyboard.c:2923 #14 0x00005555556a705e in read_key_sequence (keybuf=0x7fffffffd8f0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 #15 0x0000555555691746 in command_loop_1 () at keyboard.c:1429 #16 0x000055555576cf2e in internal_condition_case (bfun=0x555555691317 <command_loop_1>, handlers=XIL(0x90), hfun=0x5555556907c2 <cmd_error>) at eval.c:1613 #17 0x0000555555690ef5 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 #18 0x000055555576c35b in internal_catch (tag=XIL(0xfc60), func=0x555555690ecb <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 #19 0x0000555555690e87 in command_loop () at keyboard.c:1146 #20 0x0000555555690264 in recursive_edit_1 () at keyboard.c:754 #21 0x0000555555690490 in Frecursive_edit () at keyboard.c:837 #22 0x000055555568bef7 in main (argc=2, argv=0x7fffffffdf18) at emacs.c:2621 Lisp Backtrace: "Automatic GC" (0x0) "apply" (0xffffcd68) (gdb) frame 2 #2 0x00005555557346e8 in mark_terminals () at alloc.c:7517 7517 eassert (t->name != NULL); (gdb) list 7512 mark_terminals (void) 7513 { 7514 struct terminal *t; 7515 for (t = terminal_list; t; t = t->next_terminal) 7516 { 7517 eassert (t->name != NULL); 7518 #ifdef HAVE_WINDOW_SYSTEM 7519 /* If a terminal object is reachable from a stacpro'ed object, 7520 it might have been marked already. Make sure the image cache 7521 gets marked. */ (gdb) p *t $1 = { header = { size = -4611686018158710780 }, param_alist = XIL(0x555560405553), charset_list = XIL(0x7ffff20cc973), Vselection_alist = XIL(0), glyph_code_table = XIL(0x30), next_terminal = 0x5555607377d0, id = 89, reference_count = 1, type = output_termcap, name = 0x0, kboard = 0x5555613e5290, display_info = { tty = 0x5555610f7470, x = 0x5555610f7470, w32 = 0x5555610f7470, ns = 0x5555610f7470, pgtk = 0x5555610f7470, haiku = 0x5555610f7470, android = 0x5555610f7470 }, terminal_coding = 0x555560fc7090, keyboard_coding = 0x5555601bd1c0, rif = 0x0, cursor_to_hook = 0x55555566caa9 <tty_cursor_to>, raw_cursor_to_hook = 0x55555566cb85 <tty_raw_cursor_to>, clear_to_end_hook = 0x55555566cc47 <tty_clear_to_end>, clear_frame_hook = 0x55555566cd8a <tty_clear_frame>, clear_end_of_line_hook = 0x55555566cebf <tty_clear_end_of_line>, ins_del_lines_hook = 0x55555566e884 <tty_ins_del_lines>, insert_glyphs_hook = 0x55555566e14d <tty_insert_glyphs>, write_glyphs_hook = 0x55555566da86 <tty_write_glyphs>, delete_glyphs_hook = 0x55555566e5ff <tty_delete_glyphs>, ring_bell_hook = 0x55555566b913 <tty_ring_bell>, toggle_invisible_pointer_hook = 0x0, reset_terminal_modes_hook = 0x55555566be3e <tty_reset_terminal_modes>, set_terminal_modes_hook = 0x55555566bb56 <tty_set_terminal_modes>, update_begin_hook = 0x0, update_end_hook = 0x55555566c11b <tty_update_end>, set_terminal_window_hook = 0x55555566c1c2 <tty_set_terminal_window>, defined_color_hook = 0x55555567b346 <tty_defined_color>, query_frame_background_color = 0x0, mouse_position_hook = 0x0, get_focus_frame = 0x0, focus_frame_hook = 0x0, frame_rehighlight_hook = 0x0, frame_raise_lower_hook = 0x0, frame_visible_invisible_hook = 0x0, fullscreen_hook = 0x0, iconify_frame_hook = 0x0, set_window_size_hook = 0x0, set_frame_offset_hook = 0x0, set_frame_alpha_hook = 0x0, set_new_font_hook = 0x0, set_bitmap_icon_hook = 0x0, implicit_set_name_hook = 0x0, menu_show_hook = 0x555555674ccf <tty_menu_show>, popup_dialog_hook = 0x0, change_tab_bar_height_hook = 0x0, --Type <RET> for more, q to quit, c to continue without paging-- change_tool_bar_height_hook = 0x0, set_vertical_scroll_bar_hook = 0x0, set_horizontal_scroll_bar_hook = 0x0, set_scroll_bar_default_width_hook = 0x0, set_scroll_bar_default_height_hook = 0x0, condemn_scroll_bars_hook = 0x0, redeem_scroll_bar_hook = 0x0, judge_scroll_bars_hook = 0x0, read_socket_hook = 0x5555556a0938 <tty_read_avail_input>, frame_up_to_date_hook = 0x0, buffer_flipping_unblocked_hook = 0x0, get_string_resource_hook = 0x0, delete_frame_hook = 0x555555675a1d <tty_free_frame_resources>, delete_terminal_hook = 0x555555677738 <delete_tty>, toolkit_position_hook = 0x0 } (gdb) p *terminal_list $3 = { header = { size = -4611686018158710780 }, param_alist = XIL(0x55555fee8403), charset_list = XIL(0x7ffff20cc973), Vselection_alist = XIL(0), glyph_code_table = XIL(0x30), next_terminal = 0x555560e35800, id = 92, reference_count = 1, type = output_termcap, name = 0x55555ff67d90 "/dev/pts/25", kboard = 0x55555fae1fd0, display_info = { tty = 0x555560338010, x = 0x555560338010, w32 = 0x555560338010, ns = 0x555560338010, pgtk = 0x555560338010, haiku = 0x555560338010, android = 0x555560338010 }, terminal_coding = 0x55556071ba30, keyboard_coding = 0x55555fe518f0, rif = 0x0, cursor_to_hook = 0x55555566caa9 <tty_cursor_to>, raw_cursor_to_hook = 0x55555566cb85 <tty_raw_cursor_to>, clear_to_end_hook = 0x55555566cc47 <tty_clear_to_end>, clear_frame_hook = 0x55555566cd8a <tty_clear_frame>, clear_end_of_line_hook = 0x55555566cebf <tty_clear_end_of_line>, ins_del_lines_hook = 0x55555566e884 <tty_ins_del_lines>, insert_glyphs_hook = 0x55555566e14d <tty_insert_glyphs>, write_glyphs_hook = 0x55555566da86 <tty_write_glyphs>, delete_glyphs_hook = 0x55555566e5ff <tty_delete_glyphs>, ring_bell_hook = 0x55555566b913 <tty_ring_bell>, toggle_invisible_pointer_hook = 0x0, reset_terminal_modes_hook = 0x55555566be3e <tty_reset_terminal_modes>, set_terminal_modes_hook = 0x55555566bb56 <tty_set_terminal_modes>, update_begin_hook = 0x0, update_end_hook = 0x55555566c11b <tty_update_end>, set_terminal_window_hook = 0x55555566c1c2 <tty_set_terminal_window>, defined_color_hook = 0x55555567b346 <tty_defined_color>, query_frame_background_color = 0x0, mouse_position_hook = 0x0, get_focus_frame = 0x0, focus_frame_hook = 0x0, frame_rehighlight_hook = 0x0, frame_raise_lower_hook = 0x0, frame_visible_invisible_hook = 0x0, fullscreen_hook = 0x0, iconify_frame_hook = 0x0, set_window_size_hook = 0x0, set_frame_offset_hook = 0x0, set_frame_alpha_hook = 0x0, set_new_font_hook = 0x0, set_bitmap_icon_hook = 0x0, implicit_set_name_hook = 0x0, menu_show_hook = 0x555555674ccf <tty_menu_show>, popup_dialog_hook = 0x0, --Type <RET> for more, q to quit, c to continue without paging-- change_tab_bar_height_hook = 0x0, change_tool_bar_height_hook = 0x0, set_vertical_scroll_bar_hook = 0x0, set_horizontal_scroll_bar_hook = 0x0, set_scroll_bar_default_width_hook = 0x0, set_scroll_bar_default_height_hook = 0x0, condemn_scroll_bars_hook = 0x0, redeem_scroll_bar_hook = 0x0, judge_scroll_bars_hook = 0x0, read_socket_hook = 0x5555556a0938 <tty_read_avail_input>, frame_up_to_date_hook = 0x0, buffer_flipping_unblocked_hook = 0x0, get_string_resource_hook = 0x0, delete_frame_hook = 0x555555675a1d <tty_free_frame_resources>, delete_terminal_hook = 0x555555677738 <delete_tty>, toolkit_position_hook = 0x0 } (gdb) p t->terminal_list There is no member named terminal_list. (gdb) p t->next_terminal $4 = (struct terminal *) 0x5555607377d0 (gdb) p (struct terminal*) t->next_terminal $5 = (struct terminal *) 0x5555607377d0 (gdb) pp (struct terminal*) t->next_terminal A syntax error in expression, near `'. (gdb) p (struct terminal*) t->next_terminal $6 = (struct terminal *) 0x5555607377d0 (gdb) p *((struct terminal*) t->next_terminal) $7 = { header = { size = -4611686018158710780 }, param_alist = XIL(0x55555fc70803), charset_list = XIL(0x7ffff20cc973), Vselection_alist = XIL(0), glyph_code_table = XIL(0), next_terminal = 0x55556066a918, id = 27, reference_count = 1, type = output_termcap, name = 0x55555f922a80 "/dev/pts/18", kboard = 0x55555f52d030, display_info = { tty = 0x55555fae8700, x = 0x55555fae8700, w32 = 0x55555fae8700, ns = 0x55555fae8700, pgtk = 0x55555fae8700, haiku = 0x55555fae8700, android = 0x55555fae8700 }, terminal_coding = 0x55555e549f50, keyboard_coding = 0x55555a6b3d50, rif = 0x0, cursor_to_hook = 0x55555566caa9 <tty_cursor_to>, raw_cursor_to_hook = 0x55555566cb85 <tty_raw_cursor_to>, clear_to_end_hook = 0x55555566cc47 <tty_clear_to_end>, clear_frame_hook = 0x55555566cd8a <tty_clear_frame>, clear_end_of_line_hook = 0x55555566cebf <tty_clear_end_of_line>, ins_del_lines_hook = 0x55555566e884 <tty_ins_del_lines>, insert_glyphs_hook = 0x55555566e14d <tty_insert_glyphs>, write_glyphs_hook = 0x55555566da86 <tty_write_glyphs>, delete_glyphs_hook = 0x55555566e5ff <tty_delete_glyphs>, ring_bell_hook = 0x55555566b913 <tty_ring_bell>, toggle_invisible_pointer_hook = 0x0, reset_terminal_modes_hook = 0x55555566be3e <tty_reset_terminal_modes>, set_terminal_modes_hook = 0x55555566bb56 <tty_set_terminal_modes>, update_begin_hook = 0x0, update_end_hook = 0x55555566c11b <tty_update_end>, set_terminal_window_hook = 0x55555566c1c2 <tty_set_terminal_window>, defined_color_hook = 0x55555567b346 <tty_defined_color>, query_frame_background_color = 0x0, mouse_position_hook = 0x0, get_focus_frame = 0x0, focus_frame_hook = 0x0, frame_rehighlight_hook = 0x0, frame_raise_lower_hook = 0x0, frame_visible_invisible_hook = 0x0, fullscreen_hook = 0x0, iconify_frame_hook = 0x0, set_window_size_hook = 0x0, set_frame_offset_hook = 0x0, set_frame_alpha_hook = 0x0, set_new_font_hook = 0x0, set_bitmap_icon_hook = 0x0, implicit_set_name_hook = 0x0, menu_show_hook = 0x555555674ccf <tty_menu_show>, popup_dialog_hook = 0x0, --Type <RET> for more, q to quit, c to continue without paging-- change_tab_bar_height_hook = 0x0, change_tool_bar_height_hook = 0x0, set_vertical_scroll_bar_hook = 0x0, set_horizontal_scroll_bar_hook = 0x0, set_scroll_bar_default_width_hook = 0x0, set_scroll_bar_default_height_hook = 0x0, condemn_scroll_bars_hook = 0x0, redeem_scroll_bar_hook = 0x0, judge_scroll_bars_hook = 0x0, read_socket_hook = 0x5555556a0938 <tty_read_avail_input>, frame_up_to_date_hook = 0x0, buffer_flipping_unblocked_hook = 0x0, get_string_resource_hook = 0x0, delete_frame_hook = 0x555555675a1d <tty_free_frame_resources>, delete_terminal_hook = 0x555555677738 <delete_tty>, toolkit_position_hook = 0x0 } (gdb) p t $8 = (struct terminal *) 0x55556092b4e0 (gdb) p t->next_terminal $9 = (struct terminal *) 0x5555607377d0 (gdb) p terminal_list $10 = (struct terminal *) 0x55556146dcc0 (gdb)
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 18:19:02 GMT) Full text and rfc822 format available.Message #17 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 21:17:50 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Fri, 31 May 2024 17:07:45 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > Thanks, but these backtraces are not enough, because they don't > > explain why was emacs_abort called. We need to see all the values > > involved in this condition: > > > > if (curX (tty) == FrameCols (tty)) > > { > > if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) <<<<<<<<<<< > > emacs_abort (); > > > These were the variables just before emacs_abort, and (abort==1) when aborting. > > At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 0, vs. 3 - 1. Now > tty has 3 rows, 14 cols > At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 1, vs. 3 - 1. Now > tty has 3 rows, 14 cols > At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 3, vs. 3 - 1. Now > tty has 3 rows, 14 cols So you are saying that the terminal lies to us? It has 3 rows, but somehow wraps the cursor to the 4th row? What are the window and frame dimensions at this point?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 31 May 2024 18:28:01 GMT) Full text and rfc822 format available.Message #20 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 31 May 2024 21:26:41 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Fri, 31 May 2024 17:09:29 +0000 > Cc: Eli Zaretskii <eliz <at> gnu.org> > > While playing with resizing the urxvt terminal size (X window), I > found other bugs where Emacs doesn't know the real size of the > terminal, or becomes unsynchronized with the actual terminal size. > This may cause many of the other bugs I've seen (things in the style > of: the GC message wants to use 2 minibuffer lines because it thinks > there are 2 lines, but actually there's just 1, etc.). > > The two resizing bugs I found (but I don't have time to research them > in detail yet) are: > - if the X terminal has 4 visible rows, FrameRows(tty) reports 4. If > 3, then 3. But if it has 2 or 1 rows, Emacs still sees 3. And editing > is garbled > - if I decrease the terminal size fast, e.g. 81→71→61→51→41→31→21→11→1 > lines, often Emacs doesn't notice all changes, and it may still report > that FrameRows(tty) is e.g. 31 when it went further down to 1 > (31→21→11→1) > > - in addition there's a more complex refresh bug (not about resizing I > think), in which the next frame I focus after having killed a frame > won't be refreshed (e.g. I can resize the X window and it doesn't > notice, new sections appear black) until I press a key or move the > mouse. It's 100% reproducible but I need to research this better > because it involves window managers and X > > However I didn't see a direct crash from these issues. But maybe a GC > message in some of these conditions can cause the alert. > > I may report them as separate bugs but in a while; I'm reporting too > many TTY bugs and too fast; I need time for other things. > > I also saw a new type of TTY+GC error (not sure if it's the same issue > as this bug): Please investigate what happens with our SIGWINCH handler (in dispnew.c) in these cases.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 15:38:02 GMT) Full text and rfc822 format available.Message #23 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: 71289 <at> debbugs.gnu.org Cc: Eli Zaretskii <eliz <at> gnu.org> Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 15:36:05 +0000
Many of the backtraces I'm sending (more below) point to the same issue: resizing the terminal while the GC messages are being displayed can make the asserts fail. Depending on the time I 'catch' it it shows an error or another in the backtrace. I still don't have a way to reproduce this, but the following recipe seems to improve the chances: (setq garbage-collection-messages t) Then run some operation that clearly triggers GC. For instance I'm using this formula (better ideas welcome): (setq gc-cons-threshold 100000) (cl-loop for i from 3000000 downto 1 do (+ 2.00 (+ 2.0 (+ 2.0 (+ 2.0 (+ 2.0 2.0)))))) While that operation is running (you'll repeatedly see "Garbage collecting" "… done"), resize the terminal constantly until it crashes. But sometimes I can't reproduce it at all with this method! And never could I in emacs -Q But I'm getting tired of manually testing. I may have to automate the resizing. Anyway this is a very rare bug which probably only happens when GC messages are enabled, in TTY emacs, and while resizing the terminal. An obvious workaround if this affects others is disabling garbage-collection-messages, which seems buggy. Maybe the problem is in message3_nolog. Here's are two backtraces of two crashes in different points that I didn't report yet. I suspect they are all this same bug because they involve GC. dispnew.c:3155: Emacs fatal error: assertion failed: vpos >= 0 && vpos <= FRAME_TOTAL_LINES (XFRAME (w->frame)) Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 #1 0x0000555555735c81 in die (msg=0x55555584e908 "vpos >= 0 && vpos <= FRAME_TOTAL_LINES (XFRAME (w->frame))", file=0x55555584e231 "dispnew.c", line=3155) at alloc.c:8082 #2 0x000055555558cc96 in window_to_frame_vpos (w=0x555556559190, vpos=26) at dispnew.c:3155 #3 0x0000555555590ea9 in update_frame_1 (f=0x5555560374b8, force_p=true, inhibit_id_p=true, set_cursor_p=true, updating_menu_p=false) at dispnew.c:5089 #4 0x000055555558cfad in update_frame (f=0x5555560374b8, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3346 #5 0x00005555555ca441 in echo_area_display (update_frame_p=true) at xdisp.c:13487 #6 0x00005555555c63fb in message3_nolog (m=XIL(0x555557424cf4)) at xdisp.c:12385 #7 0x00005555555c97d8 in restore_message () at xdisp.c:13166 #8 0x0000555555732cd2 in garbage_collect () at alloc.c:6690 #9 0x0000555555732817 in maybe_garbage_collect () at alloc.c:6507 #10 0x0000555555769a95 in maybe_gc () at /w/emacs/src/lisp.h:5927 #11 0x000055555576f4d7 in eval_sub (form=XIL(0x555556d39bf3)) at eval.c:2502 dispnew.c:2649: Emacs fatal error: assertion failed: glyph_row_slice_p (window_row, frame_row) Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 #1 0x0000555555735c81 in die (msg=0x55555584e838 "glyph_row_slice_p (window_row, frame_row)", file=0x55555584e231 "dispnew.c", line=2649) at alloc.c:8082 #2 0x000055555558b5f3 in build_frame_matrix_from_leaf_window (frame_matrix=0x55555607fc20, w=0x555556037970) at dispnew.c:2649 #3 0x000055555558b10f in build_frame_matrix_from_window_tree (matrix=0x55555607fc20, w=0x555556037970) at dispnew.c:2538 #4 0x000055555558b0a4 in build_frame_matrix (f=0x5555560374b8) at dispnew.c:2522 #5 0x000055555558cf68 in update_frame (f=0x5555560374b8, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3336 #6 0x00005555555ca441 in echo_area_display (update_frame_p=true) at xdisp.c:13487 #7 0x00005555555c63fb in message3_nolog (m=XIL(0x555559663284)) at xdisp.c:12385 #8 0x00005555555c64a7 in message1_nolog (m=0x55555586f976 "Garbage collecting...") at xdisp.c:12413 #9 0x0000555555732a80 in garbage_collect () at alloc.c:6587 #10 0x0000555555732817 in maybe_garbage_collect () at alloc.c:6507 #11 0x0000555555769a95 in maybe_gc () at /w/emacs/src/lisp.h:5927 #12 0x000055555576f4d7 in eval_sub (form=XIL(0x555559b8e323)) at eval.c:2502 #13 0x000055555576a6f5 in Fprogn (body=XIL(0)) at eval.c:439 #14 0x000055555576a725 in prog_ignore (body=XIL(0x555559b8e3c3)) at eval.c:450 #15 0x000055555576c30a in Fwhile (args=XIL(0x555559b8e453)) at eval.c:1130 #16 0x000055555576f82d in eval_sub (form=XIL(0x555559b8e463)) at eval.c:2549 #17 0x000055555576a6f5 in Fprogn (body=XIL(0x555559b8e393)) at eval.c:439 #18 0x000055555576beb8 in FletX (args=XIL(0x555559b8e4b3)) at eval.c:1042 #19 0x000055555576f82d in eval_sub (form=XIL(0x555559b8e4c3)) at eval.c:2549 #20 0x000055555576f2ad in Feval (form=XIL(0x555559b8e4c3), lexical=XIL(0)) at eval.c:2462 #21 0x0000555555771416 in funcall_subr (subr=0x555555ec5a80 <Seval>, numargs=2, args=0x7fffffffc8c8) at eval.c:3163 #22 0x0000555555770db6 in funcall_general (fun=XIL(0x555555ec5a85), numargs=2, args=0x7fffffffc8c8) at eval.c:3040 #23 0x00005555557710bf in Ffuncall (nargs=3, args=0x7fffffffc8c0) at eval.c:3093 #24 0x00007ffff1488d94 in F656c6973702d2d6576616c2d6c6173742d73657870_elisp__eval_last_sexp_0 () from /opt/dc/emacs/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/elisp-mode-90dbfe40-73c5a2ea.eln #25 0x00005555557713ef in funcall_subr (subr=0x7ffff1d49010, numargs=1, args=0x7ffff05ff038) at eval.c:3161 #26 0x00005555557cd7bc in exec_byte_code (fun=XIL(0x5555599b90fd), args_template=0, nargs=0, args=0x7fffffffcfd0) at bytecode.c:812 #27 0x0000555555771a68 in funcall_lambda (fun=XIL(0x5555599b90fd), nargs=0, arg_vector=0x7fffffffcfd0) at eval.c:3252 #28 0x0000555555770e02 in funcall_general (fun=XIL(0x5555599b90fd), numargs=0, args=0x7fffffffcfd0) at eval.c:3044 #29 0x00005555557710bf in Ffuncall (nargs=1, args=0x7fffffffcfc8) at eval.c:3093 #30 0x000055555576937e in call0 (fn=XIL(0x5555599b90fd)) at /w/emacs/src/lisp.h:3515 #31 0x000055555576cbe2 in Fhandler_bind_1 (nargs=3, args=0x7fffffffd050) at eval.c:1478 #32 0x00007ffff14892c4 in F6576616c2d6c6173742d73657870_eval_last_sexp_0 () from /opt/dc/emacs/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/elisp-mode-90dbfe40-73c5a2ea.eln #33 0x00005555557713ef in funcall_subr (subr=0x7ffff1d056e0, numargs=1, args=0x7fffffffd330) at eval.c:3161 #34 0x0000555555770db6 in funcall_general (fun=XIL(0x7ffff1d056e5), numargs=1, args=0x7fffffffd330) at eval.c:3040 #35 0x00005555557710bf in Ffuncall (nargs=2, args=0x7fffffffd328) at eval.c:3093 #36 0x00005555557656ec in Ffuncall_interactively (nargs=2, args=0x7fffffffd328) at callint.c:250 #37 0x000055555577164f in funcall_subr (subr=0x555555ec4d00 <Sfuncall_interactively>, numargs=2, args=0x7fffffffd328) at eval.c:3184 #38 0x0000555555770db6 in funcall_general (fun=XIL(0x555555ec4d05), numargs=2, args=0x7fffffffd328) at eval.c:3040 #39 0x00005555557710bf in Ffuncall (nargs=3, args=0x7fffffffd320) at eval.c:3093 #40 0x0000555555767d88 in Fcall_interactively (function=XIL(0x2aaa9bdbe9b0), record_flag=XIL(0), keys=XIL(0x5555596dec2d)) at callint.c:789 #41 0x00007ffff16848fd in F636f6d6d616e642d65786563757465_command_execute_0 () from /opt/dc/emacs/bin/../lib/emacs/30.0.50/native-lisp/30.0.50-3670981c/preloaded/simple-fab5b0cf-651091ae.eln #42 0x0000555555771484 in funcall_subr (subr=0x7ffff212eff8, numargs=1, args=0x7fffffffda98) at eval.c:3167 #43 0x0000555555770db6 in funcall_general (fun=XIL(0x7ffff212effd), numargs=1, args=0x7fffffffda98) at eval.c:3040 #44 0x00005555557710bf in Ffuncall (nargs=2, args=0x7fffffffda90) at eval.c:3093 #45 0x0000555555691eb7 in command_loop_1 () at keyboard.c:1550 #46 0x000055555576d295 in internal_condition_case (bfun=0x55555569167e <command_loop_1>, handlers=XIL(0x90), hfun=0x555555690b29 <cmd_error>) at eval.c:1613 #47 0x000055555569125c in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 #48 0x000055555576c6c2 in internal_catch (tag=XIL(0xfc60), func=0x555555691232 <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 #49 0x00005555556911ee in command_loop () at keyboard.c:1146 #50 0x00005555556905cb in recursive_edit_1 () at keyboard.c:754 #51 0x00005555556907f7 in Frecursive_edit () at keyboard.c:837 --Type <RET> for more, q to quit, c to continue without paging--q Quit (gdb) xbacktrace DCL: step0 in handle_window_change_signal, sig 28 DCL: handle_window_change_signal, tty "Automatic GC" (0x0) "while" (0xffffc430) "let*" (0xffffc630) "eval" (0xffffc8c8) "elisp--eval-last-sexp" (0xf05ff038) 0x599b90f8 PVEC_CLOSURE "eval-last-sexp" (0xffffd330) "funcall-interactively" (0xffffd328) "command-execute" (0xffffda98) (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 No locals. #1 0x0000555555735c81 in die (msg=0x55555584e838 "glyph_row_slice_p (window_row, frame_row)", file=0x55555584e231 "dispnew.c", line=2649) at alloc.c:8082 No locals. #2 0x000055555558b5f3 in build_frame_matrix_from_leaf_window (frame_matrix=0x55555607fc20, w=0x555556037970) at dispnew.c:2649 frame_row = 0x555559e21520 window_row = 0x55555a498010 current_row_p = false window_matrix = 0x55555925ac50 window_y = 0 frame_y = 12 right_border_glyph = { ch = 0, face_id = 0 } #3 0x000055555558b10f in build_frame_matrix_from_window_tree (matrix=0x55555607fc20, w=0x555556037970) at dispnew.c:2538 No locals. #4 0x000055555558b0a4 in build_frame_matrix (f=0x5555560374b8) at dispnew.c:2522 i = 13 #5 0x000055555558cf68 in update_frame (f=0x5555560374b8, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3336 paused_p = false root_window = 0x555556082ac0 #6 0x00005555555ca441 in echo_area_display (update_frame_p=true) at xdisp.c:13487 n = 0 mini_window = XIL(0x555556037975) w = 0x555556037970 f = 0x5555560374b8 window_height_changed_p = false sf = 0x5555560374b8 #7 0x00005555555c63fb in message3_nolog (m=XIL(0x555559663284)) at xdisp.c:12385 mini_window = XIL(0x555556037975) frame = XIL(0x5555560374bd) f = 0x5555560374b8 sf = 0x5555560374b8 #8 0x00005555555c64a7 in message1_nolog (m=0x55555586f976 "Garbage collecting...") at xdisp.c:12413 No locals. #9 0x0000555555732a80 in garbage_collect () at alloc.c:6587 tail = XIL(0) buffer = XIL(0x555557a3418d) stack_top_variable = 0 '\000' message_p = true count = { bytes = 480 } start = { tv_sec = 1717410695, tv_nsec = 985484457 } tot_before = 18446744073709551615 visitor = { visit = 0x7fffffffc180, data = 0x555555732639 <consing_threshold+116> }
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 15:59:01 GMT) Full text and rfc822 format available.Message #26 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 15:56:17 +0000
[Message part 1 (text/plain, inline)]
> Please investigate what happens with our SIGWINCH handler (in > dispnew.c) in these cases. In the case mentioned above, in which: after killing a frame and resizing another one, new sections appear black. I reported it as bug #71343, since it's not related to GC like this bug. On Fri, 31 May 2024 at 18:27, Eli Zaretskii <eliz <at> gnu.org> wrote: > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Fri, 31 May 2024 17:09:29 +0000 > > Cc: Eli Zaretskii <eliz <at> gnu.org> > > > > While playing with resizing the urxvt terminal size (X window), I > > found other bugs where Emacs doesn't know the real size of the > > terminal, or becomes unsynchronized with the actual terminal size. > > This may cause many of the other bugs I've seen (things in the style > > of: the GC message wants to use 2 minibuffer lines because it thinks > > there are 2 lines, but actually there's just 1, etc.). > > > > The two resizing bugs I found (but I don't have time to research them > > in detail yet) are: > > - if the X terminal has 4 visible rows, FrameRows(tty) reports 4. If > > 3, then 3. But if it has 2 or 1 rows, Emacs still sees 3. And editing > > is garbled > > - if I decrease the terminal size fast, e.g. 81→71→61→51→41→31→21→11→1 > > lines, often Emacs doesn't notice all changes, and it may still report > > that FrameRows(tty) is e.g. 31 when it went further down to 1 > > (31→21→11→1) > > > > - in addition there's a more complex refresh bug (not about resizing I > > think), in which the next frame I focus after having killed a frame > > won't be refreshed (e.g. I can resize the X window and it doesn't > > notice, new sections appear black) until I press a key or move the > > mouse. It's 100% reproducible but I need to research this better > > because it involves window managers and X > > > > However I didn't see a direct crash from these issues. But maybe a GC > > message in some of these conditions can cause the alert. > > > > I may report them as separate bugs but in a while; I'm reporting too > > many TTY bugs and too fast; I need time for other things. > > > > I also saw a new type of TTY+GC error (not sure if it's the same issue > > as this bug): > > Please investigate what happens with our SIGWINCH handler (in > dispnew.c) in these cases. >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:15:02 GMT) Full text and rfc822 format available.Message #29 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 19:03:53 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Mon, 3 Jun 2024 15:56:17 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > Please investigate what happens with our SIGWINCH handler (in > > dispnew.c) in these cases. > > In the case mentioned above, in which: after killing a frame and resizing another one, new sections appear > black. > I reported it as bug #71343, since it's not related to GC like this bug. I'm not sure I understand: is this related to this bug in some way? Bug#71343 seems to describe a GUI frame (if not, what does the window-manager have to do with it?). While here we are talking about TTY frames, right? And killing frames is not involved in this bug report, right? Or what am I missing?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:39:02 GMT) Full text and rfc822 format available.Message #32 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 19:21:32 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Mon, 3 Jun 2024 15:35:20 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > So you are saying that the terminal lies to us? It has 3 rows, but > > somehow wraps the cursor to the 4th row? What are the window and > > frame dimensions at this point? > > I don't know enough to say whether the terminal is providing wrong numbers. > But it seems that the positions and terminal dimensions aren't wrong, they're just outdated. They were right a > moment ago (i.e. the terminal was really as large as reported) but I was resizing the window during a slow > operation (GC) that was trying to display a message due to garbage-collection-messages t, and it seems that > the GC message is using outdated information about the terminal size. That's my hypothesis. That hypothesis needs to be explained. Which is why I asked to investigate what happens when the SIGWINCH handler is called. > > What are the window and > > frame dimensions at this point? > > (I'm using the example mentioned above: 13, vs. 4 - 1). > The frame seems 4 lines 80 columns. > I'm not sure how to obtain the window dimensions from gdb, since there are several fields. Here are two > attempts to get it, but total_cols/total_lines are 0 so it seems I'm not looking at the right fields. We determine the actual dimensions of the frame in the SIGWINCH handler, and the new dimensions are recorded by the signal handler in f->new_width and f->new_height, see change_frame_size_1.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:39:02 GMT) Full text and rfc822 format available.Message #35 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 19:25:52 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Mon, 3 Jun 2024 15:36:05 +0000 > Cc: Eli Zaretskii <eliz <at> gnu.org> > > I still don't have a way to reproduce this, but the following recipe > seems to improve the chances: > (setq garbage-collection-messages t) > > Then run some operation that clearly triggers GC. For instance I'm > using this formula (better ideas welcome): > (setq gc-cons-threshold 100000) > (cl-loop for i from 3000000 downto 1 do (+ 2.00 (+ 2.0 (+ 2.0 (+ 2.0 > (+ 2.0 2.0)))))) > > While that operation is running (you'll repeatedly see "Garbage > collecting" "… done"), resize the terminal constantly until it > crashes. It doesn't crash for me. > But sometimes I can't reproduce it at all with this method! > And never could I in emacs -Q So maybe you could bisect your init files and find the customization(s) which make the reproduction possible? Because I cannot reproduce any of this here, no matter what I try.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:41:02 GMT) Full text and rfc822 format available.Message #38 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 19:36:20 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Mon, 3 Jun 2024 16:28:11 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > Bug#71343 seems to describe a GUI frame (if not, what does the > > window-manager have to do with it?). While here we are talking about > > TTY frames, right? And killing frames is not involved in this bug > > report, right? Or what am I missing? > > This one (bug 71289) seems to be about crashes involving GC messages > and resizing the terminal. AFAIR, almost all of the bugs you submitted have something to do with GC messages, so the above doesn't help in any way to make this one stand out, or am I confused? > I don't know the root cause; it could be some bug in the redisplay code. > I started thinking about other redisplay bugs and filed bug#71343, but > that one isn't related to this bug because it's not about GC. The > other 2 issues I mentioned may or not be related, I don't know. > > In all reports I'm using TTY frames, i.e. Emacs compiled without X > support; it's not GUI frames. But I'm running them inside a urxvt > window in X with a window manager. I wanted a simpler and smaller > Emacs without any X support, but I still run it in X. So how is the window manager relevant here?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:54:02 GMT) Full text and rfc822 format available.Message #41 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 16:51:19 +0000
> > > > > Bug#71343 seems to describe a GUI frame (if not, what does the > > > window-manager have to do with it?). While here we are talking about > > > TTY frames, right? And killing frames is not involved in this bug > > > report, right? Or what am I missing? > > > > This one (bug 71289) seems to be about crashes involving GC messages > > and resizing the terminal. > > AFAIR, almost all of the bugs you submitted have something to do with > GC messages, so the above doesn't help in any way to make this one > stand out, or am I confused? Bug 71343 has nothing to do with GC. This one (bug 71289) does. I don't know what you mean by stand out; it doesn't need to stand out. But each bug is different, e.g.: - 71176 was a bug about GC messages not working well when opening+closing frames, in some conditions - this one (71289) is about GC messages not working well when resizing the terminal, in some conditions > > In all reports I'm using TTY frames, i.e. Emacs compiled without X > > support; it's not GUI frames. But I'm running them inside a urxvt > > window in X with a window manager. I wanted a simpler and smaller > > Emacs without any X support, but I still run it in X. > > So how is the window manager relevant here? Here (bug 71289) you need a window manager to resize the window (the X window that is running emacsclient). The particular window manager you use isn't important, in fact I saw the same errors happen in wmii and icewm. Saying this is important, because I was afraid that the problems could come from wmii (wmii failing to communicate that an X window has been resized). But the window manager isn't at fault in this bug 71289.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 16:58:02 GMT) Full text and rfc822 format available.Message #44 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 16:55:25 +0000
> > But sometimes I can't reproduce it at all with this method! > > And never could I in emacs -Q > > So maybe you could bisect your init files and find the > customization(s) which make the reproduction possible? Because I > cannot reproduce any of this here, no matter what I try. I tried but it took too long to evaluate each version, because I don't have a formula to reproduce this. Sometimes I could crash it in seconds, sometimes I couldn't in minutes. I'll try to reproduce it in a faster way.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 17:41:02 GMT) Full text and rfc822 format available.Message #47 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 16:28:11 +0000
> Bug#71343 seems to describe a GUI frame (if not, what does the > window-manager have to do with it?). While here we are talking about > TTY frames, right? And killing frames is not involved in this bug > report, right? Or what am I missing? This one (bug 71289) seems to be about crashes involving GC messages and resizing the terminal. I don't know the root cause; it could be some bug in the redisplay code. I started thinking about other redisplay bugs and filed bug#71343, but that one isn't related to this bug because it's not about GC. The other 2 issues I mentioned may or not be related, I don't know. In all reports I'm using TTY frames, i.e. Emacs compiled without X support; it's not GUI frames. But I'm running them inside a urxvt window in X with a window manager. I wanted a simpler and smaller Emacs without any X support, but I still run it in X. Killing frames is not involved or necessary for the current bug report (#71289). On Mon, 3 Jun 2024 at 16:03, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Mon, 3 Jun 2024 15:56:17 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > > Please investigate what happens with our SIGWINCH handler (in > > > dispnew.c) in these cases. > > > > In the case mentioned above, in which: after killing a frame and resizing another one, new sections appear > > black. > > I reported it as bug #71343, since it's not related to GC like this bug. > > I'm not sure I understand: is this related to this bug in some way? > > Bug#71343 seems to describe a GUI frame (if not, what does the > window-manager have to do with it?). While here we are talking about > TTY frames, right? And killing frames is not involved in this bug > report, right? Or what am I missing?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 18:23:02 GMT) Full text and rfc822 format available.Message #50 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 3 Jun 2024 15:35:20 +0000
[Message part 1 (text/plain, inline)]
>> > At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 3, vs. 3 - 1. Now >> tty has 3 rows, 14 cols > > So you are saying that the terminal lies to us? It has 3 rows, but > somehow wraps the cursor to the 4th row? What are the window and > frame dimensions at this point? I don't know enough to say whether the terminal is providing wrong numbers. But it seems that the positions and terminal dimensions aren't wrong, they're just outdated. They were right a moment ago (i.e. the terminal was really as large as reported) but I was resizing the window during a slow operation (GC) that was trying to display a message due to garbage-collection-messages t, and it seems that the GC message is using outdated information about the terminal size. That's my hypothesis. I have reproduced this in a more drastic way, e.g. the cursor in line 14 and the terminal being 4. At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 13, vs. 4 - 1. Now tty has 4 rows, 80 cols > What are the window and > frame dimensions at this point? (I'm using the example mentioned above: 13, vs. 4 - 1). The frame seems 4 lines 80 columns. I'm not sure how to obtain the window dimensions from gdb, since there are several fields. Here are two attempts to get it, but total_cols/total_lines are 0 so it seems I'm not looking at the right fields. (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 #1 0x00005555556bdde1 in emacs_abort () at sysdep.c:2391 #2 0x0000555555669c8e in cmcheckmagic (tty=0x5555620ec360) at cm.c:124 #3 0x000055555566e1a0 in tty_write_glyphs (f=0x555562caa780, string=0x55555fb81720, len=80) at term.c:819 #4 0x0000555555678534 in write_glyphs (f=0x555562caa780, string=0x55555fb80820, len=80) at terminal.c:163 #5 0x0000555555591958 in update_frame_line (f=0x555562caa780, vpos=13, updating_menu_p=false) at dispnew.c:5321 #6 0x0000555555590a43 in update_frame_1 (f=0x555562caa780, force_p=true, inhibit_id_p=true, set_cursor_p=true, updating_menu_p=false) at dispnew.c:4980 #7 0x000055555558cfad in update_frame (f=0x555562caa780, force_p=true, inhibit_hairy_id_p=true) at dispnew.c:3346 #8 0x00005555555ca441 in echo_area_display (update_frame_p=true) at xdisp.c:13487 #9 0x00005555555c63fb in message3_nolog (m=XIL(0x55555fcf7e54)) at xdisp.c:12385 #10 0x00005555555c64a7 in message1_nolog (m=0x55555586f976 "Garbage collecting...") at xdisp.c:12413 #11 0x0000555555732a80 in garbage_collect () at alloc.c:6587 #12 0x0000555555732817 in maybe_garbage_collect () at alloc.c:6507 #13 0x0000555555769a95 in maybe_gc () at /w/emacs/src/lisp.h:5927 #14 0x000055555576f4d7 in eval_sub (form=XIL(0x5555616dda13)) at eval.c:2502 #15 0x000055555576a6f5 in Fprogn (body=XIL(0)) at eval.c:439 #16 0x000055555576a725 in prog_ignore (body=XIL(0x5555616dd8f3)) at eval.c:450 #17 0x000055555576c30a in Fwhile (args=XIL(0x5555616dd803)) at eval.c:1130 #18 0x000055555576f82d in eval_sub (form=XIL(0x5555616dd7f3)) at eval.c:2549 #19 0x000055555576a6f5 in Fprogn (body=XIL(0x5555616dd923)) at eval.c:439 #20 0x000055555576beb8 in FletX (args=XIL(0x5555616dd7a3)) at eval.c:1042 #21 0x000055555576f82d in eval_sub (form=XIL(0x5555616dd793)) at eval.c:2549 (gdb) frame 3 #3 0x000055555566e1a0 in tty_write_glyphs (f=0x555562caa780, string=0x55555fb81720, len=80) at term.c:819 (gdb) p *f $1 = { header = { size = 4611686018595348501 }, name = XIL(0x55555ffbf4a4), icon_name = XIL(0), […] text_cols = 80, text_lines = 4, text_width = 80, text_height = 4, total_cols = 80, total_lines = 4, pixel_width = 80, pixel_height = 4, new_width = -1, new_height = -1, […] (gdb) p *((struct window*) f->selected_window) $6 = { header = { size = 6152702861785432064 }, frame = XIL(0x55), next = XIL(0x5562caa9a5000000), prev = XIL(0x556252b675000055), parent = XIL(0xfff21ef0c7000055), normal_lines = XIL(0xfff2ba75bf00007f), normal_cols = XIL(0x1a00007f), new_total = XIL(0), new_normal = XIL(0x1a000000), new_pixel = XIL(0x5559e3af55000000), contents = XIL(0x5559e3af55000055), old_buffer = XIL(0x555f92c855000055), start = XIL(0x5559d0c41d000055), pointm = XIL(0x55604735d5000055), old_pointm = XIL(0xa000055), temslot = XIL(0), vertical_scroll_bar = XIL(0x30000000), vertical_scroll_bar_type = XIL(0), horizontal_scroll_bar = XIL(0x30000000), horizontal_scroll_bar_type = XIL(0), display_table = XIL(0), dedicated = XIL(0), combination_limit = XIL(0x5562913c43000000), window_parameters = XIL(0x30000055), cursor_type = XIL(0x555fcf7c94000000), mode_line_help_echo = XIL(0x5562966770000055), current_matrix = 0x5562a39930000055, desired_matrix = 0x55641a3233000055, prev_buffers = XIL(0x55), next_buffers = XIL(0x3cb000000), use_time = 3019898880, sequence_number = 3103784960, change_stamp = 117440512, pixel_left = 0, pixel_top = 117440512, left_col = 1342177280, top_line = 100663296, pixel_width = 100663296, pixel_height = 335544320, old_pixel_width = 100663296, old_pixel_height = 318767104, old_body_pixel_width = 1342177280, old_body_pixel_height = 100663296, total_cols = 0, total_lines = 0, hscroll = 0, min_hscroll = 0, hscroll_whole = 0, last_modified = 0, last_overlay_modified = 4144676995072, last_point = 3548213411840, last_mark = 0, base_line_number = 0, base_line_pos = -16777216, column_number_displayed = 72057594071482367, nrows_scale_factor = 16777216, ncols_scale_factor = 150994944, cursor = { x = 16777216, --Type <RET> for more, q to quit, c to continue without paging-- y = 150994944, hpos = 0, vpos = 0 }, phys_cursor = { x = 0, y = 0, hpos = 0, vpos = 0 }, output_cursor = { x = 0, y = 0, hpos = 150994944, vpos = -16777216 }, last_cursor_vpos = -1, left_fringe_width = 16777215, right_fringe_width = 0, left_margin_cols = -16777216, right_margin_cols = -1, scroll_bar_width = 33554431, scroll_bar_height = -16777216, mode_line_height = -1, header_line_height = -2080374785, tab_line_height = 352, window_end_pos = 1441151881060548608, window_end_vpos = 260, mini = false, horizontal = false, update_mode_line = false, last_had_star = false, start_at_line_beg = false, force_start = false, optional_new_start = false, phys_cursor_on_p = false, cursor_off_p = false, last_cursor_off_p = false, must_be_updated_p = false, pseudo_window_p = false, fringes_outside_margins = false, fringes_persistent = false, scroll_bars_persistent = false, window_end_valid = false, redisplay = false, suspend_auto_hscroll = false, preserve_vscroll_p = false, vscroll = 419430400, window_end_bytepos = 281543696187392 } (gdb) p *((struct window*) f->root_window) $7 = { header = { size = 6152702861785432064 }, frame = XIL(0x55620a01ed000055), next = XIL(0x55), prev = XIL(0), parent = XIL(0xfff2ba41a7000000), normal_lines = XIL(0xfff2ba419f00007f), normal_cols = XIL(0x3600007f), new_total = XIL(0), new_normal = XIL(0x36000000), new_pixel = XIL(0x5562caa9a5000000), contents = XIL(0x55599fab25000055), old_buffer = XIL(0x55), start = XIL(0), pointm = XIL(0), old_pointm = XIL(0x2000000), temslot = XIL(0), vertical_scroll_bar = XIL(0x30000000), vertical_scroll_bar_type = XIL(0), horizontal_scroll_bar = XIL(0x30000000), horizontal_scroll_bar_type = XIL(0), display_table = XIL(0), dedicated = XIL(0), combination_limit = XIL(0), window_parameters = XIL(0x30000000), cursor_type = XIL(0), mode_line_help_echo = XIL(0), current_matrix = 0x0, desired_matrix = 0x555d5785a3000000, prev_buffers = XIL(0x55), next_buffers = XIL(0x290000000), use_time = 3003121664, sequence_number = 100663296, change_stamp = 0, pixel_left = 0, pixel_top = 0, left_col = 1342177280, top_line = 218103808, pixel_width = 1207959552, pixel_height = 805306368, old_pixel_width = 1207959552, old_pixel_height = 788529152, old_body_pixel_width = 1342177280, old_body_pixel_height = 218103808, total_cols = 0, total_lines = 0, hscroll = 0, min_hscroll = 0, hscroll_whole = 36758880256, last_modified = 3741319168, last_overlay_modified = 1599271337984, last_point = 1589456666624, last_mark = 18740150272, base_line_number = 0, base_line_pos = 989855744, column_number_displayed = 72057594054705152, nrows_scale_factor = 0, ncols_scale_factor = 0, cursor = { x = 0, --Type <RET> for more, q to quit, c to continue without paging-- y = 0, hpos = 0, vpos = 0 }, phys_cursor = { x = 0, y = 0, hpos = 0, vpos = 0 }, output_cursor = { x = 0, y = 0, hpos = 0, vpos = -16777216 }, last_cursor_vpos = -1, left_fringe_width = 16777215, right_fringe_width = 0, left_margin_cols = -16777216, right_margin_cols = -1, scroll_bar_width = 33554431, scroll_bar_height = -16777216, mode_line_height = -1, header_line_height = 16777215, tab_line_height = 0, window_end_pos = 1152921504606846976, window_end_vpos = 0, mini = false, horizontal = false, update_mode_line = false, last_had_star = false, start_at_line_beg = false, force_start = false, optional_new_start = false, phys_cursor_on_p = false, cursor_off_p = false, last_cursor_off_p = false, must_be_updated_p = false, pseudo_window_p = false, fringes_outside_margins = false, fringes_persistent = false, scroll_bars_persistent = false, window_end_valid = false, redisplay = false, suspend_auto_hscroll = false, preserve_vscroll_p = false, vscroll = 1191182336, window_end_bytepos = 6152702647217422336 } On Fri, 31 May 2024 at 18:18, Eli Zaretskii <eliz <at> gnu.org> wrote: > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Fri, 31 May 2024 17:07:45 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > > Thanks, but these backtraces are not enough, because they don't > > > explain why was emacs_abort called. We need to see all the values > > > involved in this condition: > > > > > > if (curX (tty) == FrameCols (tty)) > > > { > > > if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) > <<<<<<<<<<< > > > emacs_abort (); > > > > > > These were the variables just before emacs_abort, and (abort==1) when > aborting. > > > > At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 0, vs. 3 - 1. Now > > tty has 3 rows, 14 cols > > At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 1, vs. 3 - 1. Now > > tty has 3 rows, 14 cols > > At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 3, vs. 3 - 1. Now > > tty has 3 rows, 14 cols > > So you are saying that the terminal lies to us? It has 3 rows, but > somehow wraps the cursor to the 4th row? What are the window and > frame dimensions at this point? >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 18:39:02 GMT) Full text and rfc822 format available.Message #53 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 20:44:23 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Fri, 31 May 2024 17:09:29 +0000 > Cc: Eli Zaretskii <eliz <at> gnu.org> > > I also saw a new type of TTY+GC error (not sure if it's the same issue > as this bug): > > alloc.c:7517: Emacs fatal error: assertion failed: t->name != NULL > > Breakpoint 1, terminate_due_to_signal (sig=6, > backtrace_limit=2147483647) at emacs.c:443 > 443 signal (sig, SIG_DFL); > (gdb) bt > #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 > #1 0x000055555573591a in die (msg=0x55555586f838 "t->name != NULL", > file=0x55555586e97e "alloc.c", line=7517) at alloc.c:8082 > #2 0x00005555557346e8 in mark_terminals () at alloc.c:7517 If this was while you only resized the terminal, how come a terminal was deleted? Any idea what would cause this?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Mon, 03 Jun 2024 18:39:03 GMT) Full text and rfc822 format available.Message #56 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Mon, 03 Jun 2024 20:39:57 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Mon, 3 Jun 2024 16:55:25 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > > But sometimes I can't reproduce it at all with this method! > > > And never could I in emacs -Q > > > > So maybe you could bisect your init files and find the > > customization(s) which make the reproduction possible? Because I > > cannot reproduce any of this here, no matter what I try. > > I tried but it took too long to evaluate each version, because I don't > have a formula to reproduce this. Sometimes I could crash it in > seconds, sometimes I couldn't in minutes. > I'll try to reproduce it in a faster way. Please update from Git before trying anything else wrt this bug. I installed a simple baind-aid that is intended to avoid problems with frame dimensions while we have an unhandled SIGWINCH.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 05 Jun 2024 13:55:02 GMT) Full text and rfc822 format available.Message #59 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 5 Jun 2024 13:52:27 +0000
> So maybe you could bisect your init files and find the > customization(s) which make the reproduction possible? Because I > cannot reproduce any of this here, no matter what I try. I'm trying to reproduce it again and again, and I can't find the way, not even with my full .emacs. Yesterday it happened (I just posted here BT1 and BT2) but today I can't, so I guess there are other factors apart from GC and resizing. I'll keep trying to use emacs normally and I guess then it should happen when I least expect it. For reference: I automated an automated continuous X window resizer: EC=$(xdotool search --name '^\*E\* \.emacs') && echo $EC && while :; do for height_px in `seq 275 -25 10`; do xdotool windowsize $EC $((height_px+5)) $height_px; sleep 0.001; done; for height_px in `seq 1 25 400`; do xdotool windowsize $EC $((height_px+5)) $height_px; sleep 0.1; done; sleep 0.3 && done And I keep trying to cause GC, with things like: ;; (cl-loop for i from 300000 downto 1 do (+ 2.00 (+ 2.0 (+ 2.0 (+ 2.0 (+ 2.0 2.0)))))) ;; (cl-loop for j from 100 downto 1 do (progn (cl-loop for i from 30000 downto 1 do (+ 2.00 (+ 2.0 (+ 2.0 (+ 2.0 (+ 2.0 2.0)))))) (sit-for 1))) ;; (cl-loop for i from 3000000 downto 1 do (garbage-collect)) But this formula hasn't ever worked yet, so I guess I'm missing other factors.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 05 Jun 2024 13:56:02 GMT) Full text and rfc822 format available.Message #62 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 5 Jun 2024 13:50:48 +0000
> Please update from Git before trying anything else wrt this bug. I > installed a simple baind-aid that is intended to avoid problems with > frame dimensions while we have an unhandled SIGWINCH. Thanks for the code. With it (running on 799f78a92c6c31f4d181390523b83d036020ede1 with no other changes), I still see the same types of crash that I already reported: in tty_write_glyphs (see BT1 below) and in build_frame_matrix_from_leaf_window (see BT2 below). However they don't mention GC now. BT1 [Detaching after vfork from child process 2902] [Detaching after vfork from child process 2903] [Detaching after vfork from child process 3039] Garbage collecting... When done with this frame, type C-x 5 0 Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) cont Continuing. Fatal error 6: Aborted Backtrace: /opt/dc/emacs/bin/emacs(+0x169205)[0x5555556bd205] /opt/dc/emacs/bin/emacs(+0x134500)[0x555555688500] /opt/dc/emacs/bin/emacs(+0x169273)[0x5555556bd273] /opt/dc/emacs/bin/emacs(+0x11511e)[0x55555566911e] /opt/dc/emacs/bin/emacs(+0x119632)[0x55555566d632] /opt/dc/emacs/bin/emacs(+0x1239c6)[0x5555556779c6] /opt/dc/emacs/bin/emacs(+0x3d8f7)[0x5555555918f7] /opt/dc/emacs/bin/emacs(+0x3c9e2)[0x5555555909e2] /opt/dc/emacs/bin/emacs(+0x38f4c)[0x55555558cf4c] /opt/dc/emacs/bin/emacs(+0x7b5c9)[0x5555555cf5c9] /opt/dc/emacs/bin/emacs(+0x7befd)[0x5555555cfefd] /opt/dc/emacs/bin/emacs(+0x299dbc)[0x5555557eddbc] /opt/dc/emacs/bin/emacs(+0x40ee0)[0x555555594ee0] /opt/dc/emacs/bin/emacs(+0x1412a8)[0x5555556952a8] /opt/dc/emacs/bin/emacs(+0x152857)[0x5555556a6857] /opt/dc/emacs/bin/emacs(+0x13cf3f)[0x555555690f3f] /opt/dc/emacs/bin/emacs(+0x21873d)[0x55555576c73d] /opt/dc/emacs/bin/emacs(+0x13c6ee)[0x5555556906ee] /opt/dc/emacs/bin/emacs(+0x217b6a)[0x55555576bb6a] /opt/dc/emacs/bin/emacs(+0x13c680)[0x555555690680] /opt/dc/emacs/bin/emacs(+0x13ba5d)[0x55555568fa5d] /opt/dc/emacs/bin/emacs(+0x13bc89)[0x55555568fc89] /opt/dc/emacs/bin/emacs(+0x1376f0)[0x55555568b6f0] /lib/x86_64-linux-gnu/libc.so.6(+0x2724a)[0x7ffff544624a] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85)[0x7ffff5446305] /opt/dc/emacs/bin/emacs(+0x30831)[0x555555584831] Program received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo <at> entry=6, no_tid=no_tid <at> entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo <at> entry=6, no_tid=no_tid <at> entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007ffff54a9e8f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007ffff545afb2 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #3 0x000055555568854c in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:480 #4 0x00005555556bd273 in emacs_abort () at sysdep.c:2391 #5 0x000055555566911e in cmcheckmagic (tty=0x55556112ed70) at cm.c:121 #6 0x000055555566d632 in tty_write_glyphs (f=0x55556112e470, string=0x55556150b540, len=80) at term.c:819 #7 0x00005555556779c6 in write_glyphs (f=0x55556112e470, string=0x55556150a640, len=80) at terminal.c:163 #8 0x00005555555918f7 in update_frame_line (f=0x55556112e470, vpos=13, updating_menu_p=false) at dispnew.c:5320 #9 0x00005555555909e2 in update_frame_1 (f=0x55556112e470, force_p=true, inhibit_id_p=false, set_cursor_p=true, updating_menu_p=false) at dispnew.c:4979 #10 0x000055555558cf4c in update_frame (f=0x55556112e470, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3345 #11 0x00005555555cf5c9 in redisplay_internal () at xdisp.c:17464 #12 0x00005555555cfefd in redisplay_preserve_echo_area (from_where=11) at xdisp.c:17747 #13 0x00005555557eddbc in wait_reading_process_output (time_limit=127, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5585 #14 0x0000555555594ee0 in sit_for (timeout=make_fixnum(127), reading=true, display_option=1) at dispnew.c:6329 #15 0x00005555556952a8 in read_char (commandflag=1, map=XIL(0x555563b0c373), prev_event=XIL(0), used_mouse_menu=0x7fffffffd6df, end_time=0x0) at keyboard.c:2923 #16 0x00005555556a6857 in read_key_sequence (keybuf=0x7fffffffd8f0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 #17 0x0000555555690f3f in command_loop_1 () at keyboard.c:1429 #18 0x000055555576c73d in internal_condition_case (bfun=0x555555690b10 <command_loop_1>, handlers=XIL(0x90), hfun=0x55555568ffbb <cmd_error>) at eval.c:1613 #19 0x00005555556906ee in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 #20 0x000055555576bb6a in internal_catch (tag=XIL(0xfc90), func=0x5555556906c4 <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 #21 0x0000555555690680 in command_loop () at keyboard.c:1146 #22 0x000055555568fa5d in recursive_edit_1 () at keyboard.c:754 #23 0x000055555568fc89 in Frecursive_edit () at keyboard.c:837 #24 0x000055555568b6f0 in main (argc=2, argv=0x7fffffffdf18) at emacs.c:2625 Lisp Backtrace: "redisplay_internal (C function)" (0x0) BT2: dispnew.c:2649: Emacs fatal error: assertion failed: delayed_size_change || glyph_row_slice_p (window_row, frame_row) Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 443 signal (sig, SIG_DFL); (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 #1 0x0000555555735b51 in die ( msg=0x55555584e838 "delayed_size_change || glyph_row_slice_p (window_row, frame_row)", file=0x55555584e231 "dispnew.c", line=2649) at alloc.c:8082 #2 0x000055555558b5fe in build_frame_matrix_from_leaf_window (frame_matrix=0x5555590db110, w=0x555559588548) at dispnew.c:2649 #3 0x000055555558b10f in build_frame_matrix_from_window_tree (matrix=0x5555590db110, w=0x555559588548) at dispnew.c:2538 #4 0x000055555558b0a4 in build_frame_matrix (f=0x5555593233b0) at dispnew.c:2522 #5 0x000055555558cf82 in update_frame (f=0x5555593233b0, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3338 #6 0x00005555555cf9fe in redisplay_internal () at xdisp.c:17501 #7 0x00005555555cd5d3 in redisplay () at xdisp.c:16599 #8 0x000055555569522f in read_char (commandflag=1, map=XIL(0x555559d4aca3), prev_event=XIL(0), used_mouse_menu=0x7fffffffd6df, end_time=0x0) at keyboard.c:2678 #9 0x00005555556a727f in read_key_sequence (keybuf=0x7fffffffd8f0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 #10 0x0000555555691967 in command_loop_1 () at keyboard.c:1429 #11 0x000055555576d165 in internal_condition_case (bfun=0x555555691538 <command_loop_1>, handlers=XIL(0x90), hfun=0x5555556909e3 <cmd_error>) at eval.c:1613 #12 0x0000555555691116 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 #13 0x000055555576c592 in internal_catch (tag=XIL(0xfc90), func=0x5555556910ec <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 #14 0x00005555556910a8 in command_loop () at keyboard.c:1146 #15 0x0000555555690485 in recursive_edit_1 () at keyboard.c:754 #16 0x00005555556906b1 in Frecursive_edit () at keyboard.c:837 #17 0x000055555568c118 in main (argc=2, argv=0x7fffffffdf18) at emacs.c:2625 Lisp Backtrace: "redisplay_internal (C function)" (0x0) (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 No locals. #1 0x0000555555735b51 in die ( msg=0x55555584e838 "delayed_size_change || glyph_row_slice_p (window_row, frame_row)", file=0x55555584e231 "dispnew.c", line=2649) at alloc.c:8082 No locals. #2 0x000055555558b5fe in build_frame_matrix_from_leaf_window (frame_matrix=0x5555590db110, w=0x555559588548) at dispnew.c:2649 frame_row = 0x55555ea81bc0 window_row = 0x55555ad0f560 current_row_p = false window_matrix = 0x5555606d5ca0 window_y = 0 frame_y = 6 right_border_glyph = { ch = 0, face_id = 0 } #3 0x000055555558b10f in build_frame_matrix_from_window_tree (matrix=0x5555590db110, w=0x555559588548) at dispnew.c:2538 No locals. #4 0x000055555558b0a4 in build_frame_matrix (f=0x5555593233b0) at dispnew.c:2522 i = 7 #5 0x000055555558cf82 in update_frame (f=0x5555593233b0, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3338 paused_p = false root_window = 0x55555a922718 #6 0x00005555555cf9fe in redisplay_internal () at xdisp.c:17501 gcscrollbars = true f_redisplay_flag = true f = 0x5555593233b0 w = 0x55555979b9b8 sw = 0x55555979b9b8 fr = 0x5555593233b0 pending = false must_finish = true match_p = true tlbufpos = { charpos = 0, bytepos = 2398 } tlendpos = { charpos = 612164, bytepos = 621585 } number_of_visible_frames = 2 sf = 0x5555593233b0 polling_stopped_here = true tail = XIL(0x5555594a6dd3) frame = XIL(0x5555593233b5) MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = 0 MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = 0 consider_all_windows_p = true update_miniwindow_p = true count = { bytes = 96 } #7 0x00005555555cd5d3 in redisplay () at xdisp.c:16599 No locals. #8 0x000055555569522f in read_char (commandflag=1, map=XIL(0x555559d4aca3), prev_event=XIL(0), used_mouse_menu=0x7fffffffd6df, end_time=0x0) at keyboard.c:2678 --Type <RET> for more, q to quit, c to continue without paging-- echo_current = true c = XIL(0) local_getcjmp = {{ __jmpbuf = {93825042211488, 93825034828643, 140737488344272, 93824994276319, 48, 93825042211488, 93825002663072, 0}, __mask_was_saved = 0, __saved_mask = { __val = {140737488344320, 93824993654404, 93825034828611, 140737488344480, 93824993676685, 93825002663072, 0, 0, 140737488344384, 93824994411239, 1471451152, 140737488344480, 93824994455892, 93825067691187, 96, 140737488344480} } }} save_jump = {{ __jmpbuf = {140737488344160, 93824994294759, 93825063578261, 10092931733, 0, 37152, 140737488344352, 140737254736672}, __mask_was_saved = 1502997141, __saved_mask = { __val = {10034, 0, 37152, 93825002700224, 37152, 140737488344160, 57276693952, 93825063578261, 140737488344176, 93824994274948, 93825063578261, 140737488344208, 93824994275044, 93824994265917, 93825063578261, 140737488344272} } }} tem = XIL(0x30) save = XIL(0x555557535ef0) previous_echo_area_message = XIL(0) also_record = XIL(0) reread = false recorded = false polling_stopped_here = false orig_kboard = 0x555558e79b00 jmpcount = { bytes = 0 } #9 0x00005555556a727f in read_key_sequence (keybuf=0x7fffffffd8f0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false, disable_text_conversion_p=false) at keyboard.c:10728 interrupted_kboard = 0x555558e79b00 interrupted_frame = 0x5555593233b0 key = XIL(0x555559d4cbd3) used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = XIL(0) count = { bytes = 96 } t = 0 echo_start = 0 keys_start = 0 current_binding = XIL(0x555559d4aca3) first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = { parent = XIL(0x5555594a6123), map = XIL(0x5555594a6123), start = 0, end = 0 } keytran = { parent = XIL(0x7ffff210d433), map = XIL(0x7ffff210d433), --Type <RET> for more, q to quit, c to continue without paging-- start = 0, end = 0 } indec = { parent = XIL(0x5555594a6113), map = XIL(0x5555594a6113), start = 0, end = 0 } shift_translated = false delayed_switch_frame = XIL(0) original_uppercase = XIL(0) original_uppercase_position = -1 starting_buffer = 0x55555995ea90 fake_prefixed_keys = XIL(0x555559d4b013) first_event = XIL(0) second_event = XIL(0) #10 0x0000555555691967 in command_loop_1 () at keyboard.c:1429 cmd = XIL(0x2aaa9bd8fa68) keybuf = {XIL(0xafe0), XIL(0x555559d4cbd3), make_fixnum(60), make_fixnum(53), make_fixnum(126), make_fixnum(49), make_fixnum(126), XIL(0), XIL(0), XIL(0x555555f55a00), XIL(0x555555744b3d), XIL(0x30), XIL(0x7fffffffd9e0), XIL(0x55555574bbe7), XIL(0x555560452f85), XIL(0x200000000), XIL(0x30), XIL(0xed60), XIL(0x7ffff18ef975), XIL(0x7ffff21346f0), make_fixnum(23456248603222), XIL(0x7ffff18ef975), XIL(0x3), XIL(0xed60), XIL(0x555555f55a00), XIL(0xed60), XIL(0x7fffffffd9e0), XIL(0x555555f55a00), XIL(0x5555557682e7), XIL(0x30)} i = 2 last_pt = 2508 prev_modiff = 18813 prev_buffer = 0x55555995ea90 #11 0x000055555576d165 in internal_condition_case (bfun=0x555555691538 <command_loop_1>, handlers=XIL(0x90), hfun=0x5555556909e3 <cmd_error>) at eval.c:1613 val = make_fixnum(23456248378977) c = 0x555556048380 #12 0x0000555555691116 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1168 val = make_fixnum(0) #13 0x000055555576c592 in internal_catch (tag=XIL(0xfc90), func=0x5555556910ec <command_loop_2>, arg=XIL(0x90)) at eval.c:1292 val = XIL(0x7fffffffdc00) c = 0x5555560c0d90 #14 0x00005555556910a8 in command_loop () at keyboard.c:1146 No locals. #15 0x0000555555690485 in recursive_edit_1 () at keyboard.c:754 count = { bytes = 32 } val = XIL(0x5555557729bc) #16 0x00005555556906b1 in Frecursive_edit () at keyboard.c:837 count = { bytes = 0 } buffer = XIL(0) #17 0x000055555568c118 in main (argc=2, argv=0x7fffffffdf18) at emacs.c:2625 stack_bottom_variable = 0x0 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 = 1 --Type <RET> for more, q to quit, c to continue without paging-- temacs = 0x0 attempt_load_pdump = true only_version = false rlim = { rlim_cur = 10022912, rlim_max = 18446744073709551615 } lc_all = 0x0 sockfd = -1 module_assertions = false (gdb) (gdb) p delayed_size_change $1 = false On Mon, 3 Jun 2024 at 17:40, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Mon, 3 Jun 2024 16:55:25 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > > > But sometimes I can't reproduce it at all with this method! > > > > And never could I in emacs -Q > > > > > > So maybe you could bisect your init files and find the > > > customization(s) which make the reproduction possible? Because I > > > cannot reproduce any of this here, no matter what I try. > > > > I tried but it took too long to evaluate each version, because I don't > > have a formula to reproduce this. Sometimes I could crash it in > > seconds, sometimes I couldn't in minutes. > > I'll try to reproduce it in a faster way. > > Please update from Git before trying anything else wrt this bug. I > installed a simple baind-aid that is intended to avoid problems with > frame dimensions while we have an unhandled SIGWINCH.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 05 Jun 2024 14:03:02 GMT) Full text and rfc822 format available.Message #65 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 5 Jun 2024 13:51:43 +0000
> > I also saw a new type of TTY+GC error (not sure if it's the same issue > > as this bug): > > > > alloc.c:7517: Emacs fatal error: assertion failed: t->name != NULL > > > > Breakpoint 1, terminate_due_to_signal (sig=6, > > backtrace_limit=2147483647) at emacs.c:443 > > 443 signal (sig, SIG_DFL); > > (gdb) bt > > #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 > > #1 0x000055555573591a in die (msg=0x55555586f838 "t->name != NULL", > > file=0x55555586e97e "alloc.c", line=7517) at alloc.c:8082 > > #2 0x00005555557346e8 in mark_terminals () at alloc.c:7517 > > If this was while you only resized the terminal, how come a terminal > was deleted? Any idea what would cause this? I assume that it's t->name == NULL what tells you that a terminal was deleted. But apparently this terminal wasn't fully deleted, because it's in the terminal_list. If delete_terminal had run, shouldn't it have removed it from the list? So I don't know what happened. reference_count is still 1. I might have actually tried to close an X window while I testing; I can't remember. I'm collecting many backtraces and I wasn't very careful in this one. This backtrace may be a different bug; if you want I file it separately. But since it happened during GC, it could also be due to the same problems as this one (71289). I don't know how to reproduce it. Unless it clearly shows a defect, we can ignore this backtrace until it happens again.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 05 Jun 2024 15:08:02 GMT) Full text and rfc822 format available.Message #68 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 05 Jun 2024 18:06:49 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Wed, 5 Jun 2024 13:50:48 +0000 > Cc: 71289 <at> debbugs.gnu.org > > With it (running on 799f78a92c6c31f4d181390523b83d036020ede1 with no > other changes), I still see the same types of crash that I already > reported: in tty_write_glyphs (see BT1 below) and in > build_frame_matrix_from_leaf_window (see BT2 below). > However they don't mention GC now. So it is not exactly the same type of crash. In what scenario does this happen now? IOW, what did you do to trigger those crashes? I'd like to ask you to run that scenario with a watchpoint on the variable delayed_size_change, and the following two watchpoint commands: bt 5 continue I hope the backtraces produced by this will explain who resets the delayed_size_change flag, seemingly prematurely(?), and might suggest ideas for a solution. (I have an idea already, but would like to see some data to make sure the idea is solid.) It is best to run GDB in a separate terminal for this experiment. IOW, start Emacs, attach GDB to it from another terminal, say "set height 0" to let GDB scroll the output freely, then set up the watchpoint with the commands, and run Emacs with your recipe. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 05 Jun 2024 16:44:02 GMT) Full text and rfc822 format available.Message #71 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: n142857 <at> gmail.com Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 05 Jun 2024 19:43:21 +0300
> Date: Wed, 05 Jun 2024 18:06:49 +0300 > From: Eli Zaretskii <eliz <at> gnu.org> > Cc: 71289 <at> debbugs.gnu.org > > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Wed, 5 Jun 2024 13:50:48 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > With it (running on 799f78a92c6c31f4d181390523b83d036020ede1 with no > > other changes), I still see the same types of crash that I already > > reported: in tty_write_glyphs (see BT1 below) and in > > build_frame_matrix_from_leaf_window (see BT2 below). > > However they don't mention GC now. > > So it is not exactly the same type of crash. > > In what scenario does this happen now? IOW, what did you do to > trigger those crashes? > > I'd like to ask you to run that scenario with a watchpoint on the > variable delayed_size_change, and the following two watchpoint > commands: > > bt 5 > continue > > I hope the backtraces produced by this will explain who resets the > delayed_size_change flag, seemingly prematurely(?), and might suggest > ideas for a solution. (I have an idea already, but would like to see > some data to make sure the idea is solid.) I decided to go with my idea anyway, so please update from Git before trying next, and if the problem is still there, try answering my questions above. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 07:57:01 GMT) Full text and rfc822 format available.Message #74 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 06 Jun 2024 10:55:36 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Wed, 5 Jun 2024 13:51:43 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > > I also saw a new type of TTY+GC error (not sure if it's the same issue > > > as this bug): > > > > > > alloc.c:7517: Emacs fatal error: assertion failed: t->name != NULL > > > > > > Breakpoint 1, terminate_due_to_signal (sig=6, > > > backtrace_limit=2147483647) at emacs.c:443 > > > 443 signal (sig, SIG_DFL); > > > (gdb) bt > > > #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 > > > #1 0x000055555573591a in die (msg=0x55555586f838 "t->name != NULL", > > > file=0x55555586e97e "alloc.c", line=7517) at alloc.c:8082 > > > #2 0x00005555557346e8 in mark_terminals () at alloc.c:7517 > > > > If this was while you only resized the terminal, how come a terminal > > was deleted? Any idea what would cause this? > > I assume that it's t->name == NULL what tells you that a terminal was deleted. Yes. > But apparently this terminal wasn't fully deleted, because it's in the > terminal_list. If delete_terminal had run, shouldn't it have removed > it from the list? It should have, yes. > So I don't know what happened. reference_count is still 1. What's more important, kboard, keyboard_coding, and terminal_coding are not NULL. Which means delete_terminal_internal was never run for this terminal. I don't understand how that could happen, given the backtrace you show. I found some unsafe code in delete_terminal and installed a fix. I cannot explain how that code could have caused the assertion violation inside mark_terminals, but maybe it did.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 12:37:02 GMT) Full text and rfc822 format available.Message #77 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 6 Jun 2024 12:34:34 +0000
> So it is not exactly the same type of crash. > > In what scenario does this happen now? IOW, what did you do to > trigger those crashes? > I don't remember how the previous 2 crashes (BT1, BT2) happened. But I just learnt to reproduce BT2 (in check_matrix_pointers), after 2 days not being able to reproduce it. The key to reproduce it to have 2 Emacs windows inside the frame: 1. Open emacs (no need for emacsclient) with -Q. No need to set garbage-collection-messages to t 2. Do C-x 2 to have 2 windows, one above one below 3. Resize the X window to make it very small, (1 line or so) 4. It should immediately crash. (gdb) bt full #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 No locals. #1 0x00005555556bd41b in emacs_abort () at sysdep.c:2391 No locals. #2 0x000055555558cb33 in check_matrix_pointers (window_matrix=0x5555588efa10, frame_matrix=0x5555595855c0) at dispnew.c:3129 i = 0 j = 0 #3 0x000055555558ca52 in check_window_matrix_pointers (w=0x5555591f66b8) at dispnew.c:3098 f = 0x555558008768 #4 0x000055555558c9df in check_window_matrix_pointers (w=0x555559452b90) at dispnew.c:3094 No locals. #5 0x000055555558c9df in check_window_matrix_pointers (w=0x55555960d2d8) at dispnew.c:3094 No locals. #6 0x000055555558d10e in update_frame (f=0x555558008768, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3359 paused_p = false root_window = 0x55555960d2d8 #7 0x00005555555cf68a in redisplay_internal () at xdisp.c:17464 gcscrollbars = true f_redisplay_flag = true f = 0x555558008768 w = 0x5555598dcd00 sw = 0x5555598dcd00 fr = 0x555558008768 pending = false must_finish = true match_p = true tlbufpos = { charpos = 0, bytepos = 2275 } tlendpos = { charpos = 614309, bytepos = 623747 } number_of_visible_frames = 2 sf = 0x555558008768 polling_stopped_here = true tail = XIL(0x555558f6ae43) frame = XIL(0x55555800876d) MAX_HSCROLL_RETRIES = MAX_HSCROLL_RETRIES hscroll_retries = 0 MAX_GARBAGED_FRAME_RETRIES = MAX_GARBAGED_FRAME_RETRIES garbaged_frame_retries = 0 consider_all_windows_p = true update_miniwindow_p = true count = { bytes = 192 } #8 0x00005555555cffb0 in redisplay_preserve_echo_area (from_where=12) at xdisp.c:17743 count = { bytes = 160 } #9 0x00005555557eed00 in wait_reading_process_output (time_limit=0, nsecs=0, > In what scenario does this happen now? IOW, what did you do to > trigger those crashes? > > I'd like to ask you to run that scenario with a watchpoint on the > variable delayed_size_change, and the following two watchpoint > commands: > > bt 5 > continue > Thanks, that's a very good way to track changes. I'll do it when I can reproduce the crash/assert. Right now it seems to work fine (opening a new frame: false→true then immediately true→false). On Wed, 5 Jun 2024 at 15:06, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Wed, 5 Jun 2024 13:50:48 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > With it (running on 799f78a92c6c31f4d181390523b83d036020ede1 with no > > other changes), I still see the same types of crash that I already > > reported: in tty_write_glyphs (see BT1 below) and in > > build_frame_matrix_from_leaf_window (see BT2 below). > > However they don't mention GC now. > > So it is not exactly the same type of crash. > > In what scenario does this happen now? IOW, what did you do to > trigger those crashes? > > I'd like to ask you to run that scenario with a watchpoint on the > variable delayed_size_change, and the following two watchpoint > commands: > > bt 5 > continue > > I hope the backtraces produced by this will explain who resets the > delayed_size_change flag, seemingly prematurely(?), and might suggest > ideas for a solution. (I have an idea already, but would like to see > some data to make sure the idea is solid.) > > It is best to run GDB in a separate terminal for this experiment. > IOW, start Emacs, attach GDB to it from another terminal, say "set > height 0" to let GDB scroll the output freely, then set up the > watchpoint with the commands, and run Emacs with your recipe. > > Thanks.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 12:39:01 GMT) Full text and rfc822 format available.Message #80 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 6 Jun 2024 12:36:41 +0000
I'm trying your new code (including the delete_terminals part), thanks. I just posted a reproduction step for BT2, in another thread here. I'll try to repeat the other backtraces. I'm working on many crashes and redisplay bugs at the same time and they're piling up, and it's getting messy, sorry. I've seen a new redisplay issue but I can't pinpoint yet where did it come from, or to which bug it's related. In rare cases, not only the Emacs frame doesn't use the full size of the terminal (after resizing the X window) (I consider this to be bug 71343), but also: - it won't correct itself even after a keypress. I still see the black areas - the text becomes garbled, e.g. the current line (the line I'm editing) appears below the cursor, and the situation affects new frames too, and the solution is to restart Emacs I can handle it as part of 71343, which I'm still researching. On Wed, 5 Jun 2024 at 16:43, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > Date: Wed, 05 Jun 2024 18:06:49 +0300 > > From: Eli Zaretskii <eliz <at> gnu.org> > > Cc: 71289 <at> debbugs.gnu.org > > > > > From: Daniel Clemente <n142857 <at> gmail.com> > > > Date: Wed, 5 Jun 2024 13:50:48 +0000 > > > Cc: 71289 <at> debbugs.gnu.org > > > > > > With it (running on 799f78a92c6c31f4d181390523b83d036020ede1 with no > > > other changes), I still see the same types of crash that I already > > > reported: in tty_write_glyphs (see BT1 below) and in > > > build_frame_matrix_from_leaf_window (see BT2 below). > > > However they don't mention GC now. > > > > So it is not exactly the same type of crash. > > > > In what scenario does this happen now? IOW, what did you do to > > trigger those crashes? > > > > I'd like to ask you to run that scenario with a watchpoint on the > > variable delayed_size_change, and the following two watchpoint > > commands: > > > > bt 5 > > continue > > > > I hope the backtraces produced by this will explain who resets the > > delayed_size_change flag, seemingly prematurely(?), and might suggest > > ideas for a solution. (I have an idea already, but would like to see > > some data to make sure the idea is solid.) > > I decided to go with my idea anyway, so please update from Git before > trying next, and if the problem is still there, try answering my > questions above. > > Thanks.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 14:54:01 GMT) Full text and rfc822 format available.Message #83 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 06 Jun 2024 17:53:12 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Thu, 6 Jun 2024 12:34:34 +0000 > Cc: 71289 <at> debbugs.gnu.org > > The key to reproduce it to have 2 Emacs windows inside the frame: > 1. Open emacs (no need for emacsclient) with -Q. No need to set > garbage-collection-messages to t > 2. Do C-x 2 to have 2 windows, one above one below > 3. Resize the X window to make it very small, (1 line or so) > 4. It should immediately crash. > > (gdb) bt full > #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 > No locals. > #1 0x00005555556bd41b in emacs_abort () at sysdep.c:2391 > No locals. > #2 0x000055555558cb33 in check_matrix_pointers (window_matrix=0x5555588efa10, > frame_matrix=0x5555595855c0) at dispnew.c:3129 > i = 0 > j = 0 > #3 0x000055555558ca52 in check_window_matrix_pointers (w=0x5555591f66b8) > at dispnew.c:3098 > f = 0x555558008768 > #4 0x000055555558c9df in check_window_matrix_pointers (w=0x555559452b90) > at dispnew.c:3094 > No locals. > #5 0x000055555558c9df in check_window_matrix_pointers (w=0x55555960d2d8) > at dispnew.c:3094 > No locals. > #6 0x000055555558d10e in update_frame (f=0x555558008768, force_p=true, > inhibit_hairy_id_p=false) at dispnew.c:3359 > paused_p = false > root_window = 0x55555960d2d8 I see a different abort, for which I've now installed a fix. To try to fix the above one, I need some additional data: (gdb) frame 2 (gdb) p window_matrix->rows->glyphs[0] (gdb) p frame_matrix->rows->glyphs[0] (gdb) p frame_matrix->rows->glyphs[2] (gdb) p window_matrix->nrows (gdb) p frame_matrix->nrows
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 15:26:01 GMT) Full text and rfc822 format available.Message #86 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 6 Jun 2024 15:23:33 +0000
> I see a different abort, for which I've now installed a fix. To try > to fix the above one, I need some additional data: > > (gdb) frame 2 > (gdb) p window_matrix->rows->glyphs[0] > (gdb) p frame_matrix->rows->glyphs[0] > (gdb) p frame_matrix->rows->glyphs[2] > (gdb) p window_matrix->nrows > (gdb) p frame_matrix->nrows Right now if I run the C-x 2 and resize scenario, I get this other backtrace with build_frame_matrix_from_leaf_window, it's not the one you requested (the one in check_matrix_pointers), but does it help? This is with your latest patch. (gdb) bt #0 terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:443 #1 0x00005555557352d1 in die (msg=0x55555584e780 "frame_size_change_delayed (XFRAME (w->frame)) || glyph_row_slice_p (window_row, frame_row)", file=0x55555584e231 "dispnew.c", line=2646) at alloc.c:8082 #2 0x000055555558b5d1 in build_frame_matrix_from_leaf_window (frame_matrix=0x55555602bdd0, w=0x5555560596e8) at dispnew.c:2646 #3 0x000055555558b094 in build_frame_matrix_from_window_tree (matrix=0x55555602bdd0, w=0x5555560596e8) at dispnew.c:2535 #4 0x000055555558b07f in build_frame_matrix_from_window_tree (matrix=0x55555602bdd0, w=0x5555561dc308) at dispnew.c:2533 #5 0x000055555558b029 in build_frame_matrix (f=0x5555560594c8) at dispnew.c:2519 #6 0x000055555558cf9f in update_frame (f=0x5555560594c8, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3335 #7 0x00005555555cf68a in redisplay_internal () at xdisp.c:17464 #8 0x00005555555cffbe in redisplay_preserve_echo_area (from_where=11) at xdisp.c:17747 #9 0x00005555557edf64 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at process.c:5585 (gdb) frame 2 #2 0x000055555558b5d1 in build_frame_matrix_from_leaf_window (frame_matrix=0x55555602bdd0, w=0x5555560596e8) at dispnew.c:2646 2646 eassert (frame_size_change_delayed (XFRAME (w->frame)) (gdb) lisp Undefined command: "lisp". Try "help". (gdb) list 2641 } 2642 2643 #ifdef GLYPH_DEBUG 2644 /* Window row window_y must be a slice of frame row 2645 frame_y. */ 2646 eassert (frame_size_change_delayed (XFRAME (w->frame)) 2647 || glyph_row_slice_p (window_row, frame_row)); 2648 2649 /* If rows are in sync, we don't have to copy glyphs because 2650 frame and window share glyphs. */ (gdb) p window_matrix $1 = (struct glyph_matrix *) 0x55555602c2b0 (gdb) p window_matrix->rows->glyphs[0] $2 = (struct glyph *) 0x7ffff033f4c0 (gdb) xpr xpr xprintbytestr xprintstr xprintsym xprocess (gdb) p window_matrix->rows->glyphs[0] $3 = (struct glyph *) 0x7ffff033f4c0 (gdb) p frame_matrix->rows->glyphs[0] $4 = (struct glyph *) 0x7ffff02cf010 (gdb) p frame_matrix->rows->glyphs[2] $5 = (struct glyph *) 0x7ffff02cf4f0 (gdb) p window_matrix->nrows $6 = 2 (gdb) p frame_matrix->nrows $7 = 6 (gdb) And from another run: (gdb) p window_matrix->rows->glyphs[0] $8 = (struct glyph *) 0x7ffff2ac92e0 (gdb) p window_matrix->rows->glyphs[0] $9 = (struct glyph *) 0x7ffff2ac92e0 (gdb) pgx window_matrix->rows->glyphs[0] CHAR[6] pos=160 blev=0,btyp=L w=1 a+d=0+0 MB (gdb) p window_matrix->rows->glyphs[0] $10 = (struct glyph *) 0x7ffff2ac92e0 (gdb) pgx window_matrix->rows->glyphs[0] CHAR[6] pos=160 blev=0,btyp=L w=1 a+d=0+0 MB (gdb) p frame_matrix->rows->glyphs[0] $11 = (struct glyph *) 0x7ffff2a59010 (gdb) pgx frame_matrix->rows->glyphs[0] CHAR[F] str=0xf2223b2f[0] blev=0,btyp=L w=1 a+d=0+0 face=10 (gdb) p frame_matrix->rows->glyphs[2] $12 = (struct glyph *) 0x7ffff2a59340 (gdb) pgx frame_matrix->rows->glyphs[2] CHAR[ ] str=0xf2385987[-1] blev=0,btyp=B w=1 a+d=0+0 face=10 (gdb) p window_matrix->nrows $13 = 2 (gdb) p frame_matrix->nrows $14 = 8 (gdb)
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 16:14:02 GMT) Full text and rfc822 format available.Message #89 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 06 Jun 2024 19:13:26 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Thu, 6 Jun 2024 15:23:33 +0000 > Cc: 71289 <at> debbugs.gnu.org > > Right now if I run the C-x 2 and resize scenario, I get this other > backtrace with build_frame_matrix_from_leaf_window, it's not the one > you requested (the one in check_matrix_pointers), but does it help? > This is with your latest patch. When you do "C-x 2", does Emacs divide the root window horizontally or vertically? Are the windows one above the other or are they side by side?
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 16:47:02 GMT) Full text and rfc822 format available.Message #92 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 6 Jun 2024 16:44:53 +0000
> When you do "C-x 2", does Emacs divide the root window horizontally or > vertically? Are the windows one above the other or are they side by > side? One above the other. It doesn't crash if I divide them left/right. I can even use the auto-resizer loop and it doesn't crash, but as soon as I do C-x 2, it crashes.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Thu, 06 Jun 2024 18:26:02 GMT) Full text and rfc822 format available.Message #95 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Thu, 6 Jun 2024 18:06:16 +0000
> I see a different abort, for which I've now installed a fix. To try > to fix the above one, I need some additional data: In an Emacs build with this patch, I can't see the minibuffer anymore, also not while I type. Happens with -Q, with and without daemon. I didn't have time to test this thoroughly or to find where it came from. On Thu, 6 Jun 2024 at 14:53, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > From: Daniel Clemente <n142857 <at> gmail.com> > > Date: Thu, 6 Jun 2024 12:34:34 +0000 > > Cc: 71289 <at> debbugs.gnu.org > > > > The key to reproduce it to have 2 Emacs windows inside the frame: > > 1. Open emacs (no need for emacsclient) with -Q. No need to set > > garbage-collection-messages to t > > 2. Do C-x 2 to have 2 windows, one above one below > > 3. Resize the X window to make it very small, (1 line or so) > > 4. It should immediately crash. > > > > (gdb) bt full > > #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:443 > > No locals. > > #1 0x00005555556bd41b in emacs_abort () at sysdep.c:2391 > > No locals. > > #2 0x000055555558cb33 in check_matrix_pointers (window_matrix=0x5555588efa10, > > frame_matrix=0x5555595855c0) at dispnew.c:3129 > > i = 0 > > j = 0 > > #3 0x000055555558ca52 in check_window_matrix_pointers (w=0x5555591f66b8) > > at dispnew.c:3098 > > f = 0x555558008768 > > #4 0x000055555558c9df in check_window_matrix_pointers (w=0x555559452b90) > > at dispnew.c:3094 > > No locals. > > #5 0x000055555558c9df in check_window_matrix_pointers (w=0x55555960d2d8) > > at dispnew.c:3094 > > No locals. > > #6 0x000055555558d10e in update_frame (f=0x555558008768, force_p=true, > > inhibit_hairy_id_p=false) at dispnew.c:3359 > > paused_p = false > > root_window = 0x55555960d2d8 > > I see a different abort, for which I've now installed a fix. To try > to fix the above one, I need some additional data: > > (gdb) frame 2 > (gdb) p window_matrix->rows->glyphs[0] > (gdb) p frame_matrix->rows->glyphs[0] > (gdb) p frame_matrix->rows->glyphs[2] > (gdb) p window_matrix->nrows > (gdb) p frame_matrix->nrows
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 07 Jun 2024 06:13:02 GMT) Full text and rfc822 format available.Message #98 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 07 Jun 2024 09:11:59 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Thu, 6 Jun 2024 18:06:16 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > I see a different abort, for which I've now installed a fix. To try > > to fix the above one, I need some additional data: > > In an Emacs build with this patch, I can't see the minibuffer anymore, > also not while I type. Happens with -Q, with and without daemon. Sorry about that, late-night thinko. Should be fixed now.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 07 Jun 2024 06:45:02 GMT) Full text and rfc822 format available.Message #101 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 7 Jun 2024 06:42:13 +0000
> > In an Emacs build with this patch, I can't see the minibuffer anymore, > > also not while I type. Happens with -Q, with and without daemon. > > Sorry about that, late-night thinko. Should be fixed now. It is, thanks. The build_frame_matrix_from_leaf_window crash still happens.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Fri, 07 Jun 2024 07:15:02 GMT) Full text and rfc822 format available.Message #104 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Fri, 07 Jun 2024 09:47:35 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Fri, 7 Jun 2024 06:42:13 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > > In an Emacs build with this patch, I can't see the minibuffer anymore, > > > also not while I type. Happens with -Q, with and without daemon. > > > > Sorry about that, late-night thinko. Should be fixed now. > > It is, thanks. > The build_frame_matrix_from_leaf_window crash still happens. That's another problem. There seems to be some disconnect, time-wise, in reallocating frame matrices and sub-allocating window matrices from the frame matrices, and the crash happens when the check is done in-between those two. This will need more work. Patches and relevant data are welcome.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 04 Sep 2024 06:13:02 GMT) Full text and rfc822 format available.Message #107 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 4 Sep 2024 06:09:50 +0000
> > The build_frame_matrix_from_leaf_window crash still happens. > > That's another problem. There seems to be some disconnect, time-wise, > in reallocating frame matrices and sub-allocating window matrices from > the frame matrices, and the crash happens when the check is done > in-between those two. > > This will need more work. Patches and relevant data are welcome. I reported the build_frame_matrix_from_leaf_window problem separately to provide simpler instructions. (Can you mention the new bug number once it's approved?). The original problem mentioned here is about GC messages and it was fixed, so I think it can be closed. The build_frame_matrix_from_leaf_window error is easier to reproduce in comparison.
bug-gnu-emacs <at> gnu.org
:bug#71289
; Package emacs
.
(Wed, 04 Sep 2024 06:24:02 GMT) Full text and rfc822 format available.Message #110 received at 71289 <at> debbugs.gnu.org (full text, mbox):
From: Daniel Clemente <n142857 <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 71289 <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 4 Sep 2024 06:21:01 +0000
> I reported the build_frame_matrix_from_leaf_window problem separately to provide simpler instructions It's at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73022
Eli Zaretskii <eliz <at> gnu.org>
:Daniel Clemente <n142857 <at> gmail.com>
:Message #115 received at 71289-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Daniel Clemente <n142857 <at> gmail.com> Cc: 71289-done <at> debbugs.gnu.org Subject: Re: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases Date: Wed, 04 Sep 2024 14:59:55 +0300
> From: Daniel Clemente <n142857 <at> gmail.com> > Date: Wed, 4 Sep 2024 06:09:50 +0000 > Cc: 71289 <at> debbugs.gnu.org > > > > The build_frame_matrix_from_leaf_window crash still happens. > > > > That's another problem. There seems to be some disconnect, time-wise, > > in reallocating frame matrices and sub-allocating window matrices from > > the frame matrices, and the crash happens when the check is done > > in-between those two. > > > > This will need more work. Patches and relevant data are welcome. > > I reported the build_frame_matrix_from_leaf_window problem separately > to provide simpler instructions. (Can you mention the new bug number > once it's approved?). The original problem mentioned here is about GC > messages and it was fixed, so I think it can be closed. Thanks, done.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 03 Oct 2024 11:24:15 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.