Commit Graph

24847 Commits

Author SHA1 Message Date
David Anderson aa04502db4 create_work: allow targeting commands in stdin job descriptions 2014-07-25 00:51:51 -07:00
David Anderson 16e45a1ddc Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-07-24 23:43:06 -07:00
David Anderson b9f0fe0298 admin web: add "assigned jobs" link 2014-07-24 23:42:45 -07:00
Charlie Fenton fb66dd82ae client: try to get a return code from switcher (i.e., from the command that switcher executed.) 2014-07-24 02:39:17 -07:00
Charlie Fenton 99daa41445 client: attempt to get a more useful error message from kill_app_process() on non-Windows platforms. 2014-07-24 01:06:43 -07:00
Rom Walton f014b0d6da client: return a possible error code to the core client if execv fails for some reason in the switcher tool. 2014-07-24 00:31:57 -04:00
David Anderson 55a17c3b41 client: fix logic for cleaning up subsidiary processes
"Subsidiary processes" are
1) descendants
2) "other PIDs" as reported by the app, e.g. VMs which are not descendants
We were failing to clean up these processes in some cases.

- Add a function ACTIVE_TASK::kill_exited_app() for killing the
  subsidiary processes of a task whose main process has already exited.
  At this point we can't enumerate its current descendants;
  but we have the list of descendants from the last time
  we computed memory usage (within the last 10 sec).
  So kill this, and kill the other PIDs
- call this function when appropriate:
  - too many temporary exits
  - too many premature exits
  - main process has exited in response to abort or quit message
    (the existing code failed to kill other PIDs)
- rename ACTIVE_TASK::kill_task() to kill_running_task()
  to emphasize its intended use.

Also remove code that, in case of secure install on Windows,
didn't try to kill any subsidiary processes at all;
there used to be a permission problem in doing so, now there isn't.
2014-07-23 12:41:57 -07:00
David Anderson ae9c58e03d client: fix compile warnings 2014-07-23 12:41:41 -07:00
David Anderson dcb72145e1 client: fix compile warnings 2014-07-23 09:51:34 -07:00
David Anderson 3156ea56fd delete spammers script: fix --id_range command 2014-07-23 09:51:02 -07:00
Charlie Fenton 512e8e2cfe client: continue adding support for OpenCL devices (GPUs and accelerators) other than AMD/ATI, NVIDIA or Intel GPUs.
For now, handle AMD/ATI, NVIDIA or Intel GPUs as before.  But for other, "new" vendors, we treat each device as a separate resource, creating an entry for each instance in the COPROCS::coprocs[] array and copying the device name COPROC::opencl_prop.name into the COPROC::type field (instead of the vendor name.)
For devices from "new" vendors, set <gpu_type> field in init_data.xml file to the vendor string supplied by OpenCL.  This should allow boinc_get_opencl_ids() to work correctly with these "new" devices without modification.
2014-07-23 05:18:51 -07:00
David Anderson 191c7347e2 client: make it compile. Charlie, please change the commented-out lines 2014-07-22 13:02:43 -07:00
David Anderson 035541f7a7 scheduler: recent coproc changes caused crash; undo them 2014-07-22 09:13:29 -07:00
David Anderson 9d9f29f509 client: fix compile warning 2014-07-21 12:06:39 -07:00
David Anderson 8710b5e260 scheduler: when parsing trickle-ups, initialize "variety" field to empty
... otherwise can get garbage in that field if request doesn't include variety
2014-07-21 09:42:29 -07:00
David Anderson 2ae76ce6a3 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-07-21 09:05:24 -07:00
Rom Walton 0b9348c403 client: Cleanup any descendants or other_pids on a premature exit as well. 2014-07-19 19:16:00 -04:00
Rom Walton d1db358a56 client: Make sure handle_temporary_exit() cleans up any descendents and any other processes of interest determined by other_pid. 2014-07-19 19:04:06 -04:00
Charlie Fenton 98f4c461d0 client: group new (non-NVIDIA, non-AMD, non-INTEL) OpenCL device types by vendor name string rather than by CL_DEVICE_VENDOR_ID. This assumes that OpenCL reports identical vendor name strings for all devices from the same vendor on a given host. I incorrectly thought CL_DEVICE_VENDOR_ID was a numeric ID of the vendor which would be the same for each device from that vendor, but it is actually a unique numeric ID assigned by a given vendor to each device on a particular host. 2014-07-18 04:25:45 -07:00
Charlie Fenton 786184b2d1 Merge branch 'NewOpenCLCoprocs' 2014-07-17 02:24:01 -07:00
Charlie Fenton 7fb69fe924 client: generalize naming scheme for OpenCL devices, add more general have_rsrc() functions 2014-07-17 02:22:26 -07:00
David Anderson 9a9041cf7d server: fix support for client break; show it on web 2014-07-16 21:08:18 -07:00
David Anderson 9769c55f17 client: client brand fix 2014-07-16 21:00:10 -07:00
David Anderson 246f5a2d1e client/scheduler: add support for "client brand"
Currently the server doesn't know about different client "brands",
e.g. HTC Power to Give, Charity Engine, GridRepublic, etc.,
so there's no way to collect statistics about them.

Changes:
- client: at startup, read a "client brand" string from client_brand.txt
    (i.e. branded clients will have to include this file in their installer)
    Report this string in scheduler requests.
- scheduler: parse this request element,
    and store it in host.serialnum as [BOINC|7.4.2|brand]
2014-07-16 20:18:06 -07:00
David Anderson 9904d7b920 web: use symbols instead of numbers in result.inc 2014-07-16 19:29:30 -07:00
David Anderson 64184333a7 wrapper: comment tweak 2014-07-16 19:28:33 -07:00
David Anderson 4b6d48c8aa Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-07-16 19:27:52 -07:00
David Anderson 7c43a9fbb0 antique file deleter: skip no_delete WUs in finding oldest WU 2014-07-16 19:25:15 -07:00
David Anderson 1b7506e0af Client (Win): if 32 bit client on 64 bit host, warn about VirtualBox
The 32-bit client won't be able to detect VBox on a 64-bit host.
Say this in a startup message.
2014-07-16 17:32:56 -07:00
Rytis Slatkevičius 1124a108bf Fix workunit/result templates in job submission rpc handler 2014-07-16 17:54:12 +03:00
Charlie Fenton 64d76198ea client: keep array subscripts in bounds. 2014-07-16 06:05:01 -07:00
Charlie Fenton b37cf4cd9a client: begin adding support for OpenCL devices other than AMD/ATI, NVIDIA or Intel 2014-07-16 04:33:26 -07:00
Rytis Slatkevičius ac1b78b1fe Fix typos 2014-07-15 12:21:17 +03:00
Rytis Slatkevičius bff75f6f00 Remote job submission: accept wu_template parameter for create_work. 2014-07-15 11:47:18 +03:00
David Anderson 61fb82e99b scheduler: add <maintenance_delay> config option.
Tells clients minimum delay to next request when the project is down.
Previously this was hardwired at 3600 sec.
2014-07-14 14:13:33 -07:00
David Anderson 7d983da395 web: simplify and remove infinite-loop bug in web cache purging 2014-07-14 11:26:32 -07:00
Rom Walton c6618d49ca BUILD: Increase the build number for both the wrapper and vboxwrapper. 2014-07-14 12:27:30 -04:00
Rom Walton d80f2e271c VBOX: Make sure we only check for the VM exit code if we have a valid handle. 2014-07-14 12:26:10 -04:00
David Anderson 382aeb8814 GUI RPC: add missing clear of PROJECT::cross_project_id 2014-07-14 08:45:54 -07:00
Joachim Fritzsch e0bc6eeb98 Merge branch 'social' 2014-07-14 15:56:44 +02:00
Joachim Fritzsch 3c382a0ec0 android: social media integration: polished invite feature 2014-07-14 15:55:59 +02:00
Joachim Fritzsch 6c70925131 android: correction in GUI string 2014-07-14 14:52:07 +02:00
David Anderson 9f2cdee695 GUI RPC: add cross_project_id to PROJECT, for BoincTasks
This was already in the XML written by the client; no client change needed.
2014-07-13 17:44:38 -07:00
David Anderson 282161831d web: add WYSIWYG control for strike-through text 2014-07-13 15:27:25 -07:00
David Anderson eb9302c8d5 Web: add support for strikethrough ([s]...[/s]) in bbcode
Didn't add to WYWIWYG interface yet
2014-07-13 10:35:22 -07:00
David Anderson c84e3f2607 client: fix build break 2014-07-13 00:42:34 -07:00
David Anderson 9df6e43863 web: handle the case of missing user records in a few places
The delete-spammers script was creating dangling user references
(although this is now fixed).
Detect these dangling references and clean them up.
2014-07-12 14:32:59 -07:00
David Anderson 0a1d81ffad Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-07-12 14:32:23 -07:00
David Anderson 57bdeec5ec Client: improve task duration estimates for apps that don't report fraction done
The "static estimate" is wu.rsc_fpops_est/app_version.flops.
The problem is: what if the elapsed time exceeds this.
In this case we were returning elapsed time,
resulting in a "time remaining" of zero, which is bad.

Instead, use the same exponential model that we use to
estimate fraction done when it's not reported.
This has the advantages that:
- time remaining monotonically decreases
  (though potentially at a very slow rate)
- the combo of fraction done, elapsed time, and time remaining
  is consistent for apps that don't report fraction done
2014-07-12 14:31:57 -07:00
Rom Walton 9b82e44f0f Merge branch 'master' of ssh://isaac.ssl.berkeley.edu/boinc-v2 2014-07-12 15:27:20 -04:00