GNU bug report logs - #61704
29.0.60; Crash in get_narrowed_begv

Previous Next

Package: emacs;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Wed, 22 Feb 2023 12:23:01 UTC

Severity: normal

Found in version 29.0.60

Full log


Message #20 received at 61704 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Gregory Heytings <gregory <at> heytings.org>, 61704 <at> debbugs.gnu.org
Subject: Re: bug#61704: 29.0.60; Crash in get_narrowed_begv
Date: Wed, 22 Feb 2023 21:16:31 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

>> How can len possibly be 0 at that point?  It is (in short) 

Because the pixel width of W is less than its frame's column width.
The division performed window_body_width is truncating, i.e:

  24 / 25 = 0

and I suspect the actual width being divded at that point is less than
w->pixel_width, since that window had fringes.

>> window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS) * window_body_height 
>> (w, WINDOW_BODY_IN_CANONICAL_CHARS).  We could add a condition in 
>> get_narrowed_len to return 1 when the result is 0, but it could be a bug 
>> somewhere else (can a window body have a zero width and/or height?), in 
>> which case it would be better to fix the bug there.
>
> I agree that we should understand how this happened (and asked a
> similar question), but I installed a defensive protection anyway.  It
> cannot do any harm.

I did say that this happened while resizing the window.  It was being
displayed in an ediff-created frame.




This bug report was last modified 2 years and 114 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.