Memleak in background extension rxvt_img::muladd

Erik-Jan ej.lfs at xs4all.nl
Wed Jan 10 00:07:44 CET 2024



Op 09-01-2024 om 23:15 schreef Emanuele Giaquinta:
> Hi,
> 
> On Tue, Jan 09, 2024 at 09:49:04PM +0100, ej.lfs at xs4all.nl wrote:
>> I'm using rxvt-unicode-9.31, with a background image with focus_fade. This
>> shows my background the way I like it, but it slowly eats all the memory
>> until it starts swapping.
>>
>> Digging around I seem to have found the issue (if I understand it
>> correctly): in rxvt_img::muladd an image cc is composed, and based on that
>> another image cc2 is composed. That image cc2 gets used, but cc and its
>> pixmap are kept hanging around and it never gets freed/destroyed.
>> That results in a memleak the size of my backgroundpic every muladd is
>> called = every time the focus on my terminal window changes.
>>
>> Explicitly destroying cc->destimg at the end of muladd fixed the leak for
>> me.
> 
> thanks for the report. Your analysis is spot on, but the fix is not
> complete because the rxvt_img object is still leaked. The attached
> patch should address that.
> 
> Emanuele

Thanks, I would never have noticed that. The leaked images were big so 
they were much more noticable.
I'll run with the updated version for a few days but I have confidence 
it will work OK.

Erik-Jan



More information about the rxvt-unicode mailing list