GNU bug report logs - #71929
30.0.60; crash in mark_image_cache

Previous Next

Package: emacs;

Reported by: Sean Whitton <spwhitton <at> spwhitton.name>

Date: Thu, 4 Jul 2024 02:34:02 UTC

Severity: normal

Found in version 30.0.60

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


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

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 71929 <at> debbugs.gnu.org, spwhitton <at> spwhitton.name
Subject: Re: bug#71929: 30.0.60; crash in mark_image_cache
Date: Fri, 05 Jul 2024 17:36:49 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

> How does this answer my question?

I mentioned free_frame_faces.  That's the only function where image
caches are released.

> The use case I was thinking of is that the image cache was shared,
> then the last frame which shared the cache was deleted.  How do we
> make sure the cache is freed and set to NULL in this situation?

The cache (whose refcount is 1) is released in free_frame_faces when it
is called with this final frame, through free_image_cache, which also
resets its `FRAME_IMAGE_CACHE' to NULL.

> IOW, we seem to have a cache that is not NULL but is also not a real
> cache, as it cannot be accessed.  The question is how did that happen?

I don't know.  It can only be the case if its `refcount' was decremented
excessively for a reason not yet understood.




This bug report was last modified 301 days ago.

Previous Next


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