Subject: bug#61887: 30.0.50; Segfault on revert-buffer-with-coding-system

From: Petteri Hintsanen <[email-masked]>
Date: Tue, 28 Feb 2023 23:48:18 +0200

Hello,

After editing a binary file in nhexl-mode, calling 
revert-buffer-with-coding-system crashed Emacs.  This happened initially 
on Emacs 28.2, but the current master branch crashes as well.

Please find a recipe below and gdb backtrace.

thanks,
Petteri

Preparation:

- Get nhexl-mode-1.5 from ELPA.

- Create a test file "junk.dat" with:

     dd if=/dev/random of=junk.dat bs=1k count=5k

   or use any existing large binary file (5 MBs or more).

Recipe:

./gdb --args emacs -Q

In *scratch* buffer, type

   (add-to-list 'load-path "~/.emacs.d/elpa/nhexl-mode-1.5")
   (require 'nhexl-mode)

M-x eval-buffer

M-x find-file-literally junk.dat

M-x nhexl-mode RET

M-x nhexl-mode RET

C-x RET r utf-8 RET yes RET

GDB output:

Starting program: /home/phintsan/src/emacs/src/emacs -Q
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff0986700 (LWP 250563)]
[New Thread 0x7fffebfff700 (LWP 250564)]
[New Thread 0x7fffea4ce700 (LWP 250565)]

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00005555557be729 in balance_an_interval (i=0x55555b47e090) at 
intervals.c:390
390		  new_diff = i->total_length - i->left->total_length
#0  0x00005555557be729 in balance_an_interval (i=0x55555b47e090)
     at intervals.c:390
         old_diff = 1
#1  0x00005555557be7c8 in balance_an_interval (i=0x55555b47d980)
     at intervals.c:395
         old_diff = <optimized out>
#2  0x00005555557be7c8 in balance_an_interval (i=0x55555b47d540)
     at intervals.c:395
         old_diff = <optimized out>
#3  0x00005555557be7c8 in balance_an_interval (i=0x55555b47d100)
     at intervals.c:395
         old_diff = <optimized out>
#4  0x00005555557be7c8 in balance_an_interval (i=0x55555b47d008)
     at intervals.c:395
         old_diff = <optimized out>
#5  0x00005555557be7c8 in balance_an_interval (i=0x55555b477cd0)
     at intervals.c:395
         old_diff = <optimized out>
#6  0x00005555557be7c8 in balance_an_interval (i=0x55555b475f50)
     at intervals.c:395
         old_diff = <optimized out>
#7  0x00005555557be7c8 in balance_an_interval (i=0x55555b473c80)
     at intervals.c:395
         old_diff = <optimized out>
#8  0x00005555557be7c8 in balance_an_interval (i=0x55555b466340)
     at intervals.c:395
         old_diff = <optimized out>
#9  0x00005555557be7c8 in balance_an_interval (i=0x55555b45d5a0)
     at intervals.c:395
         old_diff = <optimized out>
#10 0x00005555557be7c8 in balance_an_interval (i=0x55555b4384c0)
     at intervals.c:395
         old_diff = <optimized out>
#11 0x00005555557be7c8 in balance_an_interval (i=0x55555b3f1150)
     at intervals.c:395
         old_diff = <optimized out>
#12 0x00005555557be7c8 in balance_an_interval (i=0x55555b32e570)
     at intervals.c:395
         old_diff = <optimized out>
#13 0x00005555557be7c8 in balance_an_interval (i=0x55555b223ef0)
     at intervals.c:395
         old_diff = <optimized out>
#14 0x00005555557be7c8 in balance_an_interval (i=0x55555afb8160)
     at intervals.c:395
         old_diff = <optimized out>
#15 0x00005555557be7c8 in balance_an_interval (i=0x55555abbf160)
     at intervals.c:395
         old_diff = <optimized out>
#16 0x00005555557be7c8 in balance_an_interval (i=0x55555a619680)
     at intervals.c:395
         old_diff = <optimized out>
#17 0x00005555557be7c8 in balance_an_interval (i=0x5555595b7758)
     at intervals.c:395
         old_diff = <optimized out>
#18 0x00005555557be89d in balance_an_interval (i=0x55555b47ded0) at 
intervals.c:405
         old_diff = <optimized out>
#19 0x00005555557be953 in balance_possible_root_interval 
(interval=interval@entry=0x55555b47dfb0) at intervals.c:430
         parent = <optimized out>
         have_parent = false
#20 0x00005555557bfbda in split_interval_right 
(interval=interval@entry=0x55555b47dfb0, offset=offset@entry=-1) at 
intervals.c:517
         new = 0x55555b47ded0
         position = <optimized out>
         new_length = <optimized out>
#21 0x00005555557c34d9 in copy_intervals (tree=<optimized out>, 
start=start@entry=7476, length=length@entry=5033991) at intervals.c:2257
         i = 0x555558258930
         new = 0x555555e81ec8
         t = 0x55555b47dfb0
         got = 266489
         prevlen = -1
#22 0x00005555557c356d in copy_intervals_to_string 
(string=string@entry=XIL(0x555556866ae4), buffer=<optimized out>, 
position=position@entry=7476, length=length@entry=5033991) at 
intervals.c:2272
         interval_copy = <optimized out>
