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#21394: 25.0.50; Segfault when displaying unprintable character in echo area while frames are being created Date: Wed, 02 Sep 2015 18:16:22 +0300 Message-ID: <838u8oc0mx.fsf@gnu.org> References: <83y4gqaxhs.fsf@gnu.org> <83twreau6e.fsf@gnu.org> <83io7uaq37.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1441207052 4644 80.91.229.3 (2 Sep 2015 15:17:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Sep 2015 15:17:32 +0000 (UTC) Cc: 21394@debbugs.gnu.org To: Pip Cet Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Sep 02 17:17:15 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 1ZX9ml-00070O-EZ for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 Sep 2015 17:17:15 +0200 Original-Received: from localhost ([::1]:38617 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX9ml-0007Vh-M8 for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 Sep 2015 11:17:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59235) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX9md-0007OA-8G for bug-gnu-emacs@gnu.org; Wed, 02 Sep 2015 11:17:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZX9mY-0006R8-9J for bug-gnu-emacs@gnu.org; Wed, 02 Sep 2015 11:17:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX9mY-0006QD-5x for bug-gnu-emacs@gnu.org; Wed, 02 Sep 2015 11:17:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZX9mX-0003jt-KZ for bug-gnu-emacs@gnu.org; Wed, 02 Sep 2015 11:17:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 02 Sep 2015 15:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 21394 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 21394-submit@debbugs.gnu.org id=B21394.144120698614328 (code B ref 21394); Wed, 02 Sep 2015 15:17:01 +0000 Original-Received: (at 21394) by debbugs.gnu.org; 2 Sep 2015 15:16:26 +0000 Original-Received: from localhost ([127.0.0.1]:46594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZX9ly-0003j1-AV for submit@debbugs.gnu.org; Wed, 02 Sep 2015 11:16:26 -0400 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:56637) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZX9lw-0003it-1m for 21394@debbugs.gnu.org; Wed, 02 Sep 2015 11:16:24 -0400 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NU200G0021RNA00@mtaout24.012.net.il> for 21394@debbugs.gnu.org; Wed, 02 Sep 2015 18:08:36 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NU2008PQ22CBD90@mtaout24.012.net.il>; Wed, 02 Sep 2015 18:08:36 +0300 (IDT) In-reply-to: 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: 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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:106089 Archived-At: > Date: Tue, 1 Sep 2015 20:19:58 +0000 > From: Pip Cet > Cc: 21394@debbugs.gnu.org > > That caches a face id in last_escape_glyph_merged_face_id, which is cleared > only in redisplay_internal(). But message() doesn't call redisplay_internal(), > it calls try_window() directly (xdisp.c:10687) (and resize_window before that, > which blows up). I think you are right, thanks. > This patch appears, so far, to run without a segfault Can you please verify that when the (unmodified) code does segfault, the offending face ID is indeed stored in last_escape_glyph_merged_face_id? I'd like to be sure we have really found the source of that face ID. Also, I think that those 4 lines of code should be in a function, and that function should also be called from free_realized_faces, where we set c->used to zero. I couldn't convince myself that free_realized_faces could never be called while redisplay runs (and even if now it isn't, I'd like us to be more future-proof in this respect).