Closed computezrmle closed 5 months ago
I don't like this solution simply because this breaks the whole function logic.
Instead I'd investigate more why it was not possible to detect the VBox version.
Otherwise this will break the logic, and would make vboxwrapper to act wrong in the case when it works perfectly fine right now.
I'd suggest to add additional logging to the is_virtualbox_version_newer
function to show the input string, to identify more accurately, why it was not possible to detect the correct VBox version
As mentioned, the reason why the check fails is unknown. The log is not from my own computer and the computer in question does not always fail the version check. Could be a broken VirtualBox installation, but that's without evidence.
Below please find a complete list where is_virtual_box_version_newer()
is called.
The first location is the only critical one as it causes the task to fail, but it wouldn't do any harm to give the task a chance.
All other locations also cause no harm if true
is returned, especially since all checks (but 1) are against very old VirtualBox versions that are not in use any more for years.
As for more logging:
Agreed, but it may be done in get_version_information()
if the version details can't be identified.
Even if now there is no harm to do the change you proposed, that doesn't mean that this won't make an issue in future. I suggest to do the next:
get_version_information()
indeed is the best place for that)vboxwrapper
and wait for more details about this issue.
I prefer to fix the root cause of the issue, and not just patch the aftermaths.
Thank you for understanding.As for (1.): done
As for (2.): It does harm now since it forces a task to fail without any reason to do so. I understand this as a logical error in the current vboxwrapper that needs to be corrected.
My feeling is: we should try to figure out why version detection fails.
But if it does fail, we should assume it's the current version.
Certain Vbox tasks from LHC@home recently failed with log entries like this:
The root cause is that (for an unknown reason) the VirtualBox version could not be detected. Vboxwrapper then used
--sataportcount
which is set sinceis_virtual_box_version_newer()
returns false as default. The log also shows that the VirtualBox version used on this computer is 7.0.8.Suggestion To give a task a chance to run
is_virtual_box_version_newer()
should returntrue
as default which would set recent vboxmanage command options as default.