#23 0x0000555555754af0 in make_buffer_string_both 
(start=start@entry=7476, start_byte=start_byte@entry=11087, 
end=end@entry=5041467, end_byte=end_byte@entry=7485872, 
props=props@entry=true) at editfns.c:1629
         result = XIL(0x555556866ae4)
         tem = <optimized out>
         tem1 = <optimized out>
         beg0 = 11087
         end0 = <optimized out>
         beg1 = <optimized out>
         end1 = -1
         size = 7474785
#24 0x00005555556fdf77 in del_range_2 (from=7476, 
from_byte=from_byte@entry=11087, to=to@entry=5041467, 
to_byte=to_byte@entry=7485872, ret_string=ret_string@entry=false) at 
insdel.c:1905
         nbytes_del = 7474785
         nchars_del = 5033991
         deletion = <optimized out>
#25 0x0000555555700908 in del_range_byte 
(from_byte=from_byte@entry=11087, to_byte=to_byte@entry=7485872) at 
insdel.c:1826
         from = 7476
         to = 5041467
#26 0x000055555570e267 in Finsert_file_contents 
(filename=XIL(0x555556058384), visit=XIL(0x30), beg=<optimized out>, 
end=<optimized out>, replace=XIL(0x30)) at fileio.c:4533
         bufpos = <optimized out>
         this = 0
         decoded = <optimized out>
         temp = <optimized out>
         same_at_start_charpos = <optimized out>
         inserted_chars = <optimized out>
         overlap = <optimized out>
         conversion_buffer = XIL(0x5555565c8425)
         st = {
           st_dev = 2081,
           st_ino = 31720858,
           st_nlink = 1,
           st_mode = 33200,
           st_uid = 1000,
           st_gid = 1000,
           __pad0 = 0,
           st_rdev = 0,
           st_size = 5242880,
           st_blksize = 4096,
           st_blocks = 10240,
           st_atim = {
             tv_sec = 1677619312,
             tv_nsec = 984772057
           },
           st_mtim = {
             tv_sec = 1677619265,
             tv_nsec = 828917393
           },
           st_ctim = {
             tv_sec = 1677619265,
             tv_nsec = 828917393
           },
           __glibc_reserved = {0, 0, 0}
         }
         mtime = {
           tv_sec = 1677619265,
           tv_nsec = 828917393
         }
         fd = <optimized out>
         inserted = 7476702
         unprocessed = <optimized out>
         handler = XIL(0)
         val = XIL(0)
         insval = <optimized out>
         orig_filename = XIL(0x555556058384)
         old_undo = XIL(0)
         p = XIL(0)
         total = 0
         regular = <optimized out>
         save_errno = 0
         read_buf = 
