Commit Graph

36668 Commits

Author SHA1 Message Date
Vitalii Koshura a2b61ada16
Merge pull request #5803 from BOINC/dpa_script_val2
validator: handle transient errors
2024-09-10 04:08:04 +02:00
David Anderson d94d625f63 validator: handle transient errors
A 'transient error' is one that will go away in a while,
e.g. an fopen failure because of a broken NSF mount.
In general, the BOINC back-end code (validation, assimilation)
handles transient errors sensibly:
if there's a bad NSF mount, it retries validation for a few hours
rather than marking thousands of jobs as failed.

Extend this to script-based validation.
If a script (either init_result or compare_results) exits with 3,
treat that as a transient error.
Treat other nonzero exits (or lack of an exit code) as a permanent error.

More generally (for all validators) add a return value
VAL_RESULT_TRANSIENT_ERROR for init_result() and compute_results().
This means any transient error.
Previously we checked only for ERR_OPENDIR.
And for compare_results() we treated all nonzero returns as permanent.
2024-09-09 17:06:50 -07:00
Vitalii Koshura 8cb5497f76
Merge pull request #5801 from BOINC/dpa_idle2
client: add missing clause in idle check logic
2024-09-10 00:28:45 +02:00
davidpanderson fda374c6ad client: add missing clause in idle check logic 2024-09-09 13:47:48 -07:00
Vitalii Koshura b11cd70309
Merge pull request #5800 from BOINC/vko_update_actions
[ci] update actions
2024-09-09 17:42:20 +02:00
Vitalii Koshura 86a86b1855
[ci] update actions
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-09-09 17:17:41 +02:00
Vitalii Koshura 27c654f689
Merge pull request #5798 from BOINC/vko_nightly_coverity_builds
[coverity] run builds nightly instead of weekly
2024-09-06 14:50:29 +02:00
Vitalii Koshura 48d4f54fe5
[coverity] run builds nightly instead of weekly
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-09-06 14:29:08 +02:00
Vitalii Koshura afe1c736ac
Merge pull request #5797 from BOINC/dpa_need_idle_state
client: get 'in use' state only if computing preferences need it.
2024-09-06 09:59:07 +02:00
David Anderson 3b6689421d Mac fix 2024-09-06 00:16:37 -07:00
davidpanderson 71973ee95f Debug 2024-09-05 20:25:21 -07:00
David Anderson d295e0c93c client: only get "in use" state if any prefs requires them. 2024-09-05 19:56:33 -07:00
Vitalii Koshura 415efaaa44
Merge pull request #5796 from BOINC/dpa_coverity_426653
client: fix potential byte count overflow
2024-09-06 01:28:24 +02:00
Vitalii Koshura 53d8fb49c9
Merge pull request #5795 from BOINC/dpa_coverity_27814
fix possible buffer overflow
2024-09-06 01:24:15 +02:00
Vitalii Koshura 152dd86b9b
Merge pull request #5791 from BOINC/dpa_wsl_wrapper
Add wsl_wrapper
2024-09-06 01:17:51 +02:00
David Anderson 7be2b458c8 client: fix potential byte count overflow
In many places we use int where in theory we should use size_t or ssize_t.
This would cause problems if things like RPC messages exceeded 2GB.
2024-09-05 14:59:14 -07:00
David Anderson 534ac6bf64 fix possible buffer overflow 2024-09-05 14:40:58 -07:00
davidpanderson 2157d4f58e Merge branch 'dpa_wsl_wrapper' of https://github.com/BOINC/boinc into dpa_wsl_wrapper 2024-09-05 12:15:15 -07:00
davidpanderson 585db4d35e Use string instead of char[] for main command.
Clear VERBOSE.
2024-09-05 12:14:52 -07:00
Vitalii Koshura 9fa3f1210d
Enable c++11 when building sample applications for linux release
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-09-05 10:01:55 +02:00
Vitalii Koshura 4463029fa9
Merge pull request #5792 from BOINC/dpa_wsl6
scheduler: fix WSL plan class
2024-09-05 09:09:50 +02:00
David Anderson 242786b6c0 scheduler: fix WSL plan class
admin web: fix bug in opening DB
2024-09-04 21:27:13 -07:00
David Anderson 0f9fe79ff3
Merge pull request #5754 from BOINC/vko_add_wsl_plan_class
[sched] add wsl plan class
2024-09-04 16:22:45 -07:00
David Anderson b02d2d8cc3 client: don't clean out projects/app_test on startup 2024-09-04 14:35:51 -07:00
David Anderson 6aea3bad2b app_test.cpp: fix comments 2024-09-04 12:02:33 -07:00
davidpanderson 765f49b19a - fix bugs in wsl_wrapper. It works now.
- fix bugs in app_test.cpp; result/WU/app names must match
2024-09-04 00:51:17 -07:00
davidpanderson 04e6cc17e8 client: remove --app_test option; to use feature, edit app_test.cpp
client: restore CLIENT_STATE::app_test and app_test_file;
   these aren't used but if I remove the client crashes on exit
