The speed-ookla measurement fails iff the environment variable HOME is unset. This is the case for the default Systemd unit configuration, (which does not provide such things by default).
This can be reproduced outside of Systemd, and outside of Netrics, with the Ookla speedtest binary itself:
$ env -u HOME speedtest --progress no --format json --accept-license
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
Aborted (core dumped)
This is due to the speedtest attempting to record the user's acceptance of the license under their HOME directory. As it happens, the binary does correctly handle an empty HOME variable (and apparently skips this record):
However, a bug in the Ookla speedtest causes it to crash if the variable is entirely unset. This is never the case in typical use by a human; but, it is entirely to be expected of our use.
This could in theory be resolved at the level of the Systemd configuration, or at lower levels. For example:
However, this is only the preoccupation of the Ookla speedtest, and special handling should be limited to it. Users and administrators of this software shouldn't be bothered with the consideration, either. As such, the speedtest binary might be invoked by speed-ookla with an environment empty but for HOME="". (There is no need for it to record license acceptance in those instances where HOME is set.)
The
speed-ookla
measurement fails iff the environment variableHOME
is unset. This is the case for the default Systemd unit configuration, (which does not provide such things by default).This can be reproduced outside of Systemd, and outside of Netrics, with the Ookla speedtest binary itself:
This is due to the speedtest attempting to record the user's acceptance of the license under their HOME directory. As it happens, the binary does correctly handle an empty HOME variable (and apparently skips this record):
However, a bug in the Ookla speedtest causes it to crash if the variable is entirely unset. This is never the case in typical use by a human; but, it is entirely to be expected of our use.
This could in theory be resolved at the level of the Systemd configuration, or at lower levels. For example:
However, this is only the preoccupation of the Ookla speedtest, and special handling should be limited to it. Users and administrators of this software shouldn't be bothered with the consideration, either. As such, the speedtest binary might be invoked by
speed-ookla
with an environment empty but forHOME=""
. (There is no need for it to record license acceptance in those instances where HOME is set.)