Subject: Re: bug#24764: 25.1.50; Another crash in automatic gc

From: Michael Heerdegen <[email-masked]>
Date: Sun, 23 Oct 2016 18:37:39 +0200

Michael Heerdegen <[email-masked]> writes:

> I assume that the backtrace will resume such a violation when Emacs
> crashes.  I'll try.

Done.  I tried dict.cc with "löschen" and got a crash immediately.

Here are the backtraces:

Current directory is /home/micha/software/emacs/src/
GNU gdb (Debian 7.11.1-2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from emacs...done.
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = dumb
(gdb) run
Starting program: /home/micha/software/emacs/src/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe7df2700 (LWP 19515)]
[New Thread 0x7fffe6f2e700 (LWP 19517)]
[New Thread 0x7fffe64d0700 (LWP 19518)]
[New Thread 0x7fffe4fdf700 (LWP 20119)]

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:354
354	  signal (sig, SIG_DFL);
(gdb) backtrace
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:354
#1  0x00000000006063d4 in die (msg=0x749e60 "buftext == BYTE_POS_ADDR (istart_byte)", file=0x749e57 "xml.c", line=220) at alloc.c:7228
#2  0x00000000006a6ce6 in parse_region (start=1018, end=317370, base_url=0, discard_comments=0, htmlp=true) at xml.c:220
#3  0x00000000006a6e60 in Flibxml_parse_html_region (start=1018, end=317370, base_url=0, discard_comments=0) at xml.c:270
#4  0x0000000000629c05 in Ffuncall (nargs=3, args=0x7fffffffac88) at eval.c:2709
#5  0x0000000000673d92 in exec_byte_code (bytestr=86218884, vector=27377669, maxdepth=62, args_template=6154, nargs=6, args=0x7fffffffb248) at bytecode.c:880
#6  0x000000000062a497 in funcall_lambda (fun=27378029, nargs=6, arg_vector=0x7fffffffb218) at eval.c:2862
#7  0x0000000000629dd6 in Ffuncall (nargs=7, args=0x7fffffffb210) at eval.c:2747
#8  0x0000000000673d92 in exec_byte_code (bytestr=86212708, vector=45354037, maxdepth=66, args_template=5130, nargs=4, args=0x7fffffffb778) at bytecode.c:880
#9  0x000000000062a497 in funcall_lambda (fun=45354381, nargs=4, arg_vector=0x7fffffffb758) at eval.c:2862
#10 0x0000000000629dd6 in Ffuncall (nargs=5, args=0x7fffffffb750) at eval.c:2747
#11 0x0000000000628e6d in Fapply (nargs=2, args=0x7fffffffb8e0) at eval.c:2326
#12 0x0000000000629a1c in Ffuncall (nargs=3, args=0x7fffffffb8d8) at eval.c:2678
#13 0x0000000000673d92 in exec_byte_code (bytestr=65978372, vector=64431277, maxdepth=34, args_template=0, nargs=0, args=0x0) at bytecode.c:880
#14 0x000000000062a8b6 in funcall_lambda (fun=45887405, nargs=0, arg_vector=0x3d724ad) at eval.c:2928
#15 0x0000000000629dd6 in Ffuncall (nargs=1, args=0x7fffffffbe28) at eval.c:2747
#16 0x0000000000673d92 in exec_byte_code (bytestr=65700964, vector=64431797, maxdepth=38, args_template=0, nargs=0, args=0x0) at bytecode.c:880
#17 0x000000000062a8b6 in funcall_lambda (fun=71853757, nargs=3, arg_vector=0x3d726b5) at eval.c:2928
#18 0x0000000000629dd6 in Ffuncall (nargs=4, args=0x7fffffffc378) at eval.c:2747
#19 0x0000000000673d92 in exec_byte_code (bytestr=62176356, vector=64438125, maxdepth=18, args_template=0, nargs=0, args=0x0) at bytecode.c:880
#20 0x000000000062a8b6 in funcall_lambda (fun=78087909, nargs=2, arg_vector=0x3d73f6d) at eval.c:2928
#21 0x0000000000629dd6 in Ffuncall (nargs=3, args=0x7fffffffc8a0) at eval.c:2747
#22 0x0000000000628e6d in Fapply (nargs=2, args=0x7fffffffc970) at eval.c:2326
#23 0x00000000006294c8 in apply1 (fn=68010848, arg=86058451) at eval.c:2542
#24 0x0000000000682c59 in read_process_output_call (fun_and_args=86058467) at process.c:5228
#25 0x0000000000626390 in internal_condition_case_1 (bfun=0x682bd5 <read_process_output_call>, arg=86058467, handlers=19104, hfun=0x682c5b <read_process_output_error_handler>) at eval.c:1338
#26 0x0000000000683388 in read_and_dispose_of_process_output (p=0x52e8940, chars=0x7fffffffca80 "\216\367\276|>\243ח2\372\372\374\274\063\227\234'\363IY\001R\376\327\344\217\004!\243rW!\223O\177Z\226\070\261\362\222", <incomplete sequence \343>, nbytes=2139, coding=0x2bfa400) at process.c:5436
#27 0x0000000000682fd6 in read_process_output (proc=86935877, channel=13) at process.c:5347
#28 0x00000000006825a3 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0, wait_proc=0x0, just_wait_proc=0) at process.c:5058
#29 0x00000000004247b6 in sit_for (timeout=122, reading=true, display_option=1) at dispnew.c:5762
#30 0x0000000000580ede in read_char (commandflag=1, map=86060947, prev_event=0, used_mouse_menu=0x7fffffffe29f, end_time=0x0) at keyboard.c:2719
#31 0x00000000005905c3 in read_key_sequence (keybuf=0x7fffffffe450, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9068
#32 0x000000000057d4f9 in command_loop_1 () at keyboard.c:1370
#33 0x00000000006262f6 in internal_condition_case (bfun=0x57d0bd <command_loop_1>, handlers=19104, hfun=0x57c74f <cmd_error>) at eval.c:1314
#34 0x000000000057ccff in command_loop_2 (ignore=0) at keyboard.c:1112
#35 0x00000000006258c5 in internal_catch (tag=45936, func=0x57ccd6 <command_loop_2>, arg=0) at eval.c:1079
#36 0x000000000057cca1 in command_loop () at keyboard.c:1091
#37 0x000000000057c23f in recursive_edit_1 () at keyboard.c:697
#38 0x000000000057c43f in Frecursive_edit () at keyboard.c:768
#39 0x000000000057a1f2 in main (argc=1, argv=0x7fffffffe8e8) at emacs.c:1626