"\236/\242k\231Grs\246\237\350\314n;\201\v<ՙ)\300\020g\243?;6s$(F\340\302\323\353\231\306uV4ț\262\330%\313\356\342A\246\345\312Q\024@Ó\213\272\256\027\317\062W\327\265\363\324,\315'>?\375\230N\fq\356\n\033*\207\006\260\232R\201\252Lm\330>G\003\220e\306ձ#\"\264MuI\245\342\263\006Y\314;\334R\253\314)\003\237\303\027˔\nBCAhwS\311\030<\275\037\264?\231:\364Z\303\350K̋}Ч\004^^\222\222\252\264S\226\330\310\306G\316'\360\364\067\376\300\363\276\222\061T\254\277\002s~=~\203\207\237r\266MC98\213\266\262$\260o\373~r\334Z\206\216\271?\262\b"...
         coding = {
           id = 34,
           common_flags = 3072,
           mode = 0,
           src_multibyte = false,
           dst_multibyte = true,
           chars_at_source = false,
           raw_destination = false,
           annotated = false,
           eol_seen = 0,
           result = CODING_RESULT_SUCCESS,
           max_charset_id = 2,
           spec = {
             iso_2022 = {
               flags = 1,
               current_invocation = {0, 0},
               current_designation = {0, 0, 0, 0},
               ctext_extended_segment_len = 0,
               single_shifting = false,
               bol = false,
               embedded_utf_8 = false,
               cmp_status = {
                 state = COMPOSING_NO,
                 method = COMPOSITION_RELATIVE,
                 old_form = false,
                 length = 0,
                 nchars = 0,
                 ncomps = 0,
                 carryover = {0, 0, 0, -1700890880, 688408954, 0, 0, 
-28004, 32767, 1441713600, 21845, -28032, 32767, 1447517104, 21845, 
-28036, 32767, 1, 0, -147550513, 32767, 0, 0, -26144, 32767, -27904, 
32767, -28020, 32767, 0, 0, -147554525, 32767, -26144, 32767, 
-146502432, 32767, -26144, 32767, 2, 0, 1, 0, -147548944, 32767, 1, 0, 
1447517104, 21845, -28036, 32767, 0, 0, 0, 0, 1447379664, 21845, 0, 0, 
0, 0, 1447379664, 21845, 2, -8388608, -8388608, 16777215, 16777215}
               }
             },
             ccl = 0x1,
             utf_16 = {
               bom = utf_without_bom,
               endian = utf_16_big_endian,
               surrogate = 0
             },
             utf_8_bom = utf_without_bom,
             emacs_mule = {
               cmp_status = {
                 state = COMPOSING_CHAR,
                 method = COMPOSITION_RELATIVE,
                 old_form = false,
                 length = 0,
                 nchars = 0,
                 ncomps = 0,
                 carryover = {0 <repeats 12 times>, -1700890880, 
688408954, 0, 0, -28004, 32767, 1441713600, 21845, -28032, 32767, 
1447517104, 21845, -28036, 32767, 1, 0, -147550513, 32767, 0, 0, -26144, 
32767, -27904, 32767, -28020, 32767, 0, 0, -147554525, 32767, -26144, 
32767, -146502432, 32767, -26144, 32767, 2, 0, 1, 0, -147548944, 32767, 
1, 0, 1447517104, 21845, -28036, 32767, 0, 0, 0, 0, 1447379664, 21845, 0, 0}
               }
             },
             undecided = {
               inhibit_nbd = 1,
               inhibit_ied = 0,
               prefer_utf_8 = false
             }
           },
           safe_charsets = 0x7ffff20bfb97 "\377\377",
           head_ascii = 0,
           detected_utf8_bytes = 5317169512448,
           detected_utf8_chars = 1080,
           produced = 289,
           produced_char = 194,
           consumed = 202,
           consumed_char = 202,
           src_pos = 0,
           src_pos_byte = 0,
           src_chars = 202,
           src_bytes = 202,
           src_object = XIL(0),
           source = 0x7fffffff93b0 
"\236/\242k\231Grs\246\237\350\314n;\201\v<ՙ)\300\020g\243?;6s$(F\340\302\323\353\231\306uV4ț\262\330%\313\356\342A\246\345\312Q\024@Ó\213\272\256\027\317\062W\327\265\363\324,\315'>?\375\230N\fq\356\n\033*\207\006\260\232R\201\252Lm\330>G\003\220e\306ձ#\"\264MuI\245\342\263\006Y\314;\334R\253\314)\003\237\303\027˔\nBCAhwS\311\030<\275\037\264?\231:\364Z\303\350K̋}Ч\004^^\222\222\252\264S\226\330\310\306G\316'\360\364\067\376\300\363\276\222\061T\254\277\002s~=~\203\207\237r\266MC98\213\266\262$\260o\373~r"...,
           dst_pos = 5043114,
           dst_pos_byte = 7488325,
           dst_bytes = 49205,
           dst_object = XIL(0x5555565c8425),
           destination = 0x7fffe8e11354 
"\300\236/\300\242k\300\231Grs\300\246\300\237\301\250\301\214n;\300\201\v<ՙ)\301\200\020g\300\243?;6s$(F\301\240\301\202\301\223\301\253\300\231\301\206uV4ț\300\262\301\230%\301\213\301\256\301\242A\300\246\301\245\301\212Q\024@Ó\300\213\300\272\300\256\027\301\217\062W\327\265\301\263\301\224,\301\215'>?\301\275\300\230N\fq\301\256\n\033*\300\207\006\300\260\300\232R\300\201\300\252Lm\301\230>G\003\300\220e\301\206ձ#\"\300\264MuI\300\245\301\242\300\263\006Y\301\214;\301\234R\300\253\301\214)\003\300\237\301\203\027˔\nBCAhwS\301\211\030<\300\275\037\300\264?\300\231:\301\264Z\301"...,
           charbuf = 0x7fffffff89c0,
           charbuf_size = 218,
           charbuf_used = 194,
           carryover = "\236\265\275", '\000' <repeats 19 times>, 
"\360?", '\000' <repeats 22 times>, 
"\360?\000\000\000\000\000\000\360?\000\000\000\000\000\000\360?",
           carryover_bytes = 0,
           default_char = 32,
           detector = 0x555555643090 <detect_coding_utf_8>,
           decoder = 0x55555563c530 <decode_coding_utf_8>,
           encoder = 0x555555635b60 <encode_coding_utf_8>
         }
         replace_handled = <optimized out>
         set_coding_system = true
         coding_system = XIL(0x115e0)
         read_quit = 0
         empty_undo_list_p = <optimized out>
         we_locked_file = <optimized out>
         window_markers = <optimized out>
         same_at_start = 11087
         same_at_end = 7485872
         same_at_end_charpos = 5041467
         seekable = <optimized out>
         beg_offset = <optimized out>
         end_offset = <optimized out>
