On some linux systems, Ubuntu especially, with an attached display has
quite the impressive memory leak.
Sometime this spring between change 20981 and change 21617 there were
changes made to the screen resolution code that changed how often, it
seems, we call display_ioScreenScaleFactor. Before it must have been
rarely called like on startup and resize or whatever and now it is
called often, sometimes many times per second.
The X11 code, being X11 code for Linux, has multiple ways of doing
something and this holds true for the code to get the screen scale
factor. Which path was followed depended on some things but on
assorted Ubuntu systems the path followed called scale_Xftdpi_usable.
This called XrmGetStringDatabase every time it entered but if Xft.dpi
was there then it returned without calling XrmDestroyDatabase. Ergo
the memory leaked. I don't think much memory leaked per call, but,
it is called often.
The patch is in the OpenSmalltalk/opensmalltalk-vm issue 642. It's
I had thought this was an image side issue and therefore would not
need touching for the release, but, this kind of eats memory for users
who user Squeak interactively on some Linux systems, most notably
Ubuntu systems including 18.04 and 22.04.