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#18912: 24.4; mode-line corruption on graphical frames in dual-headed display Date: Mon, 03 Nov 2014 18:20:27 +0200 Message-ID: <83ppd4w910.fsf@gnu.org> References: <54524135.8090405@gnu.org> <8361ezz56z.fsf@gnu.org> <5454D7EB.6060407@gnu.org> <83sii3xecv.fsf@gnu.org> <5456A6FE.90108@gnu.org> <83tx2hvtwp.fsf@gnu.org> <54571ABB.7020000@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-Trace: ger.gmane.org 1415032698 14185 80.91.229.3 (3 Nov 2014 16:38:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Nov 2014 16:38:18 +0000 (UTC) Cc: 18912@debbugs.gnu.org To: Bruno =?UTF-8?Q?F=C3=A9lix?= Rezende Ribeiro Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 03 17:38:11 2014 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 1XlKdv-0008LG-6l for geb-bug-gnu-emacs@m.gmane.org; Mon, 03 Nov 2014 17:38:11 +0100 Original-Received: from localhost ([::1]:35939 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlKdu-0000H3-Po for geb-bug-gnu-emacs@m.gmane.org; Mon, 03 Nov 2014 11:38:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlKNP-0003ZX-PF for bug-gnu-emacs@gnu.org; Mon, 03 Nov 2014 11:21:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XlKNK-00027Z-Ii for bug-gnu-emacs@gnu.org; Mon, 03 Nov 2014 11:21:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:50528) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XlKNK-00027V-Gj for bug-gnu-emacs@gnu.org; Mon, 03 Nov 2014 11:21:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XlKNK-0003Qi-6d for bug-gnu-emacs@gnu.org; Mon, 03 Nov 2014 11:21:02 -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, 03 Nov 2014 16:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18912 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18912-submit@debbugs.gnu.org id=B18912.141503164813147 (code B ref 18912); Mon, 03 Nov 2014 16:21:02 +0000 Original-Received: (at 18912) by debbugs.gnu.org; 3 Nov 2014 16:20:48 +0000 Original-Received: from localhost ([127.0.0.1]:47741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XlKN5-0003Pw-Dr for submit@debbugs.gnu.org; Mon, 03 Nov 2014 11:20:47 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:62483) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XlKN1-0003Pf-OX for 18912@debbugs.gnu.org; Mon, 03 Nov 2014 11:20:45 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NEH0040017U9100@a-mtaout22.012.net.il> for 18912@debbugs.gnu.org; Mon, 03 Nov 2014 18:20:37 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NEH003C91ECUA80@a-mtaout22.012.net.il>; Mon, 03 Nov 2014 18:20:37 +0200 (IST) In-reply-to: <54571ABB.7020000@gnu.org> 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:95432 > Date: Mon, 03 Nov 2014 04:03:39 -0200 > From: Bruno FĂ©lix Rezende Ribeiro > CC: rudalics@gmx.at, 18912@debbugs.gnu.org > > Eli Zaretskii wrote: > > Unnecessary redrawing causes unpleasant flickering that people > > rightfully complain about. > > It wouldn't be unnecessary because only people having a similar problem > would deliberately enable the mode-line redrawing. I can assure you a > constantly corrupted mode-line is much more annoying than one fast flash > that will only occur sporadically, in just one line, by direct command > of the user. In particular, on scroll operations all lines in the > window are expected to change, so it's not that bad if just one more > line, contiguous to the region, flashes. Actually, the chances are that > the flash won't be noticeable at all. I'd like to solve this problem, not paper over it. I hope you agree that solving it is better than working around it. > > Are you willing to debug this problem on your machine using GDB? If > > so, I might come up with some instructions. > > Sure, why not? Thanks, please find the instructions below. > However, if we can't find the bug's root, I'll ask you to consider > implementing the suggested workaround. Deal? ;-) I find it hard to believe that we won't find the root cause, so I think we don't need to consider that possibility. Here are the first instructions to get information that will help us start digging into this. (These are in addition to what Martin already requested.) First, please build Emacs without optimizations and with extra checking code enabled: CFLAGS='-O0 -g3' ./configure --prefix=/home/felix/opt/emacs-24.4 --with-x-toolkit=athena --enable-checking='yes,glyphs' (I only care about CFLAGS and the --enable-checking= option; the rest I just copied from your original report, but feel free to change them if you want. The --enable-checking= option is required to compile the dump-glyph-matrix command I ask you to use below.) After 'configure' finishes, invoke "make". You don't have to invoke "make install", as Emacs can be run from the src/ directory where it was built. Now start Emacs you've just build with "emacs -Q", type the "C-x d" command that you say is sufficient to reproduce the problem, and then type this: M-x dump-glyph-matrix RET This outputs to the standard error stream the description of the internal data structure, called "glyph matrix", which Emacs maintains for each window on a GUI frame. Please post that output (you may wish to redirect stderr to a file when you invoke Emacs, to make that easier). Please do this once for the "good" configuration, and another time for the "bad" configuration, but please make sure you invoke Emacs the same in both cases and type the same "C-x d" command in each case. Next, in the "bad" configuration and with the listing of /dev and corrupted mode line displayed, type this: M-: (setq frame-resize-pixelwise t) RET Now carefully decrease the frame's height by dragging its upper or lower edge with the mouse. Please drag it slowly and carefully, so that the frame is resized one pixel at a time. After each resize, please see if the mode line is no longer corrupted. Perhaps kill the buffer and type "C-x d" again to make sure the corruption disappeared for good. The first time the mode line stops being corrupted, type M-x dump-glyph-matrix RET again, and include this (3rd) output in your message. Also, please tell how many pixels did you subtract from the original frame height before the corruption disappeared (assuming it ever does). Where are the instructions to use the debugger, you ask? Well, not yet, but maybe after we see what the above tells us. Thanks.