#27 0x000055555579efc5 in exec_byte_code (fun=<optimized out>, 
args_template=<optimized out>, nargs=<optimized out>, args=<optimized 
out>) at bytecode.c:809
         call_nargs = 5
         call_fun = <optimized out>
         template = <optimized out>
         val = <optimized out>
         call_args = 0x7ffff0b6d238
         original_fun = XIL(0x9810)
         bytecode = <optimized out>
         op = 5
         type = <optimized out>
         targets = {0x5555555a3e69 <exec_byte_code-2076087>, 
0x55555579f42b <exec_byte_code+2059>, 0x55555579f426 
<exec_byte_code+2054>, 0x55555579f421 <exec_byte_code+2049>, 
0x55555579ede2 <exec_byte_code+450>, 0x55555579ede2 
<exec_byte_code+450>, 0x55555579f3ed <exec_byte_code+1997>, 
0x55555579f3b9 <exec_byte_code+1945>, 0x55555579fb21 
<exec_byte_code+3841>, 0x55555579fb1c <exec_byte_code+3836>, 
0x55555579fb17 <exec_byte_code+3831>, 0x55555579fb12 
<exec_byte_code+3826>, 0x55555579ee11 <exec_byte_code+497>, 
0x55555579ee18 <exec_byte_code+504>, 0x55555579fb04 
<exec_byte_code+3812>, 0x55555579fa88 <exec_byte_code+3688>, 
0x55555579fba8 <exec_byte_code+3976>, 0x55555579fba3 
<exec_byte_code+3971>, 0x55555579fb9e <exec_byte_code+3966>, 
0x55555579fb99 <exec_byte_code+3961>, 0x55555579ed7a 
<exec_byte_code+346>, 0x55555579ed80 <exec_byte_code+352>, 
0x55555579fb7d <exec_byte_code+3933>, 0x55555579fb8b 
<exec_byte_code+3947>, 0x55555579fb30 <exec_byte_code+3856>, 
0x55555579fb2b <exec_byte_code+3851>, 0x55555579fb26 
<exec_byte_code+3846>, 0x5555557a00d8 <exec_byte_code+5304>, 
0x55555579f014 <exec_byte_code+1012>, 0x55555579f018 
<exec_byte_code+1016>, 0x55555579fb43 <exec_byte_code+3875>, 
0x55555579fb35 <exec_byte_code+3861>, 0x5555557a00b7 
<exec_byte_code+5271>, 0x5555557a00b2 <exec_byte_code+5266>, 
0x5555557a00ad <exec_byte_code+5261>, 0x5555557a00a8 
<exec_byte_code+5256>, 0x55555579ee75 <exec_byte_code+597>, 
0x55555579ee78 <exec_byte_code+600>, 0x5555557a00ca 
<exec_byte_code+5290>, 0x5555557a00bc <exec_byte_code+5276>, 
0x5555557a0087 <exec_byte_code+5223>, 0x5555557a0082 
<exec_byte_code+5218>, 0x5555557a007d <exec_byte_code+5213>, 
0x5555557a0078 <exec_byte_code+5208>, 0x55555579f058 
<exec_byte_code+1080>, 0x55555579f060 <exec_byte_code+1088>, 
0x5555557a009a <exec_byte_code+5242>, 0x5555557a008c 
<exec_byte_code+5228>, 0x55555579fd0a <exec_byte_code+4330>, 
0x55555579fd37 <exec_byte_code+4375>, 0x55555579fda0 
<exec_byte_code+4480>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555557a0f40 
<exec_byte_code+8992>, 0x5555557a0ee1 <exec_byte_code+8897>, 
0x5555557a0ea5 <exec_byte_code+8837>, 0x5555557a0e69 
<exec_byte_code+8777>, 0x5555557a0e2a <exec_byte_code+8714>, 
0x55555579fc1b <exec_byte_code+4091>, 0x55555579fbe1 
<exec_byte_code+4033>, 0x5555557a0dff <exec_byte_code+8671>, 
0x55555579fa96 <exec_byte_code+3702>, 0x55555579fbad 
<exec_byte_code+3981>, 0x5555557a0dc5 <exec_byte_code+8613>, 
0x5555557a0d9c <exec_byte_code+8572>, 0x5555557a0d62 
<exec_byte_code+8514>, 0x5555557a0d2c <exec_byte_code+8460>, 
0x5555557a0cf2 <exec_byte_code+8402>, 0x5555557a0c8d 
<exec_byte_code+8301>, 0x5555557a0c1e <exec_byte_code+8190>, 
0x5555557a0bac <exec_byte_code+8076>, 0x5555557a0b83 
<exec_byte_code+8035>, 0x5555557a0b5a <exec_byte_code+7994>, 
0x5555557a0b20 <exec_byte_code+7936>, 0x5555557a0ae6 
<exec_byte_code+7878>, 0x5555557a0aac <exec_byte_code+7820>, 
0x5555557a0a6e <exec_byte_code+7758>, 0x5555557a0a3b 
<exec_byte_code+7707>, 0x5555557a0a08 <exec_byte_code+7656>, 
0x5555557a09d5 <exec_byte_code+7605>, 0x5555557a0944 
<exec_byte_code+7460>, 0x5555557a08ef <exec_byte_code+7375>, 
0x5555557a08a4 <exec_byte_code+7300>, 0x5555557a0856 
<exec_byte_code+7222>, 0x5555557a0808 <exec_byte_code+7144>, 
0x5555557a07ba <exec_byte_code+7066>, 0x5555557a076c 
<exec_byte_code+6988>, 0x5555557a071a <exec_byte_code+6906>, 
0x5555557a06c4 <exec_byte_code+6820>, 0x5555557a0672 
<exec_byte_code+6738>, 0x5555557a0620 <exec_byte_code+6656>, 
0x5555557a05ce <exec_byte_code+6574>, 0x5555557a057b 
<exec_byte_code+6491>, 0x5555557a049d <exec_byte_code+6269>, 
0x55555579f0a2 <exec_byte_code+1154>, 0x5555557a0474 
<exec_byte_code+6228>, 0x5555557a0446 <exec_byte_code+6182>, 
0x5555557a03c7 <exec_byte_code+6055>, 0x5555557a0384 
<exec_byte_code+5988>, 0x5555557a035b <exec_byte_code+5947>, 
0x5555557a0330 <exec_byte_code+5904>, 0x5555557a0305 
<exec_byte_code+5861>, 0x5555557a02d2 <exec_byte_code+5810>, 
0x5555557a02a7 <exec_byte_code+5767>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555557a027c <exec_byte_code+5724>, 
0x5555557a0251 <exec_byte_code+5681>, 0x5555557a0226 
<exec_byte_code+5638>, 0x5555557a01fb <exec_byte_code+5595>, 
0x5555557a01d0 <exec_byte_code+5552>, 0x5555557a01a7 
<exec_byte_code+5511>, 0x55555579f0a2 <exec_byte_code+1154>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555557a0169 
<exec_byte_code+5449>, 0x5555557a0140 <exec_byte_code+5408>, 
0x5555557a0117 <exec_byte_code+5367>, 0x5555557a00dd 
<exec_byte_code+5309>, 0x55555579fa4e <exec_byte_code+3630>, 
0x55555579fa25 <exec_byte_code+3589>, 0x55555579f9fc 
<exec_byte_code+3548>, 0x55555579f9c2 <exec_byte_code+3490>, 
0x55555579f988 <exec_byte_code+3432>, 0x55555579f94e 
<exec_byte_code+3374>, 0x55555579f923 <exec_byte_code+3331>, 
0x55555579f8fa <exec_byte_code+3290>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579fe91 <exec_byte_code+4721>, 
0x5555557a0023 <exec_byte_code+5123>, 0x55555579faca 
<exec_byte_code+3754>, 0x55555579ffe9 <exec_byte_code+5065>, 
0x55555579ffb2 <exec_byte_code+5010>, 0x55555579ff7b 
<exec_byte_code+4955>, 0x55555579fee3 <exec_byte_code+4803>, 
0x55555579fec5 <exec_byte_code+4773>, 0x55555579fb51 
<exec_byte_code+3889>, 0x55555579fe73 <exec_byte_code+4691>, 
0x55555579fe17 <exec_byte_code+4599>, 0x55555579fde9 
<exec_byte_code+4553>, 0x55555579fda8 <exec_byte_code+4488>, 
0x55555579fcbf <exec_byte_code+4255>, 0x5555557a101e 
<exec_byte_code+9214>, 0x5555557a0fdb <exec_byte_code+9147>, 
0x5555557a0f84 <exec_byte_code+9060>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579f8bc <exec_byte_code+3228>, 
0x55555579f893 <exec_byte_code+3187>, 0x55555579f86a 
<exec_byte_code+3146>, 0x55555579f841 <exec_byte_code+3105>, 
0x55555579f818 <exec_byte_code+3064>, 0x55555579f7de 
<exec_byte_code+3006>, 0x55555579f7a4 <exec_byte_code+2948>, 
0x55555579f76a <exec_byte_code+2890>, 0x55555579f730 
<exec_byte_code+2832>, 0x55555579f6e5 <exec_byte_code+2757>, 
0x55555579f6ab <exec_byte_code+2699>, 0x55555579f671 
<exec_byte_code+2641>, 0x55555579f648 <exec_byte_code+2600>, 
0x55555579f5ea <exec_byte_code+2506>, 0x55555579f58c 
<exec_byte_code+2412>, 0x55555579f559 <exec_byte_code+2361>, 
0x55555579f526 <exec_byte_code+2310>, 0x55555579f4f6 
<exec_byte_code+2262>, 0x5555557a0529 <exec_byte_code+6409>, 
0x5555557a04e0 <exec_byte_code+6336>, 0x55555579f490 
<exec_byte_code+2160>, 0x55555579f430 <exec_byte_code+2064>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555557a0cb6 <exec_byte_code+8342>, 0x5555557a0999 
<exec_byte_code+7545>, 0x5555557a040a <exec_byte_code+6122>, 
0x55555579f37d <exec_byte_code+1885>, 0x55555579f341 
<exec_byte_code+1825>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x55555579f312 
<exec_byte_code+1778>, 0x55555579f2b9 <exec_byte_code+1689>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579f289 <exec_byte_code+1641> <repeats 
64 times>}
         quitcounter = 1 '\001'
         bc = 0x555555ceae50 <main_thread+496>
         top = <optimized out>
         pc = <optimized out>
         bytestr = <optimized out>
         vector = <optimized out>
         maxdepth = <optimized out>
         bytestr_length = <optimized out>
         vectorp = 0x7ffff1842b50
         frame_base = <optimized out>
         fp = <optimized out>
         bytestr_data = <optimized out>
         rest = <optimized out>
         mandatory = <optimized out>
         nonrest = <optimized out>
         pushedargs = <optimized out>
         result = <optimized out>
