[Pixman] static TLS is a scarce resource

Dan HorĂ¡k dan at danny.cz
Fri Jun 21 14:44:08 UTC 2019


Hi,

we have recently got a problem in the Fedora development version (aka
Rawhide) where the installer, written in Python, crashed when loading
shared libs thru the Python modules with

"libgomp.so.1: cannot allocate memory in static TLS block"

on aarch64 and ppc64le platforms. For details please read
https://bugzilla.redhat.com/show_bug.cgi?id=1722181

After a discussion with the toolchain team we realized that TLS storage
is scarce and pretty limited. Fortunately the rpm maintainer was able to
fix librpm (from static buffer to dynamically allocated) and librpmio
(incorrect use of "static __thread"), so we are unblocked now. But there
are other libraries with a high consumption of the TLS space and pixman
is one of them, specifically the array from
https://cgit.freedesktop.org/pixman/tree/pixman/pixman-implementation.c#n66
"eats" whole 384 B. Is there anything pixman could do to lower its
consumption of TLS? Because it's only a matter of time when the "static
TLS allocation" error will appear again in another complex application.


	Thanks,

		Dan


More information about the Pixman mailing list