From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Crash with --enable-checking and some glyphs Date: Sat, 27 Nov 2021 17:12:40 +0200 Message-ID: <83sfvhy6mv.fsf@gnu.org> References: <87h7c1u0cg.fsf@gnus.org> <87wnkxskvn.fsf@gnus.org> <87zgpt63m3.fsf@gnus.org> <83mtlt8vil.fsf@gnu.org> <87v90h6271.fsf@gnus.org> <83lf1d8uyw.fsf@gnu.org> <87r1b561kn.fsf@gnus.org> <871r35ziyl.fsf@gnus.org> <87sfvlwkrc.fsf_-_@gnus.org> <87sfvlh1zo.fsf@gmail.com> <87h7c0flfk.fsf@gnus.org> <874k807166.fsf@gmail.com> <87wnkwb8q7.fsf@gnus.org> <87sfvkb85w.fsf@gnus.org> <83wnkw469i.fsf@gnu.org> <87ee739kjx.fsf@gnus.org> <83h7bz2i9f.fsf@gnu.org> <87mtlrt2ei.fsf@gnus.org> <838rxb2c8i.fsf@gnu.org> <87a6hrt0ti.fsf@gnus.org> <8335ni3mr4.fsf@gnu.org> <877dctsnhz.fsf@gnus.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27304"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rpluim@gmail.com, emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 27 16:13:34 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mqzOP-0006tz-In for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Nov 2021 16:13:33 +0100 Original-Received: from localhost ([::1]:60714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mqzOO-0003fa-G9 for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Nov 2021 10:13:32 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:37144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqzNR-0002MX-QM for emacs-devel@gnu.org; Sat, 27 Nov 2021 10:12:33 -0500 Original-Received: from [2001:470:142:3::e] (port=34142 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqzNR-0003sa-Ek; Sat, 27 Nov 2021 10:12:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=vfJziaeeq6U4YUtreajSOXF55KCTBB5o+Co22abuptw=; b=Qv4SvxTiZrpt 5GeFR2aNFRrXxFSeojmKw1K9MpCu6gZYdLaooVIVrrVU0IvQDFab3odc9JwchQMBpBw0D+J4lsUhF 6AvxdFknZ2n/jGp1uO6lZQbJGuwKWQXTMRMFPHLp/Tiu9fdd8cepayt73+cuEzI3xQ1EP6Vj67PQe ldr5xyv9CNjI6seDafLqtzcMQjApiHJaiN09aGLP6c1UEGJWzvt05VBQmTqnaLj1x09ZTSffBGcXy hWUY6awSc77ottJdIizKtCQk/6ApwNctChkLGlHr841HDjMyk8Ape6Z5GjcxtH90Xbu35xz/vuhIG uNUujVi0D3aus5ygJ5/iBg==; Original-Received: from [87.69.77.57] (port=1570 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqzNR-00021q-5H; Sat, 27 Nov 2021 10:12:33 -0500 In-Reply-To: <877dctsnhz.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 27 Nov 2021 15:04:56 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:280346 Archived-At: > From: Lars Ingebrigtsen > Cc: rpluim@gmail.com, emacs-devel@gnu.org > Date: Sat, 27 Nov 2021 15:04:56 +0100 > > if (it->char_to_display != '\n' && it->char_to_display != '\t') > { > it->nglyphs = 1; > > if (it->override_ascent >= 0) > { > it->ascent = it->override_ascent; > it->descent = it->override_descent; > boff = it->override_boff; > } > else > { > it->ascent = FONT_BASE (font) + boff; > it->descent = FONT_DESCENT (font) - boff; > } > > And boff is 3 because of: > > boff = font->baseline_offset; > if (font->vertical_centering) > boff = VCENTER_BASELINE_OFFSET (font, it->f) - boff; > > (gdb) print font->vertical_centering > $17 = true > > > And we don't apply these sanity checks in this case: > > /* These limitations are enforced by an > assertion near the end of this function. */ > if (it->ascent < 0) > it->ascent = 0; > if (it->descent < 0) > it->descent = 0; Right, I added a similar limitation, because I don't see what else could we do in cases such as this one. I do wonder why others didn't see the same problem in a very similar build on the same system.