#28 0x00005555557596e3 in Ffuncall (nargs=nargs@entry=3, 
args=args@entry=0x7fffffffd508) at eval.c:2997
         val = <optimized out>
#29 0x000055555575557f in Ffuncall_interactively (nargs=3, 
args=0x7fffffffd508) at callint.c:250
#30 0x00005555557596e3 in Ffuncall (nargs=nargs@entry=4, 
args=args@entry=0x7fffffffd500) at eval.c:2997
         val = <optimized out>
#31 0x0000555555756ab3 in Fcall_interactively (function=<optimized out>, 
record_flag=<optimized out>, keys=<optimized out>) at callint.c:787
         speccount = {
           bytes = <optimized out>
         }
         arg_from_tty = <optimized out>
         key_count = <optimized out>
         record_then_fail = <optimized out>
         save_this_command = <optimized out>
         save_this_original_command = <optimized out>
         save_real_this_command = <optimized out>
         save_last_command = <optimized out>
         prefix_arg = <optimized out>
         enable = <optimized out>
         up_event = <optimized out>
         form = <optimized out>
         specs = <optimized out>
         sa_avail = <optimized out>
         string_len = <optimized out>
         string = <optimized out>
         string_end = <optimized out>
         next_event = <optimized out>
         nargs = <optimized out>
         args = <optimized out>
         visargs = <optimized out>
         tem = <optimized out>
         val = <optimized out>