client: don't delete slot dirs with 'test' in their name
worker: count only computing time (not sleep) toward --nsecs
wsl_wrapper: add debugging output; fix kill commands
2024-09-03 13:49:47 -07:00
Vitalii Koshura dc9420c179
Merge pull request #5790 from BOINC/vko_fix_fonts_on_adv_pref_dlg_linux
[linux][manager] Fix fonts on Advanced Computing Preferences dialog.
2024-09-03 13:33:10 +02:00
Vitalii Koshura e5e8a2fd13
[linux][manager] Fix fonts on Advanced Computing Preferences dialog.
Fixes: #5786.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-09-03 12:55:44 +02:00
Vitalii Koshura 1cc0d3fd7f
Merge pull request #5788 from BOINC/vko_update_actions
[ci] update actions
2024-09-01 03:11:01 +02:00
Vitalii Koshura 0b891daaa5
[ci] update actions
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-09-01 02:36:25 +02:00
David Anderson 66440f90f1
Merge pull request #5697 from BOINC/dpa_replica
PHP DB code: clean up the logic, and allow for > 1 readonly replica
2024-08-31 10:48:10 -07:00
davidpanderson 6f0bb03c91 don't write app_test project to state file 2024-08-29 15:33:10 -07:00
David Anderson 2ee5c7c5cb client: change the way app_test works.
- Instead of running the client with --app_test X, you edit app_test.cpp.
    This is simpler and allows you to test app versions with multiple files.
- The app test files are in projects/app_test rather than the data dir

Prepare for testing the WSL wrapper this way
2024-08-29 14:41:47 -07:00
davidpanderson 5c35a8a30a win build fix 2024-08-29 13:17:39 -07:00
David Anderson cf5464509b add cmdline options for choosing WSL distro and passing args to main 2024-08-28 18:20:36 -07:00
davidpanderson 837a802cc1 call BOINC API functions 2024-08-28 15:58:10 -07:00
davidpanderson 9ba8fe9074 debug. Standalone case works. 2024-08-27 20:07:09 -07:00
David Anderson bd219aa5b3 worker: fix bugs 2024-08-27 14:25:52 -07:00
davidpanderson 8c61f58e0f move proc_handle into WSL_CMD
flesh out wsl_wrapper a bit.
2024-08-27 14:22:51 -07:00
David Anderson 525d69f811 flesh out wsl_wrapper a bit 2024-08-26 02:03:13 -07:00
Vitalii Koshura 8ae0805a56
Merge pull request #5779 from BOINC/vko_fix_boinccmd_on_default_linux_package
[linux] set default data directory location to '/var/lib/boinc'.
2024-08-26 03:26:56 +02:00
davidpanderson aa700bdc2f Win build fixes 2024-08-25 14:14:13 -07:00
David Anderson de4c2404cd Add EOM and timeout args to read_from_pipe();
move it to win_util.cpp so we can use it from WSL wrapper too
2024-08-25 13:01:00 -07:00
Vitalii Koshura b64c6aae49
[linux] set default data directory location to '/var/lib/boinc'.
Official BOINC packages for Linux use '/var/lib/boinc' directory instead of '/var/lib/boinc-client'.

This fixes #5775.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-08-25 19:55:44 +02:00
davidpanderson 4b8c7a82d0 initial checkin 2024-08-25 00:45:22 -07:00
David Anderson df822974a6
Merge pull request #5777 from BOINC/vko_add_empty_wsl_wrapper_vs_project
Add empty wsl_wrapper VS project
2024-08-24 18:44:01 -07:00
Vitalii Koshura 4374bb0fbe
Merge pull request #5778 from BOINC/all_projects_list_xml_update
Update all_projects_list.xml
2024-08-25 02:41:42 +02:00
AenBleidd 26261f1b43 Update all_projects_list.xml 2024-08-25 00:30:40 +00:00
Vitalii Koshura 1db2e3b377
Add empty wsl_wrapper VS project
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-08-25 02:06:27 +02:00