From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#30182: Update Date: Mon, 22 Jan 2018 19:37:54 +0200 Message-ID: <831sih23rh.fsf@gnu.org> References: <87k1wdqc4q.fsf@gmail.com> <87inbxqc1l.fsf@gmail.com> <5A631B7F.3030308@gmx.at> <878tcs3j23.fsf@gmail.com> <5A634E53.7010205@gmx.at> <87mv182bzk.fsf@gmail.com> <83a7x7sww6.fsf@gnu.org> <87efmj27d5.fsf@gmail.com> <83vafvqjbf.fsf@gnu.org> <87inbvxdz8.fsf@gmail.com> <5A65AB97.1030401@gmx.at> <87po62kk10.fsf@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1516642649 21066 195.159.176.226 (22 Jan 2018 17:37:29 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 22 Jan 2018 17:37:29 +0000 (UTC) Cc: 30182@debbugs.gnu.org To: Sujith Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 22 18:37:25 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edg1t-0004LG-VL for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jan 2018 18:37:10 +0100 Original-Received: from localhost ([::1]:55340 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edg3u-0005kW-9g for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jan 2018 12:39:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edg3o-0005jy-2p for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 12:39:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edg3i-00048o-6c for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 12:39:08 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:58713) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edg3i-00048e-2E for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 12:39:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1edg3h-0002Iv-Pf for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 12:39:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Jan 2018 17:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30182 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 30182-submit@debbugs.gnu.org id=B30182.15166427008809 (code B ref 30182); Mon, 22 Jan 2018 17:39:01 +0000 Original-Received: (at 30182) by debbugs.gnu.org; 22 Jan 2018 17:38:20 +0000 Original-Received: from localhost ([127.0.0.1]:38377 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edg32-0002I0-3O for submit@debbugs.gnu.org; Mon, 22 Jan 2018 12:38:20 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:57193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edg30-0002Hn-Ak for 30182@debbugs.gnu.org; Mon, 22 Jan 2018 12:38:18 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edg2q-0003h2-3u for 30182@debbugs.gnu.org; Mon, 22 Jan 2018 12:38:12 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40329) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edg2q-0003gf-0C; Mon, 22 Jan 2018 12:38:08 -0500 Original-Received: from [176.228.60.248] (port=3453 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1edg2p-0003g4-Jm; Mon, 22 Jan 2018 12:38:07 -0500 In-reply-to: <87po62kk10.fsf@gmail.com> (message from Sujith on Mon, 22 Jan 2018 20:39:15 +0530) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:142383 Archived-At: > From: Sujith > Cc: Eli Zaretskii , 30182@debbugs.gnu.org > Date: Mon, 22 Jan 2018 20:39:15 +0530 > > martin rudalics 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: Thanks, but this looks the same as the previous one: > #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 ^^^^^^^^^^^^^^ [...] > (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] (#) 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]) The above list has 5 elements, not 4. Martin, did you try reproducing this on your GNU/Linux box? Did you succeed? Also, could it be that the culprit is this part of the offending changeset: if (FRAMEP (tip_frame) && FRAME_LIVE_P (XFRAME (tip_frame))) { - Lisp_Object last_string = AREF (last_show_tip_args, 0); - Lisp_Object last_frame = AREF (last_show_tip_args, 1); - Lisp_Object last_parms = AREF (last_show_tip_args, 2); - if (FRAME_VISIBLE_P (XFRAME (tip_frame)) - && EQ (frame, last_frame) - && !NILP (Fequal_including_properties (last_string, string)) - && !NILP (Fequal (last_parms, parms))) + && EQ (frame, tip_last_frame) + && !NILP (Fequal_including_properties (tip_last_string, string)) + && !NILP (Fequal (tip_last_parms, parms))) { /* Only DX and DY have changed. */ tip_f = XFRAME (tip_frame); if (!NILP (tip_timer)) { - Lisp_Object timer = tip_timer; - + call1 (Qcancel_timer, tip_timer); tip_timer = Qnil; - call1 (Qcancel_timer, timer); } block_input (); Note that the old code copied the tip timer, then nullified it, and then canceled it using the copy. While the new code cancels first and then nullifies. The crash seems to be caused by an element of timer-list becoming nil somehow. We need to understand how that happens. The relevant players are (1) the fact that w3m.el schedules a timer from a mode-line's :eval form, and (2) the tool-tip machinery, in particular its canceling timer. And it sounds like by the time copy-sequence runs and tries to copy timer-list, the damage to the list is already done. Also, an important thing to remember is that copy-sequence copies the list, but doesn't copy the elements, so the elements are shared with the original list. Hmm...