#32 0x000055555579efc5 in exec_byte_code (fun=<optimized out>, 
args_template=<optimized out>, nargs=<optimized out>, args=<optimized 
out>) at bytecode.c:809
         call_nargs = 3
         call_fun = <optimized out>
         template = <optimized out>
         val = <optimized out>
         call_args = 0x7ffff0b6d070
         original_fun = XIL(0x2aaa9ba7fe78)
         bytecode = <optimized out>
         op = 3
         type = <optimized out>
         targets = {0x5555555a3e69 <exec_byte_code-2076087>, 
0x55555579f42b <exec_byte_code+2059>, 0x55555579f426 
<exec_byte_code+2054>, 0x55555579f421 <exec_byte_code+2049>, 
0x55555579ede2 <exec_byte_code+450>, 0x55555579ede2 
<exec_byte_code+450>, 0x55555579f3ed <exec_byte_code+1997>, 
0x55555579f3b9 <exec_byte_code+1945>, 0x55555579fb21 
<exec_byte_code+3841>, 0x55555579fb1c <exec_byte_code+3836>, 
0x55555579fb17 <exec_byte_code+3831>, 0x55555579fb12 
<exec_byte_code+3826>, 0x55555579ee11 <exec_byte_code+497>, 
0x55555579ee18 <exec_byte_code+504>, 0x55555579fb04 
<exec_byte_code+3812>, 0x55555579fa88 <exec_byte_code+3688>, 
0x55555579fba8 <exec_byte_code+3976>, 0x55555579fba3 
<exec_byte_code+3971>, 0x55555579fb9e <exec_byte_code+3966>, 
0x55555579fb99 <exec_byte_code+3961>, 0x55555579ed7a 
<exec_byte_code+346>, 0x55555579ed80 <exec_byte_code+352>, 
0x55555579fb7d <exec_byte_code+3933>, 0x55555579fb8b 
<exec_byte_code+3947>, 0x55555579fb30 <exec_byte_code+3856>, 
0x55555579fb2b <exec_byte_code+3851>, 0x55555579fb26 
<exec_byte_code+3846>, 0x5555557a00d8 <exec_byte_code+5304>, 
0x55555579f014 <exec_byte_code+1012>, 0x55555579f018 
<exec_byte_code+1016>, 0x55555579fb43 <exec_byte_code+3875>, 
0x55555579fb35 <exec_byte_code+3861>, 0x5555557a00b7 
<exec_byte_code+5271>, 0x5555557a00b2 <exec_byte_code+5266>, 
0x5555557a00ad <exec_byte_code+5261>, 0x5555557a00a8 
<exec_byte_code+5256>, 0x55555579ee75 <exec_byte_code+597>, 
0x55555579ee78 <exec_byte_code+600>, 0x5555557a00ca 
<exec_byte_code+5290>, 0x5555557a00bc <exec_byte_code+5276>, 
0x5555557a0087 <exec_byte_code+5223>, 0x5555557a0082 
<exec_byte_code+5218>, 0x5555557a007d <exec_byte_code+5213>, 
0x5555557a0078 <exec_byte_code+5208>, 0x55555579f058 
<exec_byte_code+1080>, 0x55555579f060 <exec_byte_code+1088>, 
0x5555557a009a <exec_byte_code+5242>, 0x5555557a008c 
<exec_byte_code+5228>, 0x55555579fd0a <exec_byte_code+4330>, 
0x55555579fd37 <exec_byte_code+4375>, 0x55555579fda0 
<exec_byte_code+4480>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555557a0f40 
<exec_byte_code+8992>, 0x5555557a0ee1 <exec_byte_code+8897>, 
0x5555557a0ea5 <exec_byte_code+8837>, 0x5555557a0e69 
<exec_byte_code+8777>, 0x5555557a0e2a <exec_byte_code+8714>, 
0x55555579fc1b <exec_byte_code+4091>, 0x55555579fbe1 
<exec_byte_code+4033>, 0x5555557a0dff <exec_byte_code+8671>, 
0x55555579fa96 <exec_byte_code+3702>, 0x55555579fbad 
<exec_byte_code+3981>, 0x5555557a0dc5 <exec_byte_code+8613>, 
0x5555557a0d9c <exec_byte_code+8572>, 0x5555557a0d62 
<exec_byte_code+8514>, 0x5555557a0d2c <exec_byte_code+8460>, 
0x5555557a0cf2 <exec_byte_code+8402>, 0x5555557a0c8d 
<exec_byte_code+8301>, 0x5555557a0c1e <exec_byte_code+8190>, 
0x5555557a0bac <exec_byte_code+8076>, 0x5555557a0b83 
<exec_byte_code+8035>, 0x5555557a0b5a <exec_byte_code+7994>, 
0x5555557a0b20 <exec_byte_code+7936>, 0x5555557a0ae6 
<exec_byte_code+7878>, 0x5555557a0aac <exec_byte_code+7820>, 
0x5555557a0a6e <exec_byte_code+7758>, 0x5555557a0a3b 
<exec_byte_code+7707>, 0x5555557a0a08 <exec_byte_code+7656>, 
0x5555557a09d5 <exec_byte_code+7605>, 0x5555557a0944 
<exec_byte_code+7460>, 0x5555557a08ef <exec_byte_code+7375>, 
0x5555557a08a4 <exec_byte_code+7300>, 0x5555557a0856 
<exec_byte_code+7222>, 0x5555557a0808 <exec_byte_code+7144>, 
0x5555557a07ba <exec_byte_code+7066>, 0x5555557a076c 
<exec_byte_code+6988>, 0x5555557a071a <exec_byte_code+6906>, 
0x5555557a06c4 <exec_byte_code+6820>, 0x5555557a0672 
<exec_byte_code+6738>, 0x5555557a0620 <exec_byte_code+6656>, 
0x5555557a05ce <exec_byte_code+6574>, 0x5555557a057b 
<exec_byte_code+6491>, 0x5555557a049d <exec_byte_code+6269>, 
0x55555579f0a2 <exec_byte_code+1154>, 0x5555557a0474 
<exec_byte_code+6228>, 0x5555557a0446 <exec_byte_code+6182>, 
0x5555557a03c7 <exec_byte_code+6055>, 0x5555557a0384 
<exec_byte_code+5988>, 0x5555557a035b <exec_byte_code+5947>, 
0x5555557a0330 <exec_byte_code+5904>, 0x5555557a0305 
<exec_byte_code+5861>, 0x5555557a02d2 <exec_byte_code+5810>, 
0x5555557a02a7 <exec_byte_code+5767>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555557a027c <exec_byte_code+5724>, 
0x5555557a0251 <exec_byte_code+5681>, 0x5555557a0226 
<exec_byte_code+5638>, 0x5555557a01fb <exec_byte_code+5595>, 
0x5555557a01d0 <exec_byte_code+5552>, 0x5555557a01a7 
<exec_byte_code+5511>, 0x55555579f0a2 <exec_byte_code+1154>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555557a0169 
<exec_byte_code+5449>, 0x5555557a0140 <exec_byte_code+5408>, 
0x5555557a0117 <exec_byte_code+5367>, 0x5555557a00dd 
<exec_byte_code+5309>, 0x55555579fa4e <exec_byte_code+3630>, 
0x55555579fa25 <exec_byte_code+3589>, 0x55555579f9fc 
<exec_byte_code+3548>, 0x55555579f9c2 <exec_byte_code+3490>, 
0x55555579f988 <exec_byte_code+3432>, 0x55555579f94e 
<exec_byte_code+3374>, 0x55555579f923 <exec_byte_code+3331>, 
0x55555579f8fa <exec_byte_code+3290>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579fe91 <exec_byte_code+4721>, 
0x5555557a0023 <exec_byte_code+5123>, 0x55555579faca 
<exec_byte_code+3754>, 0x55555579ffe9 <exec_byte_code+5065>, 
0x55555579ffb2 <exec_byte_code+5010>, 0x55555579ff7b 
<exec_byte_code+4955>, 0x55555579fee3 <exec_byte_code+4803>, 
0x55555579fec5 <exec_byte_code+4773>, 0x55555579fb51 
<exec_byte_code+3889>, 0x55555579fe73 <exec_byte_code+4691>, 
0x55555579fe17 <exec_byte_code+4599>, 0x55555579fde9 
<exec_byte_code+4553>, 0x55555579fda8 <exec_byte_code+4488>, 
0x55555579fcbf <exec_byte_code+4255>, 0x5555557a101e 
<exec_byte_code+9214>, 0x5555557a0fdb <exec_byte_code+9147>, 
0x5555557a0f84 <exec_byte_code+9060>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579f8bc <exec_byte_code+3228>, 
0x55555579f893 <exec_byte_code+3187>, 0x55555579f86a 
<exec_byte_code+3146>, 0x55555579f841 <exec_byte_code+3105>, 
0x55555579f818 <exec_byte_code+3064>, 0x55555579f7de 
<exec_byte_code+3006>, 0x55555579f7a4 <exec_byte_code+2948>, 
0x55555579f76a <exec_byte_code+2890>, 0x55555579f730 
<exec_byte_code+2832>, 0x55555579f6e5 <exec_byte_code+2757>, 
0x55555579f6ab <exec_byte_code+2699>, 0x55555579f671 
<exec_byte_code+2641>, 0x55555579f648 <exec_byte_code+2600>, 
0x55555579f5ea <exec_byte_code+2506>, 0x55555579f58c 
<exec_byte_code+2412>, 0x55555579f559 <exec_byte_code+2361>, 
0x55555579f526 <exec_byte_code+2310>, 0x55555579f4f6 
<exec_byte_code+2262>, 0x5555557a0529 <exec_byte_code+6409>, 
0x5555557a04e0 <exec_byte_code+6336>, 0x55555579f490 
<exec_byte_code+2160>, 0x55555579f430 <exec_byte_code+2064>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555557a0cb6 <exec_byte_code+8342>, 0x5555557a0999 
<exec_byte_code+7545>, 0x5555557a040a <exec_byte_code+6122>, 
0x55555579f37d <exec_byte_code+1885>, 0x55555579f341 
<exec_byte_code+1825>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x55555579f312 
<exec_byte_code+1778>, 0x55555579f2b9 <exec_byte_code+1689>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x5555555a3e69 <exec_byte_code-2076087>, 
0x5555555a3e69 <exec_byte_code-2076087>, 0x5555555a3e69 
<exec_byte_code-2076087>, 0x55555579f289 <exec_byte_code+1641> <repeats 
64 times>}
         quitcounter = 1 '\001'
         bc = 0x555555ceae50 <main_thread+496>
         top = <optimized out>
         pc = <optimized out>
         bytestr = <optimized out>
         vector = <optimized out>
         maxdepth = <optimized out>
         bytestr_length = <optimized out>
         vectorp = 0x7ffff18b4a80
         frame_base = <optimized out>
         fp = <optimized out>
         bytestr_data = <optimized out>
         rest = <optimized out>
         mandatory = <optimized out>
         nonrest = <optimized out>
         pushedargs = <optimized out>
         result = <optimized out>