Lisp Backtrace:
"libxml-parse-html-region" (0xffffac90)
"eww-display-html" (0xffffb218)
"eww-render" (0xffffb758)
"apply" (0xffffb8e0)
"url-http-activate-callback" (0xffffbe30)
"url-http-content-length-after-change-function" (0xffffc380)
"url-http-generic-filter" (0xffffc8a8)
(gdb) backtrace full
#0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:354
No locals.
#1  0x00000000006063d4 in die (msg=0x749e60 "buftext == BYTE_POS_ADDR (istart_byte)", file=0x749e57 "xml.c", line=220) at alloc.c:7228
No locals.
#2  0x00000000006a6ce6 in parse_region (start=1018, end=317370, base_url=0, discard_comments=0, htmlp=true) at xml.c:220
        doc = 0x1818000
        result = 0
        burl = 0x749e50 ""
        istart = 254
        iend = 79342
        istart_byte = 254
        iend_byte = 79342
        buftext = 0x5889bad " nil (\"[email-masked]\") ((creation-date . \"2011-05-17\") (timestamp . \"2011-05-27\")) nil]\n[\"Magnar\" \"Sveen\" nil nil nil nil nil (\"[email-masked]\") ((notes . \"Author of multiple-cursors.el\") (cr"...
#3  0x00000000006a6e60 in Flibxml_parse_html_region (start=1018, end=317370, base_url=0, discard_comments=0) at xml.c:270
No locals.
#4  0x0000000000629c05 in Ffuncall (nargs=3, args=0x7fffffffac88) at eval.c:2709
        internal_argbuf = {1018, 317370, 0, 0, 0, 0, 140737488333872, 6468616}
        fun = 13666277
        original_fun = 586352
        funcar = 21
        numargs = 2
        lisp_numargs = 0
        val = 140737488333872
        internal_args = 0x7fffffffaba0
        count = 21
#5  0x0000000000673d92 in exec_byte_code (bytestr=86218884, vector=27377669, maxdepth=62, args_template=6154, nargs=6, args=0x7fffffffb248) at bytecode.c:880
        count = 21
        op = 2
        vectorp = 0x1a1c008
        stack = {
          pc = 0x3b5b8a6 "E\004?\205_", 
          byte_string = 86218884, 
          byte_string_start = 0x3b5b850 "\306\307!\204\n", 
          next = 0x7fffffffb290
        }
        top = 0x7fffffffac88
        result = 85018947
        type = CONDITION_CASE
