I know, heretic, but...
I also know that this is not perfect but it is a good start, I think. It
would be nice if this were part of the automatic "nixdoc" function
reference. I'd like guidance if this should be part of the rust section
or something else.
Otherwise you get errors like this when running `thermald.service` from
the `services.thermald` module:
```
[WARN]22 CPUID levels; family:model:stepping 0x6:8e:a (6:142:10)
[WARN]Polling mode is enabled: 4
[WARN]sensor id 10 : No temp sysfs for reading raw temp
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
[WARN]sysfs open failed
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
I/O warning : failed to load external entity "/nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml"
[WARN]error: could not parse file /nix/store/7d7cfc1949g7n7ywx47a0dsfz3b3rix5-thermald-1.9.1/etc/thermald/thermal-conf.xml
```
kwallet sets a limit of 1000 for a single characters for environment
variables read from the socket[1]. wrapQtApps gives us a huge value
for QT_PLUGIN_PATH (up to 13000 bytes on my system!) Since this was
overflowing, the Qt plugin loading mechanism was hitting a segfault
when it was trying to parse the truncated QT_PLUGIN_PATH.
So for now, we can just unset QT_PLUGIN_PATH in the pam_kwallet_init
script. kwalletd5 has its own QT_PLUGIN_PATH which it can use.
This problem occured on 20.03, but not 19.09. It’s unclear what
changes were made in that time, but likely that previously we weren’t
getting a QT_PLUGIN_PATH set in the plasma5 startup at all. This means
that in 19.09 our QT_PLUGIN_PATH value must have been small enough to
fit into the 1000 char limit.
Fixes#77290
[1]: bc9713e272/src/runtime/kwalletd/main.cpp (L44)
/cc @ttuegel