#33 0x00005555557596e3 in Ffuncall (nargs=nargs@entry=2, 
args=args@entry=0x7fffffffd7f0) at eval.c:2997
         val = <optimized out>
#34 0x00005555556e1cde in call1 (arg1=<optimized out>, fn=XIL(0x4cb0)) 
at lisp.h:3247
         cmd = XIL(0x7fffffffd7f0)
         keybuf = {make_fixnum(24), make_fixnum(13), make_fixnum(114), 
XIL(0x80), XIL(0x7ffff1b33395), XIL(0x7fffffffd810), make_fixnum(4), 
XIL(0), XIL(0x4000000011000000), XIL(0x555555d74fe0), XIL(0x3), 
XIL(0x2aaa9bdbe380), XIL(0x7fffffffd920), XIL(0x55555575cf0d), 
XIL(0x3500000014), make_fixnum(133143986203), XIL(0), XIL(0x80), XIL(0), 
XIL(0x60), XIL(0), XIL(0x30), XIL(0x7ffff17ea70d), XIL(0x555555821370), 
XIL(0x9c00), make_fixnum(23456248587376), XIL(0x7fffffffda58), 
XIL(0x7ffff544e299), XIL(0xb), XIL(0x9c00)}
         i = <optimized out>
         prev_modiff = 123
         prev_buffer = 0x5555567a7b58