#6  0x000000000062a497 in funcall_lambda (fun=27378029, nargs=6, arg_vector=0x7fffffffb218) at eval.c:2862
        size = 5
        val = 0
        syms_left = 6154
        next = 10024040
        lexenv = 60143738832
        count = 21
        i = 5720489
        optional = false
        rest = false
#7  0x0000000000629dd6 in Ffuncall (nargs=7, args=0x7fffffffb210) at eval.c:2747
        fun = 27378029
        original_fun = 64913200
        funcar = 0
        numargs = 6
        lisp_numargs = 0
        val = 140737488335280
        internal_args = 0x0
        count = 20
#8  0x0000000000673d92 in exec_byte_code (bytestr=86212708, vector=45354037, maxdepth=66, args_template=5130, nargs=4, args=0x7fffffffb778) at bytecode.c:880
        count = 18
        op = 6
        vectorp = 0x2b40c38
        stack = {
          pc = 0x3b5b560 "\210\202\301", 
          byte_string = 86212708, 
          byte_string_start = 0x3b5b4d8 "\305\005\306\"\211\203\v", 
          next = 0x7fffffffb960
        }
        top = 0x7fffffffb210
        result = 0
        type = (CONDITION_CASE | CATCHER_ALL | unknown: 32764)
#9  0x000000000062a497 in funcall_lambda (fun=45354381, nargs=4, arg_vector=0x7fffffffb758) at eval.c:2862
        size = 5
        val = 0
        syms_left = 5130
        next = 9552
        lexenv = 60143738832
        count = 18
        i = 5720489
        optional = false
        rest = false
#10 0x0000000000629dd6 in Ffuncall (nargs=5, args=0x7fffffffb750) at eval.c:2747
        fun = 45354381
        original_fun = 64912960
        funcar = 14196688
        numargs = 4
        lisp_numargs = 140737488336656
        val = 140737488336704
        internal_args = 0x0
        count = 17
#11 0x0000000000628e6d in Fapply (nargs=2, args=0x7fffffffb8e0) at eval.c:2326
        i = 5
        numargs = 4
        funcall_nargs = 5
        funcall_args = 0x7fffffffb750
        spread_arg = 0
        fun = 45354381
        retval = 5720489
        sa_avail = 16344
        sa_count = 17
        sa_must_free = false
#12 0x0000000000629a1c in Ffuncall (nargs=3, args=0x7fffffffb8d8) at eval.c:2678
        fun = 13652877
        original_fun = 9504
        funcar = 5713866
        numargs = 2
        lisp_numargs = 140737488337040
        val = 9552
        internal_args = 0x60952b <Fsymbol_value+38>
        count = 16
#13 0x0000000000673d92 in exec_byte_code (bytestr=65978372, vector=64431277, maxdepth=34, args_template=0, nargs=0, args=0x0) at bytecode.c:880
        count = 16
        op = 2
        vectorp = 0x3d724b0
        stack = {
          pc = 0x54de593 "\207", 
          byte_string = 65978372, 
          byte_string_start = 0x54de508 "\306\b\307H\t>\204\020", 
          next = 0x7fffffffbeb0
        }
        top = 0x7fffffffb8d8
        result = 44544
        type = (CONDITION_CASE | CATCHER_ALL | unknown: 32764)
#14 0x000000000062a8b6 in funcall_lambda (fun=45887405, nargs=0, arg_vector=0x3d724ad) at eval.c:2928
        val = 0
        syms_left = 0
        next = 9552
        lexenv = 0
        count = 16
        i = 0
        optional = false
        rest = false
#15 0x0000000000629dd6 in Ffuncall (nargs=1, args=0x7fffffffbe28) at eval.c:2747
        fun = 45887405
        original_fun = 57177280
        funcar = 0
        numargs = 0
        lisp_numargs = 140737488338448
        val = 140737488338448
        internal_args = 0x0
        count = 15
#16 0x0000000000673d92 in exec_byte_code (bytestr=65700964, vector=64431797, maxdepth=38, args_template=0, nargs=0, args=0x0) at bytecode.c:880
        count = 15
        op = 0
        vectorp = 0x3d726b8
        stack = {
          pc = 0x54de851 "\207", 
          byte_string = 65700964, 
          byte_string_start = 0x54de800 "\b\203!", 
          next = 0x7fffffffc3e0
        }
        top = 0x7fffffffbe28
        result = 0
        type = (CONDITION_CASE | CATCHER_ALL | unknown: 32764)
