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

How to recognize the bit-depth of the client.? #2386

Closed
Ageless93 opened this issue Mar 1, 2018 · 4 comments
Closed

How to recognize the bit-depth of the client.? #2386

Ageless93 opened this issue Mar 1, 2018 · 4 comments

Comments

@Ageless93
Copy link
Contributor

In all these years I believed that when BOINC stated in the event log "Starting BOINC client version 7.9.2 for windows_x86_64" that the windows_x86_64 part meant that the client was 64 bit, running on Windows. But through a comment by Juha it appears this is not the way. It shows what operating system it has detected, in the above case Windows 64 bit, but not necessarily that the client is 64 bit.

When installing the 32 bit client on a 64 bit Windows, it will start with "Starting BOINC client version 7.9.2 for windows_x86_64", while it will only report "windows_intex86" when installed on a 32 bit Windows.

Now then, where can we find information about the bit-depth of the client?
In BOINC Manager's About window it says via Version: N.N.N (x86) or N.N.N (x64)
However, when one cannot start BOINC Manager for some reason and one has to check via the command line with boinc.exe --version, the 32 bit version will report N.N.N windows_intelx86, while the 64 bit version will report N.N.N windows_x86_64. Here the windows_* indicate the bit-depth of the client, not that of the operating system. That is confusing, to me anyway.

So I am putting this discussion down, with questions. For user-friendliness, and for ease of mind of us oldies:

  1. Should we continue to have the client start by saying what OS it detected, even when that same detection is later on in the log written with the full name of the OS itself?
    I.e. OS: Microsoft Windows 7: Ultimate x64 Edition, Service Pack 1, (06.01.7601.00)
  2. Or should the client start with information for the user what client he installed, with the same information as it is shown on the installer he used?
    I.e. "Starting BOINC client version 7.9.2, 32-bit (x86) for Windows", "Starting BOINC client version 7.9.2, 64-bit (x86_64) for Windows"
  3. Or is there a third option we can use?

In any case, if 1. then IMO the command line version reporting is incorrect. That should be N.N.N intelx86/x86_64, not including the windows_ part.

@davidpanderson
Copy link
Contributor

The current behavior is wrong; I'll fix it.

@Ageless93
Copy link
Contributor Author

Thanks! 👍
But what are you going to fix? The event log message or the command line message? :)

@RichardHaselgrove
Copy link
Contributor

RichardHaselgrove commented Mar 2, 2018

See PR #2388. Could we review quickly please? Feels like it's worth pulling into v7.9.3

@davidpanderson
Copy link
Contributor

davidpanderson commented Mar 2, 2018 via email

CharlieFenton pushed a commit that referenced this issue Apr 4, 2018
The client shows what kind of operating system it has detected in startup log message and elsewhere. This is confusing and not helping in troubleshooting when people expect these messages to describe the client itself.

Change the messages to use client's build platform instead.

Startup log message, output of --version and user agent string should be safe to change without breaking anything. The client still uses OS platform in various places but changing these would break stuff:

- Scheduler request XML. Scheduler expects scheduler_request.platform_name to be OS primary platform.
- client_state.xml. Client writes OS primary platform and alt platforms separately to client_state.xml. The client reads primary platform only to see if it has changed. The client doesn't read alt platforms but some other program might and depends on the platforms being as they are now. Not changing this means the client won't be able to detect when its own platform has changed. OS platform changes are still detected.
- get_state GUI RPC. The client writes primary platform to client_state.platform_name and all platforms, including primary, to client_state.platform. BOINC Manager only reads client_state.platform. As such, client_state.platform_name could be changed to client's build platform but some 3rd party manager might depend on it being OS primary platform.
- time_stats_log. The client writes platform info there. Unclear who uses that information.

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

No branches or pull requests

3 participants