#35 command_loop_1 () at keyboard.c:1494
         cmd = XIL(0x7fffffffd7f0)
         keybuf = {make_fixnum(24), make_fixnum(13), make_fixnum(114), 
XIL(0x80), XIL(0x7ffff1b33395), XIL(0x7fffffffd810), make_fixnum(4), 
XIL(0), XIL(0x4000000011000000), XIL(0x555555d74fe0), XIL(0x3), 
XIL(0x2aaa9bdbe380), XIL(0x7fffffffd920), XIL(0x55555575cf0d), 
XIL(0x3500000014), make_fixnum(133143986203), XIL(0), XIL(0x80), XIL(0), 
XIL(0x60), XIL(0), XIL(0x30), XIL(0x7ffff17ea70d), XIL(0x555555821370), 
XIL(0x9c00), make_fixnum(23456248587376), XIL(0x7fffffffda58), 
XIL(0x7ffff544e299), XIL(0xb), XIL(0x9c00)}
         i = <optimized out>
         prev_modiff = 123
         prev_buffer = 0x5555567a7b58
#36 0x0000555555757e27 in internal_condition_case 
(bfun=bfun@entry=0x5555556e18e0 <command_loop_1>, 
handlers=handlers@entry=XIL(0x90), hfun=hfun@entry=0x5555556d4d00 
<cmd_error>) at eval.c:1474
         val = <optimized out>
         c = 0x555555e71eb0
#37 0x00005555556cd9a2 in command_loop_2 
(handlers=handlers@entry=XIL(0x90)) at keyboard.c:1124
         val = <optimized out>
#38 0x0000555555757d81 in internal_catch (tag=tag@entry=XIL(0x103e0), 
func=func@entry=0x5555556cd980 <command_loop_2>, 
arg=arg@entry=XIL(0x90)) at eval.c:1197
         val = <optimized out>
         c = 0x555555e71400
#39 0x00005555556cd93e in command_loop () at lisp.h:1164
#40 0x00005555556d48b3 in recursive_edit_1 () at keyboard.c:711
         val = <optimized out>
#41 0x00005555556d4c2c in Frecursive_edit () at keyboard.c:794
         buffer = <optimized out>
#42 0x00005555555a78b7 in main (argc=<optimized out>, argv=<optimized 
out>) at emacs.c:2530
         stack_bottom_variable = 0x7ffff5a13660
         no_loadup = false
         junk = 0x0
         dname_arg = 0x0
         ch_to_dir = 0x0
         original_pwd = <optimized out>
         dump_mode = <optimized out>
         skip_args = 0
         temacs = 0x0
         attempt_load_pdump = <optimized out>
         only_version = <optimized out>
         rlim = {
           rlim_cur = 10022912,
           rlim_max = 18446744073709551615
         }
         lc_all = <optimized out>
         sockfd = <optimized out>
         module_assertions = <optimized out>

Lisp Backtrace:
"insert-file-contents" (0xf0b6d238)
"revert-buffer-insert-file-contents--default-function" (0xf0b6d1d8)
"revert-buffer--default" (0xf0b6d170)
"revert-buffer" (0xf0b6d108)
"revert-buffer-with-coding-system" (0xffffd510)
"funcall-interactively" (0xffffd508)
"call-interactively" (0xf0b6d070)
"command-execute" (0xffffd7f8)

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
  3.24.24, cairo version 1.16.0) of 2023-02-28 built on romeo
Repository revision: 68cc286c0495caaebc3f641f6b919109045c43dd
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM
XINPUT2 XPM GTK3 ZLIB

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

Major mode: Lisp Interaction

Minor modes in effect:
   hexl-follow-ascii: t
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   line-number-mode: t
   indent-tabs-mode: t
   transient-mark-mode: (only . t)
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t

Load-path shadows:
None found.

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

Memory information:
((conses 16 38619 9018)
  (symbols 48 5354 0)
  (strings 32 14107 1765)
  (string-bytes 1 394418)
  (vectors 16 9708)
  (vector-slots 8 153658 15727)
  (floats 8 34 18)
  (intervals 56 224 0)
  (buffers 976 10))