#17 0x000000000062a8b6 in funcall_lambda (fun=71853757, nargs=3, arg_vector=0x3d726b5) at eval.c:2928
        val = 0
        syms_left = 0
        next = 332544
        lexenv = 0
        count = 12
        i = 3
        optional = false
        rest = false
#18 0x0000000000629dd6 in Ffuncall (nargs=4, args=0x7fffffffc378) at eval.c:2747
        fun = 71853757
        original_fun = 60727680
        funcar = 2139
        numargs = 3
        lisp_numargs = 140737488339760
        val = 140737488339808
        internal_args = 0x62d9bf <Flength+42>
        count = 11
#19 0x0000000000673d92 in exec_byte_code (bytestr=62176356, vector=64438125, maxdepth=18, args_template=0, nargs=0, args=0x0) at bytecode.c:880
        count = 10
        op = 3
        vectorp = 0x3d73f70
        stack = {
          pc = 0x54dfb87 ")\207", 
          byte_string = 62176356, 
          byte_string_start = 0x54dfb40 "\305\b!\205H", 
          next = 0x0
        }
        top = 0x7fffffffc378
        result = 140737488340048
        type = (CONDITION_CASE | CATCHER_ALL | unknown: 32764)
#20 0x000000000062a8b6 in funcall_lambda (fun=78087909, nargs=2, arg_vector=0x3d73f6d) at eval.c:2928
        val = 0
        syms_left = 0
        next = 16272
        lexenv = 0
        count = 8
        i = 2
        optional = false
        rest = false
#21 0x0000000000629dd6 in Ffuncall (nargs=3, args=0x7fffffffc8a0) at eval.c:2747
        fun = 78087909
        original_fun = 68010848
        funcar = 0
        numargs = 2
        lisp_numargs = 91369472
        val = 140737488341136
        internal_args = 0x0
        count = 7
#22 0x0000000000628e6d in Fapply (nargs=2, args=0x7fffffffc970) at eval.c:2326
        i = 3
        numargs = 2
        funcall_nargs = 3
        funcall_args = 0x7fffffffc8a0
        spread_arg = 0
        fun = 78087909
        retval = 0
        sa_avail = 16360
        sa_count = 7
        sa_must_free = false
#23 0x00000000006294c8 in apply1 (fn=68010848, arg=86058451) at eval.c:2542
No locals.
#24 0x0000000000682c59 in read_process_output_call (fun_and_args=86058467) at process.c:5228
No locals.
#25 0x0000000000626390 in internal_condition_case_1 (bfun=0x682bd5 <read_process_output_call>, arg=86058467, handlers=19104, hfun=0x682c5b <read_process_output_error_handler>) at eval.c:1338
        val = 86935877
        c = 0x1402200
#26 0x0000000000683388 in read_and_dispose_of_process_output (p=0x52e8940, chars=0x7fffffffca80 "\216\367\276|>\243ח2\372\372\374\274\063\227\234'\363IY\001R\376\327\344\217\004!\243rW!\223O\177Z\226\070\261\362\222", <incomplete sequence \343>, nbytes=2139, coding=0x2bfa400) at process.c:5436
        outstream = 68010848
        text = 92488420
        outer_running_asynch_code = false
        waiting = -1
#27 0x0000000000682fd6 in read_process_output (proc=86935877, channel=13) at process.c:5347
        nbytes = 2139
        p = 0x52e8940
        coding = 0x2bfa400
        carryover = 0
        count = 4
        odeactivate = 0
#28 0x00000000006825a3 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0, wait_proc=0x0, just_wait_proc=0) at process.c:5058
        nread = 0
        process_skipped = false
        channel = 13
        nfds = 1
        Available = {
          fds_bits = {8192, 0 <repeats 15 times>}
        }
        Writeok = {
          fds_bits = {0 <repeats 16 times>}
        }
        check_write = true
        check_delay = 2
        no_avail = false
        xerrno = 11
        proc = 86935877
        timeout = {
          tv_sec = 0, 
          tv_nsec = 28128953
        }
        end_time = {
          tv_sec = 1477240262, 
          tv_nsec = 516183416
        }
        timer_delay = {
          tv_sec = 0, 
          tv_nsec = 28128953
        }
        got_output_end_time = {
          tv_sec = 1477240262, 
          tv_nsec = 516183416
        }
        wait = TIMEOUT
        got_some_output = -1
        count = 3
        now = {
          tv_sec = 0, 
          tv_nsec = -1
        }
