Subject: bug#30182: Update

From: Sujith <[email-masked]>
Date: Mon, 22 Jan 2018 20:39:15 +0530

martin rudalics <[email-masked]> writes:
> Can you please do a bt full here: The previous backtrace you posted
> had result_len = 4 which indicates that `timer-list' contained four
> timers.  But the above result of pp indicates that there are five
> timers.  Hence the two backtraces appear incongruent in this regard.

Here's the trace:

(gdb) r
Starting program: /home/sujith/dev/emacs/src/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe79ea700 (LWP 1547)]

lisp.h:1289: Emacs fatal error: assertion failed: CONSP (c)

Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:364
364	{
(gdb) thread apply all bt full

Thread 2 (Thread 0x7fffe79ea700 (LWP 1547)):
#0  0x00007fffefd2391b in poll () at /usr/lib/libc.so.6
#1  0x00007ffff4fe6ff3 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007ffff4fe710e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007ffff4fe7162 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007ffff500f26a in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007ffff068308c in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007fffefd2de1f in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffff7fabb00 (LWP 1543)):
#0  0x000000000058db53 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:364
#1  0x000000000062a6b2 in die (msg=0x76bccb "CONSP (c)", file=0x76bc08 "lisp.h", line=1289) at alloc.c:7423
#2  0x0000000000587881 in xcar_addr (c=XIL(0)) at lisp.h:1289
#3  0x0000000000587981 in XSETCAR (c=XIL(0), n=XIL(0x34f7435)) at lisp.h:1318
#4  0x000000000065b2a0 in concat (nargs=1, args=0x7fffffffdbb8, target_type=Lisp_Cons, last_special=false) at fns.c:751
        elt = XIL(0x34f7435)
        thislen = make_number(379158388)
        thisleni = 0
        thisindex = 0
        thisindex_byte = 0
        val = XIL(0x3f45ec3)
        tail = XIL(0)
        this = XIL(0)
        toindex = -1
        toindex_byte = 0
        result_len = 4
        result_len_byte = 4
        argnum = 0
        last_tail = XIL(0)
        prev = XIL(0x3f46903)
        some_multibyte = false
        textprops = 0x0
        num_textprops = 0
        sa_avail = 16384
        sa_count = 4
        sa_must_free = false
#5  0x000000000065a412 in Fcopy_sequence (arg=XIL(0x3e87693)) at fns.c:514
#6  0x000000000059bb6a in timer_check () at keyboard.c:4381
        nexttime = {
          tv_sec = 0, 
          tv_nsec = 0
        }
        timers = make_number(198505096)
        idle_timers = XIL(0)
        tem = XIL(0)
#7  0x000000000059965d in readable_events (flags=1) at keyboard.c:3349
#8  0x00000000005a102b in get_input_pending (flags=1) at keyboard.c:6805
#9  0x00000000005a9234 in detect_input_pending_run_timers (do_display=true) at keyboard.c:9943
        old_timers_run = 16
#10 0x00000000006ba99d 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:5514
        old_timers_run = 16
        old_buffer = 0x3f3adc0
        old_window = XIL(0x1604c35)
        leave = false
        process_skipped = false
        channel = 9
        nfds = 1
        Available = {
          fds_bits = {32, 0 <repeats 15 times>}
        }
        Writeok = {
          fds_bits = {0 <repeats 16 times>}
        }
        check_write = true
        check_delay = 0
        no_avail = false
        xerrno = 11
        proc = XIL(0)
        timeout = {
          tv_sec = 0, 
          tv_nsec = 0
        }
        end_time = {
          tv_sec = 1516633583, 
          tv_nsec = 246352447
        }
        timer_delay = {
          tv_sec = 0, 
          tv_nsec = 452443803
        }
        got_output_end_time = {
          tv_sec = 1516633583, 
          tv_nsec = 246352447
        }
        wait = TIMEOUT
        got_some_output = -1
        retry_for_async = false
        count = 3
        now = {
          tv_sec = 0, 
          tv_nsec = -1
        }
#11 0x0000000000424ad1 in sit_for (timeout=make_number(30), reading=true, display_option=1) at dispnew.c:5804
        sec = 30
        nsec = 0
        do_display = true
#12 0x0000000000597253 in read_char (commandflag=1, map=XIL(0x3d1ac73), prev_event=XIL(0), used_mouse_menu=0x7fffffffe411, end_time=0x0) at keyboard.c:2723
        tem0 = XIL(0)
        timeout = 30
        delay_level = 4
        buffer_size = 3
        c = XIL(0)
        jmpcount = 3
        local_getcjmp = {{
            __jmpbuf = {0, -2756135770501280503, 65862405, 48192, 0, 0, -2756135770595652343, 2756135161350065417}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {14722688, 0, 0, 140737488347792, 5797134, 21575827, 5397392, 140737488347904, 6646082, 0, 3, 64072931, 0, 140737488347904, 14722688, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, 
            __mask_was_saved = 0, 
            __saved_mask = {
              __val = {0 <repeats 16 times>}
            }
          }}
        tem = XIL(0xd8db0)
        save = XIL(0)
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x2ef5620
#13 0x00000000005a7322 in read_key_sequence (keybuf=0x7fffffffe5b0, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9137
        interrupted_kboard = 0x2ef5620
        interrupted_frame = 0x1603c60 <bss_sbrk_buffer+8215936>
        key = XIL(0)
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = XIL(0x7fffffffe490)
        count = 3
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x3d1ac73)
        first_unbound = 31
        mock_input = 0
        fkey = {
          parent = XIL(0x129b8a3), 
          map = XIL(0x129b8a3), 
          start = 0, 
          end = 0
        }
        keytran = {
          parent = XIL(0xe9aa93), 
          map = XIL(0xe9aa93), 
          start = 0, 
          end = 0
        }
        indec = {
          parent = XIL(0x129b8b3), 
          map = XIL(0x129b8b3), 
          start = 0, 
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x3f3adc0
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
#14 0x00000000005931a2 in command_loop_1 () at keyboard.c:1370
        cmd = XIL(0xd98b0)
        keybuf = 
          {make_number(134217848), XIL(0x656695), make_number(1073741824), XIL(0xe0a680), XIL(0), XIL(0), XIL(0x7fffffffe600), make_number(1449283), XIL(0x4), XIL(0), XIL(0x7fffffffe670), make_number(1661520), XIL(0xee5e83), XIL(0xe0a680), XIL(0), XIL(0), XIL(0x7fffffffe650), make_number(1449283), XIL(0), XIL(0xe9d405), XIL(0x7fffffffe690), XIL(0x6504b1), XIL(0x120202020), XIL(0x4dd0), XIL(0x7fffffffe6b0), XIL(0x2e7b0b0), XIL(0), XIL(0), XIL(0x7fffffffe6c0), make_number(1655022)}
        i = 1
        prev_modiff = 8
        prev_buffer = 0xe9d400 <bss_sbrk_buffer+455968>
        already_adjusted = false
#15 0x000000000064fe57 in internal_condition_case (bfun=0x592d18 <command_loop_1>, handlers=XIL(0x4dd0), hfun=0x592325 <cmd_error>) at eval.c:1332
        val = XIL(0xee5e83)
        c = 0x2e7b0b0
#16 0x0000000000592924 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1111
        val = XIL(0)
#17 0x000000000064f2ed in internal_catch (tag=XIL(0xc2a0), func=0x5928f7 <command_loop_2>, arg=XIL(0)) at eval.c:1097
        val = make_number(1449283)
        c = 0x2e75900
#18 0x00000000005928c2 in command_loop () at keyboard.c:1090
#19 0x0000000000591e0c in recursive_edit_1 () at keyboard.c:696
        count = 1
        val = XIL(0x7fffffffe7f0)
#20 0x0000000000592004 in Frecursive_edit () at keyboard.c:767
        count = 0
        buffer = XIL(0)
#21 0x000000000058f9c4 in main (argc=1, argv=0x7fffffffea08) at emacs.c:1724
        stack_bottom_variable = 0x7ffff021c388 <goacc_device_num>
        do_initial_setlocale = true
        dumping = false
        skip_args = 0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        disable_aslr = false
        rlim = {
          rlim_cur = 10022912, 
          rlim_max = 18446744073709551615
        }
        sockfd = -1

(gdb) pp Vtimer_list
([nil 23141 64978 246464 0.5 blink-cursor-timer-function nil nil 189000] [nil 23141 64978 302592 nil #[(buffer) "!
qÃ)" [buffer w3m-modeline-title-timer buffer-live-p nil] 2] (#<buffer *w3m*>) nil 205000] [nil 23141 64978 719575 nil undo-auto--boundary-timer nil nil 383000] [nil 23141 64984 0 60 display-time-event-handler nil nil 0] [nil 23141 65265 921067 300 savehist-autosave nil nil 717000])
(gdb) quit
A debugging session is active.

	Inferior 1 [process 1543] will be killed.

Quit anyway? (y or n) y