From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Redisplay crash Date: 08 Apr 2004 12:30:50 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <87r7uyfoz9.fsf-monnier+emacs@alfajor.local> References: <87eks0654s.fsf@sno.mundell.ukfsn.org> <87n06bp4ng.fsf@sno.mundell.ukfsn.org> <8765cwkejr.fsf@mail.jurta.org> <200404071157.UAA25094@etlken.m17n.org> <200404071312.WAA25268@etlken.m17n.org> <87zn9nqras.fsf@emacswiki.org> <20040408020537.GA22508@fencepost> <200404080234.LAA26966@etlken.m17n.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1081442196 8841 80.91.224.253 (8 Apr 2004 16:36:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 8 Apr 2004 16:36:36 +0000 (UTC) Cc: emacs-devel@gnu.org, rms@gnu.org, storm@cua.dk, miles@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Apr 08 18:36:30 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BBcVy-0006l3-00 for ; Thu, 08 Apr 2004 18:36:30 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BBcVy-0006uM-00 for ; Thu, 08 Apr 2004 18:36:30 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BBcRu-00049r-LV for emacs-devel@quimby.gnus.org; Thu, 08 Apr 2004 12:32:18 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BBcRA-0003sm-JP for emacs-devel@gnu.org; Thu, 08 Apr 2004 12:31:32 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BBcQd-0003gT-QV for emacs-devel@gnu.org; Thu, 08 Apr 2004 12:31:30 -0400 Original-Received: from [209.226.175.54] (helo=tomts10-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BBcQd-0003gI-Hb; Thu, 08 Apr 2004 12:30:59 -0400 Original-Received: from alfajor ([67.71.119.143]) by tomts10-srv.bellnexxia.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP id <20040408163050.SOIG10288.tomts10-srv.bellnexxia.net@alfajor>; Thu, 8 Apr 2004 12:30:50 -0400 Original-Received: by alfajor (Postfix, from userid 1000) id E47CDD73B5; Thu, 8 Apr 2004 12:30:50 -0400 (EDT) Original-To: Kenichi Handa In-Reply-To: <200404080234.LAA26966@etlken.m17n.org> Original-Lines: 41 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:21382 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:21382 >>> Current HEAD is rock-solid for normal use, and I don't think it will >>> can be much better in that respect (but we should try!). >> This may be a false warning for HEAD (I run my own branch which has a fair >> number of redisplay changes), but just in case: >> I've had several crashes recently related to i-search faces, and haven't been >> able to track down the cause; it appears that the face cache ids are being >> used even after the face cache has been cleared. > In emacs-unicode, I also met the similar bug. Emacs crashed > at the end of get_glyph_face_and_encoding. In this > function, FACE_FROM_ID (f, glyph->face_id) returned NULL, > thus, the macro call PREPARE_FACE_FOR_DISPLAY at the end led > to the crash. Though, this happens very very rarely. I've had such problems in the past. There was a discussion about it with Gerd which led to 2002-08-27 Gerd Moellmann * xdisp.c (redisplay_updating_p): Variable removed. (inhibit_free_realized_faces, Qinhibit_free_realized_faces): New variables. (init_iterator): Don't free realized faces if inhibit_free_realized_faces is set. (redisplay_internal): Bind Qinhibit_free_realized_faces to nil. (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces, initialize Qinhibit_free_realized_faces. * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces when iterator is adding glyphs to a glyph matrix. I can't find trace of this discussion, tho. I've always had the impression that the above patch didn't really fix the problem, tho it made it less frequent, so maybe it only hid the problem more than fix it, I don't know. In any case I figure maybe you'd like to know. Stefan