Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os_version_num() fails for modern Linux version strings . #4107

Closed
clemej opened this issue Nov 22, 2020 · 0 comments · Fixed by #4108
Closed

os_version_num() fails for modern Linux version strings . #4107

clemej opened this issue Nov 22, 2020 · 0 comments · Fixed by #4108

Comments

@clemej
Copy link

clemej commented Nov 22, 2020

Describe the bug
I tried to create a custom app plan, and one stipulation is for the user to have a kernel > 5.0.0. But when I set os_min_version, it didn't work.. turning on debugging, I see this in the logs:

[version] plan_class_spec: Can't determine numerical OS version 'Ubuntu 20.10 [5.10.0-051000rc3-generic|libc 2.32 (Ubuntu GLIBC 2.32-0ubuntu3)]'

The code in question is essentially if (sscanf(string, "%u.%u.%u", &a, &b, &c) == 3), and sure enough the above string won't parse to that. Maybe there's meant to be a search for '[' before ?

https://github.com/BOINC/boinc/blob/master/sched/plan_class_spec.cpp#L51

Steps To Reproduce

  1. make a custom app plan that sets a min_os_version , turn on version debugging. See error in logs.

Expected behavior
The os_min_version number is set correctly on Linux.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants