GNU bug report logs - #77988
31.0.50; No more images after fullscreen and load-theme

Previous Next

Package: emacs;

Reported by: Manuel Giraud <manuel <at> ledu-giraud.fr>

Date: Tue, 22 Apr 2025 14:14:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Elijah Gabe Pérez <eg642616 <at> gmail.com>
Cc: 77988 <at> debbugs.gnu.org, alan <at> idiocy.org, manuel <at> ledu-giraud.fr
Subject: bug#77988: 31.0.50; No more images after fullscreen and load-theme
Date: Sat, 17 May 2025 10:38:19 +0300
> From: Elijah Gabe Pérez <eg642616 <at> gmail.com>
> Cc: Alan Third <alan <at> idiocy.org>,  77988 <at> debbugs.gnu.org,
>   manuel <at> ledu-giraud.fr
> Date: Sat, 17 May 2025 00:17:17 -0600
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Are these backtraces before or after the problematic display happened?
> 
> Before (i guess).
> 
> The first one is just before exiting svg_load.
> And the others are when the svg image is going to be displayed.

We need to see what happens when the image is displayed correctly, and
then compare that with what happens when it is displayed incorrectly.

I suspect that something is wrong with the image cache.  So we need to
look at the image cache in both situations described above.

Can you show the data in the image cache in both situations?  The
function Frecenter is useful for getting control to GDB when you need.
So:

  $ gdb ./emacs
  ...
  (gdb) break Frecenter
  (gdb) r -Q

Then inside Emacs visit the gnus.svg file and make the frame
fullscreen:

  M-: (find-file "etc/images/gnus/gnus.svg") RET
  M-: (set-frame-parameter nil 'fullscreen 'fullboth) RET

Then trigger the breakpoint by typing C-l.  Then:

  (gdb) p Vframe_list
  (gdb) xcar

The last command with show something like

  $9 = (struct frame *) 0x90d31e8

(the numbers will be different in your case).  Then show the image
cache of that frame:

  (gdb) p $9->image_cache

(where $9 should be the same number as GDB shows you in the previous
line).  Post the results here.  Then let Emacs continue

  (gdb) c

Then do the last step of the recipe:

  M-: (load-theme 'modus-operandi) RET

And, assuming that the image becomes corrupted, type C-l to get
control back to GDB, and show the image cache again:

  (gdb) p $9->image_cache

and post the results.  It would be interesting to see the differences,
if any.




This bug report was last modified 7 days ago.

Previous Next


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