From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#19511: 25.0.50; Failed assertions in redisplay() code. (dispnew.c:1405; xdisp.c:17524) Date: Mon, 05 Jan 2015 17:58:05 +0200 Message-ID: <83tx058bjm.fsf@gnu.org> References: <878uhiji5m.fsf@winky.hogwarts> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1420473560 5070 80.91.229.3 (5 Jan 2015 15:59:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 5 Jan 2015 15:59:20 +0000 (UTC) Cc: Vitalie Spinu , 19511-done@debbugs.gnu.org To: Andreas Matthias Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 05 16:59:13 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Y8A3j-0001Ib-6i for geb-bug-gnu-emacs@m.gmane.org; Mon, 05 Jan 2015 16:59:11 +0100 Original-Received: from localhost ([::1]:60916 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8A3i-0005aM-Ln for geb-bug-gnu-emacs@m.gmane.org; Mon, 05 Jan 2015 10:59:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49814) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8A3f-0005ZD-5C for bug-gnu-emacs@gnu.org; Mon, 05 Jan 2015 10:59:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8A3b-0005z9-4M for bug-gnu-emacs@gnu.org; Mon, 05 Jan 2015 10:59:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56466) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8A3b-0005yy-1Y for bug-gnu-emacs@gnu.org; Mon, 05 Jan 2015 10:59:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Y8A3a-0007AS-Om for bug-gnu-emacs@gnu.org; Mon, 05 Jan 2015 10:59:02 -0500 Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Mon, 05 Jan 2015 15:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 19511 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Mail-Followup-To: 19511@debbugs.gnu.org, eliz@gnu.org, andreas.matthias@gmail.com Original-Received: via spool by 19511-done@debbugs.gnu.org id=D19511.142047349127474 (code D ref 19511); Mon, 05 Jan 2015 15:59:02 +0000 Original-Received: (at 19511-done) by debbugs.gnu.org; 5 Jan 2015 15:58:11 +0000 Original-Received: from localhost ([127.0.0.1]:37598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y8A2k-000794-Os for submit@debbugs.gnu.org; Mon, 05 Jan 2015 10:58:11 -0500 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:42761) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y8A2f-00078q-PZ for 19511-done@debbugs.gnu.org; Mon, 05 Jan 2015 10:58:06 -0500 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NHP00O00O5U2900@mtaout29.012.net.il> for 19511-done@debbugs.gnu.org; Mon, 05 Jan 2015 17:55:00 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NHP00N77O7O3Q10@mtaout29.012.net.il>; Mon, 05 Jan 2015 17:55:00 +0200 (IST) In-reply-to: <878uhiji5m.fsf@winky.hogwarts> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:98037 Archived-At: > From: Andreas Matthias > Date: Sun, 04 Jan 2015 23:27:33 +0100 > > With the attached example code I can trigger two different assertions > somewhere down the line of redisplay(): > > 1) dispnew.c:1405: Emacs fatal error: assertion failed: row >= 0 && row < matrix->nrows > > 2) xdisp.c:17524: Emacs fatal error: assertion failed: row->enabled_p > > > Unfortunately I could not further isolate the elisp code which eventually > causes these assertions to fail. The following packages from MELPA are > involved: lua-mode, polymode. (version numbers see example code) The reason for this is that Polymode does something unthinkable: it calls bury-buffer in the function it installs as font-lock-fontify-region-function, which buries the buffer being fontified, and as side effect switches the buffer displayed in the window. When this is called by redisplay, the effect is that the information about the window end point gets invalidated right from under the feet of the display engine, in the middle of the code that tries to use that information for one of redisplay optimizations. I have now disabled that optimization for packages which commit such atrocities, so Polymode is now merely a performance killer, not a crasher. I hope Polymode will be changed to not call bury-buffer in that situation (I always thought bury-buffer is strictly for interactive use, FWIW). > Note: With a recently checked out Emacs 25.0.50 I can trigger both assertions > as described below. Concerning Emacs 24.3.1 I can trigger only the first > assertion but not the second one. Emacs 24.3 escapes the 2nd assertion by sheer luck, AFAICS, and 24.4 is affected by both. So I installed the fix for this in the emacs-24 branch (commit d279e66). Thanks.