Subject: Re: bug#30182: Update

From: Sujith <[email-masked]>
Date: Mon, 29 Jan 2018 10:43:33 +0530

martin rudalics <[email-masked]> writes:
> Yet, I'd still like to know why and how that crash happened.  So if
> you have a few minutes to spend, please shortly undo the fix and try
> the two things I asked in my other mail, namely to:

I reverted d1cfe4641d89259210304cf75011a22cc765e2ed in master.

> (1) Try with `x-gtk-use-system-tooltips' nil.  This should tell
>      whether GTK tooltip handling interferes with our routines.

With x-gtk-use-system-tooltips set to nil, the crash happens.

> (2) Try the attached (again) diff.  When the crash occurs please do
>
>      p old_len_0
>      p new_len_0
>
>      in the debugger and post the values it prints.  This should tell
>      whether a timer is added while we construct the list for the copy.

With the patch:

(gdb) bt full
#0  0x000000000058dc63 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:364
#1  0x000000000062a7ea in die (msg=0x76bf8b "CONSP (c)", file=0x76bec8 "lisp.h", line=1292) at alloc.c:7423
#2  0x000000000058799a in xcar_addr (c=XIL(0)) at lisp.h:1292
#3  0x0000000000587a9a in XSETCAR (c=XIL(0), n=XIL(0x34deff5)) at lisp.h:1321
#4  0x000000000065b538 in concat (nargs=1, args=0x7fffffffdb58, target_type=Lisp_Cons, last_special=false) at fns.c:758
        elt = XIL(0x34deff5)
        thislen = XIL(0x3282423c)
        thisleni = 0
        thisindex = 0
        thisindex_byte = 0
        val = XIL(0x36398e3)
        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(0x3639913)
        some_multibyte = false
        textprops = 0x0
        num_textprops = 0
        old_len_0 = 5
        new_len_0 = 5
        sa_avail = 16384
        sa_count = 4
        sa_must_free = false
#5  0x000000000065a63b in Fcopy_sequence (arg=XIL(0x3645d63)) at fns.c:514

(gdb) fr 4
#4  0x000000000065b538 in concat (nargs=1, args=0x7fffffffdb58, target_type=Lisp_Cons, last_special=false) at fns.c:758
758                     XSETCAR (tail, elt);
(gdb) p old_len_0   
$1 = 5
(gdb) p new_len_0
$2 = 5