#29 0x00000000004247b6 in sit_for (timeout=122, reading=true, display_option=1) at dispnew.c:5762
        sec = 30
        nsec = 0
        do_display = true
#30 0x0000000000580ede in read_char (commandflag=1, map=86060947, prev_event=0, used_mouse_menu=0x7fffffffe29f, end_time=0x0) at keyboard.c:2719
        tem0 = 8589934592
        timeout = 30
        delay_level = 4
        buffer_size = 8
        c = 0
        jmpcount = 3
        local_getcjmp = {{
            __jmpbuf = {0, -2341767361039123077, 4282448, 140737488349408, 0, 0, -2341767359329944197, 2341768116065582459}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {14196688, 140737488347360, 0, 140737488347360, 5713866, 19972864, 14196688, 140737488347504, 0, 140737488347408, 5713866, 0, 86060931, 140737488347504, 6468616, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = 86060947
        save = 140737488347504
        previous_echo_area_message = 0
        also_record = 0
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x18ba700
#31 0x00000000005905c3 in read_key_sequence (keybuf=0x7fffffffe450, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9068
        interrupted_kboard = 0x18ba700
        interrupted_frame = 0x47d2428
        key = 91369477
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = 140737488348176
        count = 3
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = 86060947
        first_event = 0
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = 18740243, 
          map = 18740243, 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = 14465603, 
          map = 14465603, 
          start = 0, 
          end = 0
        }
        indec = {
          parent = 18740275, 
          map = 18740275, 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = 0
        original_uppercase = 5720489
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x5723000
        fake_prefixed_keys = 0
#32 0x000000000057d4f9 in command_loop_1 () at keyboard.c:1370
        cmd = 18779616
        keybuf = {67109330, 414, 0, 10025028, 322656, 3, 3, 140737488348392, 0, 10012629, 140737488348384, 4322240, 140737488348416, 6460836, 4322240, 14196688, 85941715, 0, 140737488348416, 5713866, 10025028, 14196688, 140737488348464, 14196688, 140737488348464, 0, 140737488348480, 5713866, 140737488348576, 5753075}
        i = 1
        prev_modiff = 120
        prev_buffer = 0x2dda400
        already_adjusted = false
#33 0x00000000006262f6 in internal_condition_case (bfun=0x57d0bd <command_loop_1>, handlers=19104, hfun=0x57c74f <cmd_error>) at eval.c:1314
        val = 14704835
        c = 0x1402400
#34 0x000000000057ccff in command_loop_2 (ignore=0) at keyboard.c:1112
        val = 2
#35 0x00000000006258c5 in internal_catch (tag=45936, func=0x57ccd6 <command_loop_2>, arg=0) at eval.c:1079
        val = 0
        c = 0x1402600
#36 0x000000000057cca1 in command_loop () at keyboard.c:1091
No locals.
#37 0x000000000057c23f in recursive_edit_1 () at keyboard.c:697
        count = 1
        val = 140737488348880
#38 0x000000000057c43f in Frecursive_edit () at keyboard.c:768
        count = 0
        buffer = 0
#39 0x000000000057a1f2 in main (argc=1, argv=0x7fffffffe8e8) at emacs.c:1626
        dummy = 721
        stack_bottom_variable = 0 '\000'
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        rlim = {
          rlim_cur = 8720000, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"libxml-parse-html-region" (0xffffac90)
"eww-display-html" (0xffffb218)
"eww-render" (0xffffb758)
"apply" (0xffffb8e0)
"url-http-activate-callback" (0xffffbe30)
"url-http-content-length-after-change-function" (0xffffc380)
"url-http-generic-filter" (0xffffc8a8)
(gdb) xbacktrace
"libxml-parse-html-region" (0xffffac90)
"eww-display-html" (0xffffb218)
"eww-render" (0xffffb758)
"apply" (0xffffb8e0)
"url-http-activate-callback" (0xffffbe30)
"url-http-content-length-after-change-function" (0xffffc380)
"url-http-generic-filter" (0xffffc8a8)
(gdb) 

Should I keep that session open, or still try to downgrade libc (though
I don't think I can have multiple versions of it installed here, I'm
afraid).

Regards,

Michael.