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#16674: 24.3.50; crash: redisplay_internal, update_frame, using client-daemon in tmux Date: Sat, 08 Feb 2014 12:41:55 +0200 Message-ID: <83ppmxx4wc.fsf@gnu.org> References: <87sirwvsr0.fsf@holos.localdomain> <83y51nxuia.fsf@gnu.org> <87d2iyx5yn.fsf@holos.localdomain> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1391856199 3945 80.91.229.3 (8 Feb 2014 10:43:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 8 Feb 2014 10:43:19 +0000 (UTC) Cc: 16674@debbugs.gnu.org To: Mark Oteiza Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Feb 08 11:43:26 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 1WC5Nd-0002Cz-T5 for geb-bug-gnu-emacs@m.gmane.org; Sat, 08 Feb 2014 11:43:26 +0100 Original-Received: from localhost ([::1]:46056 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WC5Nd-00014o-Ay for geb-bug-gnu-emacs@m.gmane.org; Sat, 08 Feb 2014 05:43:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56452) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WC5NL-0000fi-Vn for bug-gnu-emacs@gnu.org; Sat, 08 Feb 2014 05:43:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WC5NG-00078S-9S for bug-gnu-emacs@gnu.org; Sat, 08 Feb 2014 05:43:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WC5NG-00078O-6I for bug-gnu-emacs@gnu.org; Sat, 08 Feb 2014 05:43:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WC5NF-0002Ag-QA for bug-gnu-emacs@gnu.org; Sat, 08 Feb 2014 05:43: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: Sat, 08 Feb 2014 10:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16674 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16674-submit@debbugs.gnu.org id=B16674.13918561388278 (code B ref 16674); Sat, 08 Feb 2014 10:43:01 +0000 Original-Received: (at 16674) by debbugs.gnu.org; 8 Feb 2014 10:42:18 +0000 Original-Received: from localhost ([127.0.0.1]:56489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WC5MX-00029Q-LX for submit@debbugs.gnu.org; Sat, 08 Feb 2014 05:42:18 -0500 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:33359) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WC5MU-00029E-Gl for 16674@debbugs.gnu.org; Sat, 08 Feb 2014 05:42:16 -0500 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0N0O00D00AVR2H00@mtaout25.012.net.il> for 16674@debbugs.gnu.org; Sat, 08 Feb 2014 12:41:24 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N0O00CQ5B10S800@mtaout25.012.net.il>; Sat, 08 Feb 2014 12:41:24 +0200 (IST) In-reply-to: <87d2iyx5yn.fsf@holos.localdomain> 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:84933 Archived-At: > From: Mark Oteiza > Date: Fri, 07 Feb 2014 11:06:40 -0500 > > > Also, what are "client-daemon" and "tmux", and how are they related to > > Emacs? > > I have only been able to do this using the emacs daemon and > emacsclients. I think tmux has something to do with it because it is > possible to manipulate the size of emacsclient frames without them being > focused. I will try to describe it: > > Here I have a single terminal emulator running tmux. An emacs daemon is > running and I start emacsclient "A". > > | A | > > In tmux I vertically split the window, so "A" is in the left pane, a new > shell is in the right. "A" has focus until I start a new client "B" in > the right. > > |A| | > > |A|B| > > Now, "B" has focus. I exit from this client into the shell, and exit the > shell, killing the tmux pane. At this point, the pane "A" occupies is > the sole pane, but "A" is still only occupying half the window! > > |A | > > I can make and destroy tmux panes and constrict the client > "display". The frame won't update until I enter the pane "A" occupies > *and* interact with the client. Sounds like Emacs is not being told about these changes. Do they send the SIGWINCH signal? If not, how is Emacs supposed to know about them? > This does not happen in 24.3, so this is a regression I imagine I can > bisect if need be. Please do, and thanks. > I took `curY (tty) >= FrameRows (tty) - 1` as a hint, and figured I > could make emacs crash by doing horizontal splits and messing with the > focus and term emulator window size, so emacsclients were out of focus > and displaying the wrong number of rows. I'm not sure of an EXACT > process to reproduce, but I got a couple crashes pretty quickly by > mixing up these actions. If Emacs is confused about its frame size, a crash is imminent. > #3 0x00000000004e6bc5 in cmcheckmagic (tty=0xcab010) at cm.c:120 > No locals. > #4 0x00000000004e9ac9 in tty_write_glyphs (f=0x1251078, string=0x7fa611599760, len=149) at term.c:778 > conversion_buffer = 0x1ae6410 ' ' , "\f\001 `(i!" > coding = 0x19a9ab0 > n = 149 > stringlen = 0 > tty = 0xcab010 > #5 0x00000000004f2fcb in write_glyphs (f=0x1251078, string=0x7fa611597b70, len=149) at terminal.c:162 > No locals. > #6 0x000000000041c56c in update_frame_line (f=0x1251078, vpos=50) at dispnew.c:4791 > obody = 0x0 > nbody = 0x7fa611597b70 > op1 = 0x29 > op2 = 0x412d30 <_start> > np1 = 0x7fffa4cf9e10 > nend = 0x7fa611599760 > tem = 4290101 > osp = 2 > nsp = 14045808 > begmatch = 0 > endmatch = 291518304 > olen = 0 > nlen = 149 > current_matrix = 0xcef6f0 > desired_matrix = 0x143c2f0 > current_row = 0xecedd0 > desired_row = 0xf01cc0 > must_write_whole_line_p = true > write_spaces_p = true > colored_spaces_p = true This seems to indicate that Emacs thinks its frame is 149-column wide and 51-row high. Does this make sense?