GNU bug report logs - #13007
24.3.50; emacs_backtrace.txt

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Tue, 27 Nov 2012 06:26:02 UTC

Severity: normal

Merged with 13012, 13020

Found in version 24.3.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Antipov <dmantipov <at> yandex.ru>
To: 13007 <at> debbugs.gnu.org
Cc: Eli Zaretskii <eliz <at> gnu.org>, drew.adams <at> oracle.com
Subject: bug#13007: 24.3.50; emacs_backtrace.txt
Date: Wed, 28 Nov 2012 11:19:29 +0400
[Message part 1 (text/plain, inline)]
IIUC crash is triggered by this fragment:

 13212    else if (EQ (selected_window, minibuf_window)
 13213             && (current_buffer->clip_changed || window_outdated (w))
 13214             && resize_mini_window (w, 0))

So selected_window is the same as minibuf_window, and w->buffer is not the
same as current_buffer; but, is w equal to XWINDOW (selected_window) here?

Look above:

 13114    /* Notice any pending interrupt request to change frame size.  */
 13115    do_pending_window_change (1);
 13116
 13117    /* do_pending_window_change could change the selected_window due to
 13118       frame resizing which makes the selected window too small.  */
 13119    if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
 13120      {
 13121        sw = w;
 13122        reconsider_clip_changes (w, current_buffer);
 13123      }
 13124
 13125    /* Clear frames marked as garbaged.  */
 13126    clear_garbaged_frames ();
 13127
 13128    /* Build menubar and tool-bar items.  */
 13129    if (NILP (Vmemory_full))
 13130      prepare_menu_bars ();

Here prepare_menu_bars can run Lisp and so change something.

 13131
 13132    if (windows_or_buffers_changed)
 13133      update_mode_lines++;
 13134
 13135    /* Detect case that we need to write or remove a star in the mode line.  */
 13136    if ((SAVE_MODIFF < MODIFF) != w->last_had_star)

If we ran Lisp above, how we can be sure that w is still equal to XWINDOW (selected_window)?

Can someone try this patch?

Dmitry
[1.patch (text/plain, attachment)]

This bug report was last modified 9 years and 199 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.