diff --git a/checkin_notes b/checkin_notes index 21a92f4d72..c6611655ff 100644 --- a/checkin_notes +++ b/checkin_notes @@ -1,7998 +1,12 @@ -David 1 Jan 2012 - - remote job stuff - - html/ - inc/ - sandbox.inc - user/ - lammps.php - submit.php - -Rom 1 Jan 2012 - - OPS: Update failure_result_summary_by_platform.php to include - plan class information. - - OPS: Update error code translation table - - html/inc - result.inc - html/ops - failure_result_summary_by_platform.php - -David 2 Jan 2012 - - ops: fix link in index page - - html/ - ops/ - index.php - user/ - sandbox.php - -Rom 2 Jan 2012 - - VBOX: If VirtualBox reports an error snag both the hypervisor system - log as well as the VM execution log. Maybe the hypervisor log - will tell us what is up with the virtual floppy device. - - VBOX: Don't retry commands that are expected to fail in normal use - cases. It slows down getting the VM up and running. - - VBOX: After starting the VM, use a timed loop waiting for the initial - VM state change instead of just waiting for 5 seconds. Older - machines can take longer than 5 seconds to switch from poweroff - to starting. If we hit the main poll loop in that state the wrapper - thinks we have crashed. - - VBOX: Strip carriage returns from all the vboxmanage output on - Windows. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -David 2 Jan 2012 - - client: compute projects' disk share (based on resource share). - Report it (along with disk usage) in scheduler request messages. - This will allow the scheduler to send file-delete commands - if the project is using more than its share. - - client: add log flag - - create_work: add --help, show --command_line option - - tools/ - create_work.cpp - html/ - inc/ - util.inc - user/ - sandbox.php - lib/ - cc_config.cpp,h - client/ - client_types.h - client_state.h - cs_prefs.cpp - cs_scheduler.cpp - cpu_sched.cpp - -David 2 Jan 2012 - - upgrade script: - - prompt user for DB user/passwd if DB updates needed - - error out immediately if any DB update fails - Fixes #1169, #1170 - - create_work: check for duplicate s in input template - NOTE: the input template syntax is pretty clunky - - tools/ - process_input_template.cpp - html/ - ops/ - upgrade_db.php - inc/ - util_ops.inc - -Rom 2 Jan 2012 - - VBOX: Fix crashing issue I introduced last night attempting to - extract the hypervisor system log. - - VBOX: Report the hypervisor system log with any failed vboxmanage - command that happens during the phase where we setup the VM. - - samples/vboxwrapper/ - vbox.cpp, .h - -David 3 Jan 2012 - - remote job submission: show input file links - - ops: fix message: app.min_version applies to HR app versions, - not client version - - html/ - ops/ - manage_apps.php - user/ - submit.php - sandbox.php - -David 3 Jan 2012 - - LAMMPS - - html/user/ - lammps.php - -David 3 Jan 2012 - - client: calculate disk share for zero-priority projects correctly - - client/ - cs_prefs.cpp - -Rom 3 Jan 2012 - - client: Remove scaling factor for AMD OpenCL devices. Latest - generation of drivers now report the correct memory size. - They didn't wait for the next OpenCL spec change. - - client/ - coproc_detect.cpp - -Rom 3 Jan 2012 - - VBOX: Per tester feedback, at an hourly status report to track - network usage. - - VBOX: For errors where an error code is specified in the output, - use that value when returning from vbm_open(). Make it easier - to track failure rates by problem type in the ops pages. - (Windows Only) - - VBOX: Try making the process of extracting the hypervisor system - log more robust, make a temp copy of it in the slot directory. - Avoid exclusive file lock issues since VboxSvc will still be - logging to it. - - VBOX: Change the session lock text to make it clearer that the - use of other VirtualBox management tools can cause a problem. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -Rom 3 Jan 2012 - - VBOX: Restore the elapsed time from the checkpoint file instead of - aid.starting_elapsed_time. It appears some older client versions - are giving erratic results. - - samples/vboxwrapper/ - vboxwrapper.cpp - -Rom 4 Jan 2012 - - VBOX: Use strtol instead of atol to parse Vbox error codes from - stderr/stdout output. - - VBOX: Undo my reorg yesterday with regards to report_vm_pid and - report_net_usage. - - VBOX: Only report network usage in the status report if - aid.global_prefs.daily_xfer_limit_mb is non-zero - - VBOX: Add the VM log to the list of things reported on a start - failure. Hypervisor log suggests that it launched the VM but - it failed unexpectedly. So there might be cases where it - actually exists. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -Rom 4 Jan 2012 - - VBOX: Move start state change detection code from run() function to - start() function and use similar code to handle stop as well. - - Weird stuff happens when people start/stop BOINC quickly, - it looks as though the previous VM instance isn't shutdown before we - attempt to start it again. Hopefully enough of a wait is in there - for the VM to fully halt before the wrapper is terminated. - - samples/vboxwrapper/ - vbox.cpp - -Rom 4 Jan 2012 - - VBOX: Fix a crash bug if multiple virtual NICs are defined for a VM. - I'm not sure what the heck happened. It probably has something to - do with my \r removal code on Windows. Bugs hidden by other bugs - I suppose. - - samples/vboxwrapper/ - vbox.cpp - -Rom 5 Jan 2012 - - VBOX: Extract the various logs before attempting to cleanup if the - registration process fails. - - samples/vboxwrapper/ - vboxwrapper.cpp - -David 5 Jan 2012 - - GUI RPC: use new XML parser - - lib/ - gui_rpc_client_ops.cpp - -Charlie 5 Jan 2012 - - client: Restore scaling factor for AMD OpenCL devices on Macs with - OpenCL version < 1.2. - - client/ - coproc_detect.cpp - -Charlie 6 Jan 2012 - - Mac Installer: Changes for integrated BOINC+VirtualBox Mac installer. - - clientgui/ - mac/ - SetVersion.cpp - mac_installer/ - Description.plist - Installer.cpp - release_boinc.sh - -Rom 6 Jan 2012 - - MGR: Remove sash window divider between the task panel and list panel - in the advanced view. Retain the ability to dynamically adjust the - width of the task panel based on widest button. - - LIB: Use parse string instead of copy contents for messages RPC. - - clientgui/ - BOINCBaseView.cpp, .h - ViewNotices.cpp - ViewResources.cpp - ViewStatistics.cpp - lib/ - gui_rpc_client_ops.cpp - -Rom 6 Jan 2012 - - VBOX: Use sscanf instead of strtol to convert a hex string. - - VBOX: Use new FloppyIO implementation that reports image - creation errors. - - samples/vboxwrapper/ - floppyio.cpp, .h - vbox.cpp - -David 6 Jan 2012 - - manager: parse message contents with XML_PARSER::element_content(). - - lib/ - gui_rpc_client_ops.cpp - -David 6 Jan 2012 - - validator: for credit_from_runtime, - use result.flops_estimate rather than host.p_fpops; - otherwise it doesn't work for multicore apps. - TODO: cheat-proofing - - sched/ - validator.cpp - html/user/ - forum_thread.php - -Rom 6 Jan 2012 - - MGR: Derive from the correct base class to make the sizers work - properly. - - clientgui/ - BOINCBaseView.cpp, .h - ViewNotices.cpp - ViewResources.cpp - -Rom 7 Jan 2012 - - VBOX: Sleep for the remainder of the polling period and not the - whole poll period. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp, .h - -David 7 Jan 2012 - - scheduler: change vbox_mt app plan function to use 1, 2 or 3 CPUs - depending on how many the host has, - and whether CPU VM extensions are present - (this reflects the requirements of CernVM). - - db/ - boinc_db.h - sched/ - sched_types.h - sched_customize.cpp - validator.cpp - -Rom 8 Jan 2012 - - VBOX: Fix regression where the ERR_CPU_VM_EXTENSIONS_DISABLED error - message wasn't being written to stderr when the VM extensions - were disabled via the BIOS. - - samples/vboxwrapper/ - vboxwrapper.cpp - -David 8 Jan 2012 - - scheduler: change vbox_mt plan function to use at most 2 cores, not 3 - (CERN doesn't actually need 3) - - sched/ - sched_customize.cpp - -David 8 Jan 2012 - - client: reset ACTIVE_TASK::bytes_sent and bytes_received - when the task is started or restarted - - client/ - app_start.cpp - -Charlie 9 Jan 2012 - - client: OpenCL 1.1 has no API for determining available GPU RAM, so if - CAL is not present for ATI / AMD GPU or if CUDA is not present for - NVIDIA GPU, set available GPU RAM equal to total GPU RAM. - - client/ - coproc_detect.cpp - -Rom 9 Jan 2012 - - VBOX: Fix one last regression related to failed start detection. If - only one CPU is allocated, manually disable VM hardware acceleration. - - samples/vboxwrapper/ - vbox.cpp - -David 9 Jan 2012 - - scheduler: the p_fpops value reported by clients can't be trusted. - Some credit cheats (e.g. with credit_by_runtime) can be done - by reporting a huge value. - Fix this by capping the value at 1.1 times the 95th percentile - of host.p_fpops, taken over active hosts. - - db/ - boinc_db.cpp,h - sched/ - census.cpp - sched_types.cpp,h - sched_shmem.cpp,h - sched_util.cpp,h - sched_customize.cpp - feeder.cpp - sched_version.cpp - hr_info.cpp,h - -Charlie 10 Jan 2012 - - client: Fix idle detection for Apple Remote Desktop and screen sharing - (VNC) under Mac OS 10.7. See comments in HOST_INFO::users_idle() for - details. +Rom 1 Jan 2013 + - client: Account for the display management power system when + calculating idle time from the XSS system on Linux. client/ hostinfo_unix.cpp -David 10 Jan 2012 - - first stab at improving Disk View colors - - clientgui/ - ViewResources.cpp - -Charlie 11 Jan 2012 - - Mgr: When launching Mac client as a daemon, allow time for it to start. - - clientgui/ - BOINCClientManager.cpp - -David 11 Jan 2012 - - vboxwrapper: add element to config file. - Specifies host port # for port forwarding. - If absent or zero, assign a port. - - samples/vboxwrapper - vbox.cpp,h - floppyio.cpp,h - vboxwrapper.cpp - -David 11 Jan 2012 - - API: respect direct_process_action even if multi_process is set - - api/ - boinc_api.cpp - -David 12 Jan 2012 - - LAMMPS job submission: improve completion estimate - - html/ - inc/ - boinc_db.inc - user/ - lammps.php - -Rom 12 Jan 2012 - - VBOX: Enable remote desktop functionality for a VM that has - specified in its vbox_job.xml file. - - NOTE: It does require the VirtualBox extension pack, but that - is freely available on the VirtualBox download page. - - samples/vboxwrapper - vbox.cpp, .h - vboxwrapper.cpp, .h - -Rom 12 Jan 2012 - - VBOX: Report the remote desktop connection information to the - core client. Next commit will create an extra "VM Console" - button in the manager when detected. Volunteers will just have - to click the button to see what is going on with the VM. - - api/ - boinc_api.cpp, .h - samples/vboxwrapper - vbox.cpp, .h - vboxwrapper.cpp, .h - -Rom 12 Jan 2012 - - client: Add plumbing to support passing the remote desktop - connection information to the manager - - MGR: Add a "Show VM Console" button for those tasks which - report a remote desktop port number. - - client/ - app.cpp, .h - app_control.cpp - clientgui/ - Events.h - MainDocument.cpp, .h - ViewWork.cpp, .h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -Rom 12 Jan 2012 - - VBOX: Make sure the configured port numbers persist across - restarts of the client software. Remote desktop stopped - working if the client software was restarted. - - samples/vboxwrapper - vboxwrapper.cpp - -Charlie 13 Jan 2012 - - client: Due to my changes of 10 Jan 2012, idle detection did not work - when BOINC was run as a pre-login daemon. So use the old method - when running as a daemon. This means that idle detection for Apple - Remote Desktop and screen sharing (VNC) under Mac OS 10.7 works only - when not running BOINC as a daemon. - - client/ - hostinfo_unix.cpp - -Rom 13 Jan 2012 - - VBOX: Cleanup a few messages stating port numbers in the stderr spew. - - VBOX: Send configuration settings in one message instead of piece meal. - - api/ - boinc_api.cpp, .h - samples/vboxwrapper - vboxwrapper.cpp - -Rom 13 Jan 2012 - - VBOX: It helps to remove the older send msg routines. Oooops. - - samples/vboxwrapper - vboxwrapper.cpp - -David 13 Jan 2012 - - API: fix queueing problem for graphics-related messages - (web graphics URL and remote desktop addr) - - GUI RPC and API: - change "remote_desktop_connection" to "remote_desktop_addr" everywhere. - It's an address, not a connection. - - vboxwrapper: log message cleanup - - api/ - boinc_api.cpp,h - client/ - app.cpp,h - app_control.cpp - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - app_ipc.cpp,h - samples/ - vboxwrapper.cpp - -Rom 13 Jan 2012 - - MGR: Add RDP client support for Linux. - - clientgui/ - MainDocument.cpp - -David 13 Jan 2012 - - file deleter: improved logging; from Oliver - - sched/ - file_deleter.cpp - -Rom 13 Jan 2012 - - MGR: Launch the RDP client on Windows in full-screen mode to avoid - a bug where the screen doesn't refresh and keyboard/mouse events - don't manifest until you close down the client and restart it. - - clientgui/ - MainDocument.cpp - -Charlie 13 Jan 2012 - - MGR: Add RDP client support for the Mac. I have found no reliable way - to pass the IP address and port to Microsoft's Remote Desktop - Connection application for the Mac, so I'm using CoRD. Unfortunately, - CoRD does not seem to be as reliable as I would like either. - - clientgui/ - MainDocument.cpp - -Rom 13 Jan 2012 - NOTE: Some previously experimental features in the client software are - now important to have for the 7.0 release. The existing 7.0 branch - will no longer be maintained, we'll create a new branch for the 7.0 - client line at a later date. - - - Tag for 7.0.8 release, all platforms - boinc_core_release_7_0_8 - - / - configure.ac - version.h - -David 13 Jan 2012 - - The zip library was moved to a directory (project_depends) - outside of BOINC, but the build files weren't made to work. - Move the library back where it was before. - - configure.ac - Makefile.am - zip/* - -David 13 Jan 2012 - - GUI RPC: add tag to the start of HTTP replies. - - client/ - gui_rpc_server_ops.cpp - -David 14 Jan 2012 - - client: identify ATI 97x0 GPUs (from Jord) - - client/ - coproc_detect.cpp - -David 14 Jan 2012 - - GUI RPC client: don't write spurious messages to stderr - - lib/ - gui_rpc_client_ops.cpp - -Rom 14 Jan 2012 - - VBOX: Fix regression where the vm_name wasn't reset back to the - current wu name after deregistering a stale VM. - - samples/vboxwrapper - vbox.cpp, .h - vboxwrapper.cpp - -Rom 15 Jan 2012 - - VBOX: Add User ID and Host ID to the CERN data format. - - samples/vboxwrapper - vboxwrapper.cpp - -Rom 15 Jan 2012 - - MGR: Use rdesktop-vrdp on Linux, it is included with VirtualBox - and meant for what we are trying to do. - - MGR: Remove the fullscreen flag on Windows. It might only be - my machine which has refresh problems when launching in - windowed mode. - - clientgui/ - MainDocument.cpp - -David 15 Jan 2012 - - optimize strip_whitespace(); from Steffen Moller - - storage simulator: generalize so you can use different - coding parameters at different levels - - lib/ - str_util.cpp - ssim/ - ssim.cpp - -David 15 Jan 2012 - - storage simulator: compute fault tolerance correctly - - ssim/ - ssim.cpp - -Charlie 16 Jan 2012 - - client, lib: Improve available GPU RAM detection, include it in - display of GPU description. - - client/ - coproc_detect.cpp - lib/ - coproc.cpp,.h - -Charlie 16 Jan 2012 - - client: Add logging message for insufficient GPU RAM details to - coproc_debug flag. - - client/ - cpu_sched.cpp - -Rom 16 Jan 2012 - - Tag for 7.0.9 release, all platforms - boinc_core_release_7_0_9 - - / - configure.ac - version.h - -Charlie 17 Jan 2012 - - Mac: In permissions error alert: show branded name; if permissions - error is in a subdirectory, show path to bad file or subdirectory. - - client/ - check_security.cpp - sandbox.h - clientgui/ - BOINCGUIApp.cpp - mac_installer/ - PosInstall.cpp - -Charlie 17 Jan 2012 - - client: Save all CUDA and CAL GPU info until done with OpenCL detection - so we have available GPU RAM for all OpenCL GPU descriptions. - - client/ - coproc_detect.cpp - -Charlie 17 Jan 2012 - - Tag for 7.0.10 release, all platforms - boinc_core_release_7_0_10 - - / - configure.ac - version.h - -Rom 17 Jan 2012 - - VBOX: Fix a regression I introduced on Saturday, is_vm_registered shouldn't - be called when vm_name is empty. Change it so that is references - vm_master_name instead to get the correct name of the VM. - - VBOX: Fix the logic that scan for the CR character and removes it. Also fix - the partial line inclusion when the various log files are greater than 16k. - string.erase returns what the iterator value should be. - - samples/vboxwrapper - vbox.cpp - -David 17 Jan 2012 - - storage simulator work - - lib: recent checkin broke strip_whitespace(string&). - - ssim/ - ssim.cpp - plot - ssim.php - lib/ - str_util.cpp - -David 18 Jan 2012 - - web: link between LAMMPS job submission page and file sandbox page - - html/user/ - lammps.php - sandbox.php - -Charlie 18 Jan 2012 - - client: add debugging aids to coproc_detect logic. - - client/ - coproc_detect.cpp - -Charlie 18 Jan 2012 - - Tag for 7.0.11 release, all platforms - boinc_core_release_7_0_11 - - / - configure.ac - version.h - -Charlie 18 Jan 2012 - - client: ATI available RAM is in bytes, not MB; if no CAL, don't divide - OpenCL global_mem_size by MEGA to fill in ATI available RAM. - (Checked in to 7.0.11 tag.) - - client/ - coproc_detect.cpp - -Rom 18 Jan 2012 - - VBOX: Fix another issue that was a result of Saturdays commit. Make - sure that the vm_name variable is populated with something useful if - resuming from a previous execution of the wrapper. - - samples/vboxwrapper - vbox.cpp - -David 18 Jan 2012 - - WAP interface to credit info: return correct timestamp, - and don't bother with caching. - - html/ - inc/ - wap.inc - user/ - userw.php - -Rom 18 Jan 2012 - - VBOX: Use the documented way to reset the UUID of a virtual hard - disk. Thanks Daniel. - - samples/vboxwrapper - vbox.cpp - -David 18 Jan 2012 - - Manager: in project web links, use "Home Page" instead of the - project name (which could be very long) - - clientgui/ - BOINCBaseView.cpp - -David 19 Jan 2012 - - client: parse HOST_INFO::p_vm_extensions_disabled correctly - - lib/ - hostinfo.cpp - proxy_info.cpp - gui_rpc_client_ops.cpp - coproc.cpp - version.h - ssim/ - ssim.php - -Charlie 19 Jan 2012 - - Mac installer: If installing under OS 10.4, create users and groups - boinc_master and boinc_project at first available UserIDs and - GroupIDs starting at 25 instead of 501 to prevent problems with - Accounts pane of System Preferences. - - clientgui/ - mac/ - SetupSecurity.cpp - -David 19 Jan 2012 - - storage simulator work - - ssim/ - ssim.cpp - ssim.php - -Charlie 20 Jan 2012 - - client: Show GPU number in "GPU is OpenCL-capable" message. - - client/ - client_state.cpp - -Charlie 20 Jan 2012 - - OpenCL: - Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned - by CUDA. Since there is no CAL for Mac, this is not an issue - for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers - also provide OpenCL support, so we don't expect the problem there. - - Solution: I believe that CUDA and OpenCL return identical GPU - model names for the same GPU, and that both return the GPUs in the - same order (but with some possibly omitted from the OpenCL sequence.) - We use that information to correlate the OpenCL data with CUDA data. - We use our internal CUDA device_num for the corresponding OpenCL - device, but add a new field opencl_device_index; the two fields are - equal unless we have CUDA devices not recognized by OpenCL. We - add a new array opencl_device_indexes[] to the COPROC struct, - corresponding to the entries in device_nums[]. - - The init_data.xml file now has a new field gpu_opencl_device_index. - If this field exists, the boinc_get_opencl_ids() API uses this to - find the cl_device_id and cl_platform_id, otherwise it continues - to use the value in gpu_device_num. - - api/ - boinc_opencl.cpp - client/ - app_start.cpp - coproc_detect.cpp - lib/ - app_ipc.cpp,.h - coproc.h - -David 20 Jan 2012 - - volunteer data archival stuff - - ssim/ - vda.cpp,h (new) - ssim.cpp - makefile - -David 20 Jan 2012 - - client: add a mechanism for restartable download of compressed files. - (It turns out that the compression schemes supported by - Apache and libcurl, suprisingly, aren't restartable.) - - if a from the server contains tags, - use those instead of the tags, - and flag the file as "download_gzipped". - If this is the case, download NAME.gz and save it as NAME.gzt. - When the download is complete, rename NAME.gzt to NAME.gz, - and uncompress it to NAME. - (this ensures that if NAME.gz is present, it's complete). - Also do the uncompression, if needed, in verify_file(). - This ensures that the uncompression will eventually get done - even if the client quits are crashes in the middle. - - - update_versions: if is present in a , - add a gzipped copy in the download directory - and add a elements to the app version's xml_doc. - - client/ - client_types.cpp,h - file_xfer.cpp - cs_files.cpp - tools/ - update_versions - -David 20 Jan 2012 - - feeder: if we're rereading the DB because of trigger file, - do PERF_INFO::get_from_db() also. - From Teemu Mannermaa. - - sched/ - feeder.cpp - -David 20 Jan 2012 - - admin web: if change app or app version params, - advise user to stop/restart the project - - html/ops/ - manage_apps.php - manage_app_versions.php - -Rom 21 Jan 2012 - - VBOX: Enable the wrapper to handle fractional CPU usage. If - the server specifies 1.1 CPUs used, allocate 2 CPUs to be used - in VirtualBox. - - samples/vboxwrapper - vboxwrapper.cpp - -Rom 21 Jan 2012 - - sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead - of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough - whole CPUs for Virtualbox. Ideally this will cause the BOINC - client-side scheduler to use the remaining fraction of the CPU - for GPU data transfer which will then free up one whole CPU for - another job. All without over-commiting anything. - - sched/ - sched_customize.cpp - -David 22 Jan 2012 - - GUI RPC: switching to the new XML parser - (which won't parse a double as an int) - revealed a type mismatch in FILE_TRANSFER::next_request_time - between client and server. - - db/ - boinc_db.cpp,h - schema_vda.sql (new) - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - ssim/ - vda.cpp - vda_lib.cpp,h - vda_transitioner.cpp - makefile - client/ - net_stats.cpp - -David 22 Jan 2012 - - client: fix divide-by-zero bug in calculation of priority - of projects with zero resource share - - client/ - cpu_sched.cpp - -Rom 23 Jan 2012 - - MGR: Tweak the z-order of BOINC Manager owned windows a little bit. - Image a case where BOINC Manager and the BOINC Manager event log - live side-by-side or only slightly overlapped, and the user wants - to use a full screen/maximized window. If the bring the BOINC - manager window back into focus while that app is still running - make sure the event log comes forward as well. The event log - should appear behind the main window in the case they are - overlapped. - - clientgui/ - BOINCGUIApp.cpp, .h - -Rom 23 Jan 2012 - - client - Remove Mac OSX 10.3.9 hack, it is no longer needed. - - client/ - http_curl.cpp - -David 23 Jan 2012 - - scheduler: initialize COPROC_ATI::version to zero; - avoid sending spurious "update driver" messages - - lib/ - coproc.cpp - db/ - boinc_db.cpp,h - schema_vda.sql - vda/ - vdad.cpp - makefile - -Charlie 23 Jan 2012 - - Mac: If permissions error because unable to opendir() a subdirectory, - show path to that subdirectory. - - client/ - check_security.cpp - -Rom 23 Jan 2012 - - VBOX: Demote the priority level of the VM process to try and prevent - latency issues for volunteers. - - VBOX: If the port forwarding preferred port isn't usable, try asking - the OS for one. - - VBOX: On a failure, get the VM process exit code and report it with - the rest of the stderr spew. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -David 23 Jan 2012 - - web: use et_n instead of pfc_n for #jobs completed - in host app details page - (pfc_n is not populated for hosts running old clients) - - html/user/ - host_app_versions.php - -Rom 24 Jan 2012 - - client: treat the gzt file extension like we do for the gz file extension. - Disable libcurls ability to decompress on-the-fly and let the CC decompress - it after it has been fully downloaded. - - client/ - http_curl.cpp - -David 24 Jan 2012 - - client: when deleting a file, check for .gzt and .gz variants as well - - client/ - client_types.cpp - -David 24 Jan 2012 - - client: bug fixes in gzipped download code - - client/ - client_types.cpp - cs_files.cpp - -Rom 24 Jan 2012 - - client: undo my previous commit. We request .gz from the server and write - the contents to a .gzt file. - - client/ - http_curl.cpp - -Rom 24 Jan 2012 - - VBOX: Fix build breaks for Linux and Mac. - - samples/vboxwrapper/ - vbox.cpp - -Rom 24 Jan 2012 - - client: Fix long standing issue with the .gz extension automatically being - decompressed on-the-fly when it wasn't supposed to be. - - client/ - http_curl.cpp - -David 24 Jan 2012 - - volunteer storage - client/ - client_types.h - vda/ - vdad.cpp - -Charlie 25 Jan 2012 - - VBOX: Fix compiler warnings on Mac. - - samples/vboxwrapper/ - vboxwrapper.cpp - -Charlie 25 Jan 2012 - - MGR: Make the task pane in the advanced view and its buttons fixed sizes; - ellipse the button contents if needed; show full button text plus - description in button tooltips; don't set button labels if unchanged. - - clientgui/ - BOINCBaseView.cpp, .h - BOINCTaskCtrl.cpp, .h - stdwx.h - -David 26 Jan 2012 - - update_versions: for gzipped files, - send the size of the compressed file as well. - - client: parse and write the compressed size (FILE_INFO::gzipped_nbytes). - For get_transfer GUI RPCs, if it's a compressed download send - the compressed size. - That way the manager will show the fraction done correctly. - - tools/ - update_versions - lib/ - gui_rpc_client.h - vda/ - vdad.cpp - client/ - client_types.cpp,h - acct_setup.cpp - -Charlie 26 Jan 2012 - - client: disable temporary debugging aids in coproc_detect logic. - - client/ - coproc_detect.cpp - -David 26 Jan 2012 - - client: fix write of gzipped_nbytes - - client/ - client_types.cpp - -Rom 26 Jan 2012 - - Tag for 7.0.12 release, all platforms - boinc_core_release_7_0_12 - - / - configure.ac - version.h - -David 26 Jan 2012 - - client: after a gzipped file is downloaded, - we uncompress it and then verify it. - The latter involves computing its MD5, which reads the entire file. - Combine these 2 steps so that the MD5 is computed - as the file is uncompressed, - eliminating the need to read the file again. - - lib/ - crypt.cpp,h - crypt_prog.cpp - client/ - client_types.cpp,h - cs_files.cpp - -Charlie 26 Jan 2012 - - Mac: Update the build instructions with the current URL for c-ares-1.7.4. - - mac_build/ - HowToBuildBOINC_XCode.rtf - -Charlie 27 Jan 2012 - - MGR: If CPU or GPU is suspended from Activity Menu, change "Snooze" items - to "Resume" in system tray menu. - - client: Always remember previous CPU and GPU activity settings. - - client/ - client_types.cpp,h - cs_statefile.cpp - clientgui/ - BOINCTaskBar.cpp,.h - mac/ - MacSysMenu.cpp - -David 27 Jan 2012 - - manager: in Disk View, try to make colors more distinct. - In addition to varying the hue, - cycle through 3 different luminance values (.5, .7, .9) - - web: update the wording of buffer-size preferences - - clientgui/ - ViewResources.cpp - html/inc/ - prefs.inc - -David 27 Jan 2012 - - manager: in tooltips for Project/Task buttons, - don't prepend "button name: "; - add a tooltip for Home Page button. - - clientgui/ - BOINCBaseView.cpp - BOINCTaskCtrl.cpp - -Charlie 27 Jan 2012 - - MGR: Disable new "Resume" items in system tray menu if modal dialog is open. - - clientgui/ - BOINCTaskBar.cpp - -David 28 Jan 2012 - - web: msg tweak - - screensaver coordinator: use new XML parser - - clientscr/ - screensaver.cpp - html/user/ - forum_report_post.php - -Charlie 30 Jan 2012 - - client: because available GPU RAM value is unreliable, don't defer - scheduling a task based on insufficient GPU RAM. For now, the - relevant code is guarded by a "#define DEFER_ON_GPU_AVAIL_RAM 0" - so we can easily restore it if we find a reliable way to get the - value of available GPU RAM periodically. - - NOTE: we are still sending this unreliable value to project - servers in the sched_request file. Does it make sense to do so? - - client/ - cpu_sched.cpp - lib/ - coproc.h - -David 30 Jan 2012 - - manager: change text for buffer-size fields in advanced prefs dialog - - clientgui/ - DlgAdvPreferencesBase.cpp - -David 30 Jan 2012 - - server: revamp the "assigned job" mechanism. - This now supports two main use cases: - 1) there's a job that you want to run once on all hosts, - present and future - (or all hosts belonging to a user, or to a team). - The job is never transitioned, validated, or assimilated. - 2) There's a normal job for which you want to use only - hosts belonging to a specific user (e.g. cluster or cloud hosts). - This restriction can be made either when the job is created, - or on the fly, - e.g. as part of a scheme for accelerating batch completion. - For the latter purposes we now provide a function - restrict_wu_to_user(DB_WORKUNIT&, int userid); - - The job goes through the standard - transitioner/validator/assimilator path. - - These cases are enabled by config flags - - - respectively. - - Assignment of type 2) are no longer stored in shared mem, - so there is no limit on their number. - - There is no longer a rule that assigned job names must contain "asgn". - - NOTE: this requires a database update. - - db/ - boinc_db.cpp,h - constraints.sql - schema.sql - sched/ - sched_util.cpp,h - sched_shmem.cpp - transitioner.cpp - sched_assign.cpp - tools/ - backend_lib.cpp - create_work.cpp - html/ops/ - db_update.php - lib/ - common_defs.h - -David 30 Jan 2012 - - admin web: improvements to the pages for investigating result failures - (though considerable funkiness remains) - - html/ - ops/ - failure_result_summary_by_platform.php - failure_result_summary_by_host.php - index.php - pass_percentage_by_platform.php - inc/ - db_ops.inc - -David 31 Jan 2012 - - admin web: fixes and clarifications to failure summaries - - html/ - ops/ - failure_result_summary_by_platform.php - failure_result_summary_by_host.php - index.php - pass_percentage_by_platform.php - inc/ - boinc_db.inc - db_ops.inc - user/ - apps.php - -David 31 Jan 2012 - - create_work tool: change option names for assigned jobs - - admin web: show actual platform name in result summary page - - tools/ - create_work.cpp - html/ops/ - pass_percentage_by_platform.php - -David 31 Jan 2012 - - web: fix the user search feature - - scheduler: parse d_project_share - - scheduler: if vbox and vbox_mt are both available, - use vbox for a 1-CPU machine - - db/ - boinc_db.h - sched/ - sched_customize.cpp - sched_types.cpp - html/user/ - user_search.php - -David 1 Feb 2012 - - scheduler: add log messages to show VM-related request items - - fix typos in db_update script - - sched/ - sched_send.cpp - html/ops/ - db_update.php - -Charlie 2 Feb 2012 - - Tag for 7.0.13 release, all platforms - boinc_core_release_7_0_13 - - / - configure.ac - version.h - -David 2 Feb 2012 - - client: fix job scheduler problem: - old: RR simulation marks some jobs as missing their deadline, - and the job scheduler runs those jobs as "high priority". - problem: those generally aren't the ones we should run. - E.g. if the client has a lot of jobs from a project, - typically the ones with later deadlines are the ones - whose deadlines are missed in the simulation. - But in this case the EDF policy says we should run - the ones with earliest deadlines. - new: if a project has N deadline misses, - run its N earliest-deadline jobs, - regardless of whether they missed their deadline in the sim. - Note: this is how it used to be (as designed by John McLeod). - I attempted to improve it, and got it wrong. - - client/ - cpu_sched.cpp - -Rom 2 Feb 2012 - - MGR: Fix cookie detection problem when using the - IEGetProtectedModeCookie API. Function prototype changed from the - InternetGetCookieEx function. HRESULT != BOOL. - - clientgui/ - browser.cpp - -Rom 2 Feb 2012 - - Tag for 7.0.14 release, all platforms - boinc_core_release_7_0_14 - - / - configure.ac - version.h - -David 3 Feb 2012 - - client: first pass at async file copy feature. - When a large file is copied from a project dir to a slot dir, - it's copied in chunks, - interleaved with other polling activities such as GUI RPCs. - That way the manager doesn't freeze while large copies - (e.g. VM images) are happening - - client/ - async_file.cpp,h (new) - client_types.h - client_state.cpp - app.cpp,h - app_start.cpp - Makefile.am - -Rom 3 Feb 2012 - - client: add async file copy stuff to Windows project file. - - client/ - async_file.cpp - win_build/ - boinc_cli.vcproj - -David 3 Feb 2012 - - client: debug async file copy. Seems to be working. - - client/ - app.cpp - app_start.cpp - async_file.cpp - lib/ - common_defs.h - -Charlie 3 Feb 2012 - - client: add async file copy stuff to Xcode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 3 Feb 2012 - - transitioner: fix bug that cause invalid SQL query - - db/ - boinc_db.cpp - -Charlie 3 Feb 2012 - - SCR: Fix Xcode editor problems from recent screensaver.cpp changes. - - clientscr/ - screensaver.cpp - -David 5 Feb 2012 - - client: intermediate checkin for async file verification - - lib/ - crypt.cpp,h - crypt_prog.cpp - client/ - client_types.cpp,h - async_file.cpp,h - pers_file_xfer.cpp - cs_apps.cpp - cs_scheduler.cpp - acct_mgr.cpp - cs_files.cpp - -Charlie 6 Feb 2012 - - client: Fix compiler warning generated by above checkin. - - client/ - pers_file_xfer.cpp - -Rom 6 Feb 2012 - - client: Undo my change of 24 Jan 2012 which broke WCG's use of the - .gzb file extension. I was wrong in how I read the conditional and - it turns out that libcurl does not attempt to honor the content-encoding - if it was disabled as part of the request. My bad. - - client/ - http_curl.cpp - -David 6 Feb 2012 - - client: tweaks to AMD GPU detection msgs - - client: async file stuff - - client/ - async_file.cpp - coproc_detect.cpp - cs_files.cpp - -David 6 Feb 2012 - - client: async file stuff - - client/ - async_file.cpp,h - cs_files.cpp - lib/ - crypt.cpp,h - crypt_prog.cpp - -David 6 Feb 2012 - - client: async file stuff - - client/ - client_types.cpp,h - app_start.cpp - async_file.cpp - cs_files.cpp - -David 6 Feb 2012 - - client: async file stuff. - async decompress/verify seems to be working - - client/ - async_file.cpp,h - gui_http.cpp - -Charlie 6 Feb 2012 - - client: remove "GPU n is OpenCL-capable" messages. They were - redundant with new OPENCL_DEVICE_PROP::description() and were - confusing because they only listed the "best" CUDA / CAL GPUs. - - client/ - client_state.cpp - -David 7 Feb 2012 - - client: HTTP range request errors are permanent. - - client/ - http_curl.cpp,h - pers_file_xfer.cpp - file_xfer.cpp - lib/ - gui_rpc_client_ops.cpp - error_numbers.h - str_util.cpp - html/ops/ - bolt_refresh.php - -David 7 Feb 2012 - - async file stuff. mostly working. still a few bugs - - client/ - cs_apps.cpp - http_curl.cpp - clientgui/ - AccountManagerPropertiesPage.cpp - ProjectPropertiesPage.cpp - lib/ - str_util.h - -David 7 Feb 2012 - - client: async file stuff - - set threshold at 10 MB for doing things asynchronously - - don't count VERIFY_PENDING as failure - - client/ - async_file.h - client_state.cpp - client_types.cpp,h - cs_apps.cpp - -Charlie 7 Feb 2012 - - client: Fix bug in setting opencl_device_index. - - client/ - coproc_detect.cpp - -David 7 Feb 2012 - - client/Manager/GUI RPC: clean up RPC stuff involving - resource-specific backoff and exclusion - - Old: client writes - - - - - - in GUI RPC entries for projects. - Manager (GUI RPC client): PROJECT struct has - cpu_backoff_time - cpu_backoff_interval - ... cuda, ati - no_cpu_pref - ... cuda, ati - and it parses tags of these names. - In other words, no information is being conveyed - from client to Manager. - - New: - manager parses both forms - - clientgui/ - DlgItemProperties.cpp - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 8 Feb 2012 - - client: fix bug in async file verify. - File verify is done in 4 places: - - after a download finishes - - transition result to DOWNLOADED - - if project->verify_files_on_app_start, on app start - Use asynchrony only in the first 2 cases, - since the async logic is set up to mark the file as PRESENT - when done, not to restart a task - - client/ - client_types.h - app_start.cpp - pers_file_xfer.cpp - cs_apps.cpp - cs_files.cpp - -Rom 8 Feb 2012 - - VBOX: Remove the renaming of the vm disk image code. It isn't needed - and it complicates things in the CC. - - samples/vboxwrapper/ - vboxwrapper.cpp - -David 8 Feb 2012 - - client: bug fix for async file ops: - set up files in slot dir when starting an app, - whether or not it's the first time - - client/ - app.h - app_control.cpp - app_start.cpp - async_file.cpp,h - -David 8 Feb 2012 - - client: on startup, check file size as well as existence - - client: add log flag - - client: do decompress (both sync and async) to a temp file, - then rename - - client: if a file's status is VERIFY_PENDING on startup, - set it to NOT_PRESENT; that will trigger a verify - - client: do async copy only if size is above threshold - - lib/ - cc_config.cpp,h - client/ - client_state.cpp - async_file.cpp,h - sim.cpp - app_start.cpp - client_types.cpp - cs_files.cpp - -David 8 Feb 2012 - - client: fixed a bug in procinfo_app() that would cause processes - to be treated as non-BOINC when they actually are, - thus falsely triggering CPU-busy suspensions - - lib/ - procinfo.cpp - -David 9 Feb 2012 - - client: only check file size if the FILE_INFO specifies it. - - client/ - cs_files.cpp - -David 9 Feb 2012 - - scheduler: don't send "update GPU driver" messages if - the client didn't report a driver version # - - sched/ - sched_customize.cpp - file_upload_handler.cpp - -Rom 9 Feb 2012 - - Tag for 7.0.15 release, all platforms - boinc_core_release_7_0_15 - - / - configure.ac - version.h - -David 9 Feb 2012 - - client (Unix): don't print misleading "task exited with no finish file" - message if task actually called boinc_temporary_exit(). - - client/ - app_start.cpp - app_control.cpp - -David 9 Feb 2012 - - storage stuff - - vda/ - vdad.cpp - vdad_lib.cpp,h - ssim.cpp - makefile - -Charlie 10 Feb 2012 - - client: If OpenCL but no CAL or no CUDA, copy GPU model name from OpenCL so - it will apppear in the host table's serialnum attributes (requested by - Oliver Bock.) - - client/ - coproc_detect.cpp - -Charlie 11 Feb 2012 - - MGR: Fix a bug which pushed modal dialogs (Attach Wizard) to rear when - Manager process was brought to front from behind (Mac only.) This - bug was probably introduced in Z-order tweak of 23 Jan 2012. - - clientgui/ - BOINCGUIApp.cpp - -David 12 Feb 2012 - - client: zero PROJECT::last_upload_start on reset, - so that we can fetch work immediately - - client: in PERS_FILE_XFER::create_xfer(), - check for already-existing file before seeing we're allowed to start a new xfer - - client: in PERS_FILE_XFER::create_xfer(), - if an async verify is in progress, mark PERS_FILE_XFER as done. - - client/ - client_state.cpp - log_flags.cpp - pers_file_xfer.cpp - -David 12 Feb 2012 - - storage stuff - - client: message tweak - - lib/ - crypt_prog.cpp - susp.cpp (deleted) - vda/ - vda_lib2.cpp (new) - vda_lib.h - ssim.cpp - makefile - client/ - cpu_sched.cpp - -Charlie 13 Feb 2012 - - MGR: Fix bad in Progress Through Processor's - skin files provided by Matt Blumberg on 9 December 2011. - - clientgui/skins/Progress Thru Processors/ - skin.xml - -Charlie 13 Feb 2012 - - client: Try to fix incorrect NVIDIA device number in OpenCL descriptions. - - client/ - coproc_detect.cpp - -Charlie 13 Feb 2012 - - MGR: Update tags in 3 branded skins (GR, PtP, CE) to - new values from Matt Blumberg. - - clientgui/skins/ - GridRepublic/ - skin.xml - Progress Thru Processors/ - skin.xml - Charity Engine/ - skin.xml - -Charlie 13 Feb 2012 - - Mac sandbox: In initial permissions check when launching Manager or Client, - don't check project-created subdirectories under project or slot - directories because we have not told projects these must be readable and - executable by group. - - client/ - check_security.cpp - -David 14 Feb 2012 - - scheduler: fix bug that broke broadcast jobs (from Kevin) - - sched/ - sched_shmem.cpp - -David 14 Feb 2012 - - assimilator: when enumerating results for a WU, check retval. - Otherwise we might get a partial list, - which screws up assimilation logic. - - sched/ - assimilator.cpp - lib/ - hostinfo.h - -David 14 Feb 2012 - - admin web: fix error when showing unsent results - - html/inc/ - db_ops.inc - -Charlie 14 Feb 2012 - - API: Remove apparently unnecessary include of carbon.h (requested - by Bernd Machenschalk.) - - api/ - boinc_api.h - clientscr/ - gfx_switcher.cpp - -David 14 Feb 2012 - - storage stuff - - vda/ - vdad.cpp - vda_lib.h - -David 14 Feb 2012 - - client: instead of saying "comm deferred", - say "project backoff XXX.XX". - - client/ - work_fetch.cpp - -David 14 Feb 2012 - - client: more tweaks to work-fetch messages - - client/ - work_fetch.cpp - -David 15 Feb 2012 - - web: in user search, show most recent rather than oldest users - - web: don't show URL in account page if expavg_credit < 1. - This discourages a type of spam. - - html/ - inc/ - user.inc - user/ - user_search.php - -David 15 Feb 2012 - - client: msg tweak - - client/ - work_fetch.cpp - -David 15 Feb 2012 - - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf); - use strcat instead - - client: don't use get_mac_address() to create host CPIDs - (we have plenty of other info to make them unique) - - storage stuff - - db/ - schema_vda.sql - lib/ - mac_address.cpp - Makefile.am - vda/ - vda_lib2.cpp - vda_lib.h - client/ - hostinfo_network.cpp - -David 16 Feb 2012 - - client: fetch work from backup (zero resource share) projects - only if a device instance is idle - - client/ - work_fetch.cpp - -David 16 Feb 2012 - - web: change wording of buffer-size prefs - - html/inc/ - prefs.inc - sched/ - sched_types.h - vda/ - sched_vda.cpp - -Charlie 16 Feb 2012 - - client: Remove some temporary debugging code. - - client/ - coproc_detect.cpp - -David 16 Feb 2012 - - storage stuff (work in progress) - - small code shuffle - - db/ - boinc_db.h - sched/ - delete_file.cpp - tools/ - backend_lib.cpp,h - lib/ - str_util.h - vda/ - sched_vda.cpp - makefile - -Charlie 16 Feb 2012 - - client: Always use GPU model name from OpenCL if available for ATI / AMD - GPUs because (we believe) it is more reliable and user-friendly. - - client/ - coproc_detect.cpp - -David 17 Feb 2012 - - client: fix bug where WCG downloads were getting wrong size errors. - To be honest, I don't know that the problem was or why my change fixed it. - client/ - http_curl.cpp - -Charlie 17 Feb 2012 - - client: Prevent an unlikely but possible crash. - - client/ - coproc_detect.cpp - -Charlie 17 Feb 2012 - - MGR: Fix a Mac-only bug which showed Event Log if About BOINC is selected - from task bar menu when BOINC is hidden. - - clientgui/ - BOINCGUIApp.cpp - BOINCTaskBar.cpp - -Rom 17 Feb 2012 - - Tag for 7.0.16 release, all platforms - boinc_core_release_7_0_16 - - / - configure.ac - version.h - -David 17 Feb 2012 - - db_purge: when deleting a workunit record, - delete any assignments that refer to it - - db/ - db_base.cpp,h - sched/ - db_purge.cpp - -David 17 Feb 2012 - - server: add volunteer data archival to the build system - - sched/ - sched_config.cpp,h - Makefile.am - configure.ac - Makefile.am - vda/ - Makefile.am new - makefile (renamed to makefile_orig) - -Charlie 17 Feb 2012 - - Mac: Fix back trace to work under OS > 10.5. - (Checked in to boinc_core_release_7_0_16 tag) - - lib/ - mac/ - mac_backtrace.cpp - -Charlie 18 Feb 2012 - - client: Fix OpenCL NVIDIA GPU detection when CUDA is not present. - - client/ - coproc_detect.cpp - -David 18 Feb 2012 - - client: tweak to work-fetch policy: - if we're making a scheduler RPC to a project for reasons - other than work fetch, - and we're deciding whether to ask for work, ignore hysteresis; - i.e. ask for work even if we're above the min buffer - (idea from John McLeod). - - client/ - work_fetch.cpp,h - cs_scheduler.cpp - sched/ - feeder.cpp - vda/ - vdad.cpp - -David 19 Feb 2012 - - client: fix bug in notices where, after a notice is deleted, - the notices tab refreshes once/second forever after - - client/ - cs_notice.cpp - -Rom 20 Feb 2012 - - Tag for 7.0.17 release, all platforms - boinc_core_release_7_0_17 - - / - configure.ac - version.h - -David 20 Feb 2012 - - client: message tweaks - - scheduler: fix crash when use - - sched/ - db_purge.cpp - sched_assign.cpp - client/ - work_fetch.cpp - -David 20 Feb 2012 - - Manager/Client: fix bugs in GUI RPC that prevented - updates to proxy info from being saved by client - - lib/ - gui_rpc_client_print.cpp - gui_rpc_client_ops.cpp - gui_rpc_client.h - client/ - boinc_cmd.cpp - -David 20 Feb 2012 - - Manager: compile fix - - clientgui/ - MainDocument.cpp - -David 20 Feb 2012 - - scheduler: fix a couple of assigned-job bugs - (need "where" at start of enumerate() clause!) - - sched/ - sched_util.cpp - sched_assign.cpp - -David 20 Feb 2012 - - client: define a "arrived-first" order on results - in which the tiebreaker is MD5 of name. - That way the order is stable - (it doesn't change from one run of the client to the next) - and it doesn't grep results with similar names - (and hence for the same app). - This ordering is used for - 1) the order of display in the manager - 2) the job scheduler's notion of FIFO - - client/ - client_types.h - cs_statefile.cpp - cpu_sched.cpp - -Charlie 20 Feb 2012 - - client: Fix OpenCL NVIDIA GPU enumeration bug I introduced - with last checkin. - - client/ - coproc_detect.cpp - -Charlie 20 Feb 2012 - - Tag for 7.0.18 release, all platforms - boinc_core_release_7_0_18 - - / - configure.ac - version.h - -Charlie 20 Feb 2012 - - Mac installer: Update copyright notice from 2009 to 2012. - - clientgui/ - mac/ - SetVersion.cpp - -David 21 Feb 2012 - - storage stuff - - db/ - schema_vda.sql - py/Boinc/ - setup_project.py - vda/ - vda.cpp - vda_lib.cpp,h - vda_lib2.cpp - vdad.cpp - ssim.cpp - -Rom 21 Feb 2012 - - Vbox: Include date component in log messages to ease debugging long - running VM tasks. - - samples/vboxwrapper/ - vbox.cpp - vboxwrapper.cpp, .h - -David 22 Feb 2012 - - scheduler: in version selection, when deciding which version is fastest, - we multiple projected FLOPS by a normal random var - with mean 1 and stddev 0.1. - Make the stddev configurable; in particular it can be zero. - - db/ - boinc_db.h - schema_vda.sql - sched/ - sched_config.cpp,h - sched_version.cpp - vda/ - vdad.cpp - -David 22 Feb 2012 - - client: change the job scheduling policy for MT jobs. - The old policy avoided running an N-CPU job unless N CPUs were free. - This could result in idle CPUs for long periods; for example: - on a 4-CPU machine, suppose you have a long 1-CPU job in EDF mode, - and some 4-CPU jobs. - 3 CPUs will be idle until the 1-CPU job finishes. - Furthermore, the work fetch mechanism won't try to get - jobs (possibly non-MT) from other projects, - because the RR simulation doesn't reflect the scheduling - policy's exclusion principle. - - The change: schedule jobs until ncpus_used >= ncpus. - E.g. in the above situation run the 1- and 4-CPU jobs together. - In extreme cases we might run 3 1-CPU jobs and the 4-CPU job. - This will degrade the performance of the 4-CPU job, - but that's probably better than having idle CPUs. - - client/ - cpu_sched.cpp - -David 22 Feb 2012 - - scheduler: tell the user if we're not sending work because - VirtualBox is not installed - - sched/ - sched_customize.cpp - -David 22 Feb 2012 - - scheduler and create_work: fix bugs that caused targeted jobs - to be sent to non-targeted hosts. - The feeder was erroneously putting targeted jobs - in the shared mem cache. - Changes: - - The feeder only enumerates jobs for which - workunit.transitioner_flags is zero. - NOTE: this field is nonzero iff the job is assigned. - - create_work: when creating an assigned jobs, - set workunit.transitioner_flags appropriately - - db/ - boinc_db.cpp,h - schema.sql - sched/ - sched_array.cpp - tools/ - create_work.cpp - -David 22 Feb 2012 - - API, client, and Manager: add an optional "reason" argument to - boinc_temporary_exit(), - explaining why the app is exiting. - Convey this to the client, and then to the Manager, - and display it there and in the log. - - clientgui/ - MainDocument.cpp - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - api/ - boinc_api.cpp,h - client/ - client_types.cpp,h - app.h - app_control.cpp - -David 22 Feb 2012 - - client: fix an instance of - sprintf(buf, "%s...", buf) - on Unix - - client/ - hostinfo_unix.cpp - -Charlie 22 Feb 2012 - - API: fix compile error on Mac. - - api/ - macglutfix.m - -Charlie 22 Feb 2012 - - client: When available, use total RAM value from CAL for all ATI - OpenCL GPUs, not only for the "best" GPU, so the descriptions - show this value. - - client/ - coproc_detect.cpp - -David 22 Feb 2012 - - server: split out the "antique file deletion" feature of - file_deleter.cpp into a separate program, - since it blocks normal file deletion while it's running. - From Bernd. - - storage stuff - - db/ - boinc_db.cpp,h - schema_vda.sql - sched/ - file_deleter.cpp - antique_file_deleter.cpp (new) - Makefile.am - vda/ - vdad.cpp - vda_lib.cpp - vda_lib2.cpp - vda.cpp - -David 22 Feb 2012 - - install antique file deleter as periodic task (24 hours) - when create new project - - sched/ - antique_file_deleter.cpp - tools/ - make_project - py/Boinc/ - setup_project.py - -Charlie 23 Feb 2012 - - MGR: Update in Progress Through Processor's - skin file again as requested by Matt Blumberg on 17 February 2012. - - clientgui/skins/Progress Thru Processors/ - skin.xml - -Charlie 24 Feb 2012 - - Mac installer: Create RealName field for users boinc_master and - boinc_project and set it to empty string (following new advice from - Apple Developer technical Suport.) - - clientgui/ - mac/ - SetupSecurity.cpp - -Rom 24 Feb 2012 - - MGR: Rename the "Remaining" column to "Remaining (Estimated)" in the - Advanced GUI/Work view. - - clientgui/ - ViewWork.cpp - -David 24 Feb 2012 - - client: amend checkin of 18 Feb to not request work if - work buffer is above upper limit - - client/ - work_fetch.cpp - -David 24 Feb 2012 - - storage stuff - - vda/ - vdad.cpp - vda.cpp - vda_lib2.cpp - vda_lib.h - -David 24 Feb 2012 - - storage stuff - - db/ - boinc_db.h - schema_vda.sql - sched/ - delete_file.cpp - put_file.cpp - get_file.cpp - tools/ - backend_lib.cpp,h - vda/ - vda.cpp - vda_policy.cpp,h (new) - vda_lib.cpp,h - Makefile.am - ssim.cpp - -David 24 Feb 2012 - - scheduler: when choosing the best app version, - by default we skip app versions that use a resource - for which work has not been requested. - This is determined by the "check_req" arg to get_app_version(). - This flag is cleared whenever we want to send a job - regardless of whether a requested resource can be used: - namely, when resending lost jobs, and when sending assigned jobs. - - Fix a bug that could skip unrequested versions even - when check_req is false. - - NOTES: - - 1) The current semantics aren't right. - When check_req is false, we selected the fastest of all app versions, - including those for which no work is requested. - Instead, we should select the fastest of the versions - for which work is requested if there are any; - otherwise, select the fastest version. - - 2) The mechanism isn't implemented for anonymous platform. - It should be. - - 3) If we've cached an answer (including NULL) for a given - value of check_req, that answer may be wrong for a different value. - - sched/ - sched_version.cpp - -Bernd 27 feb 2012 - - db_purge: record result and workunit name in index file - - sched/ - db_purge.cpp - -Bernd 27 feb 2012 - - validator: output the version string even when not in project directory - - sched/ - validator.cpp - -Bernd 27 feb 2012 - - scheduler: allow to configure userids for which the scheduler should - not scan the host table. This was previously hardcoded for - Einstein@home to prevent some users with many (identical) hosts - from flooding the DB with slow queries. Now add - userid - to the project config (in config.xml) for each such userid. - - sched/ - sched_config.h - sched_config.cpp - handle_request.cpp - -Bernd 27 Feb 2012 - - scheduler: fix typo in previous commit (patch was using old parser) - - sched/ - sched_config.cpp - -Bernd 27 Feb 2012 - - scheduler: the scheduler (stderr) log is buffered to keep the output of - one instance together in the scheduler.log when multiple instances are - running. Currently the buffer has a fixed size of 32768 charaters. - On one hand with much debug output this buffer may turn out to be - too small. OTOH the log of this instance is completely lost in case - of a crash, which doesn't help with debugging. Thus make the - scheduler log buffer size configurable using the tag - in project config. The default value is - still the old size (32768), set it to 0 to disable buffering - completely, e.g. for debugging. - - sched/ - sched_config.h - sched_config.cpp - sched_main.cpp - -Bernd 27 Feb 2012 - - scheduler: Another feature for debugging the scheduler. - Previously (little known) the scheduler could be hacked to preserve - the sched_request.xml and sched_reply.xml in own directories - (you had to modify the initial value of use_files in sched_main.cpp). - This feature could now be switched on and off on the fly just by - changing the project config. - When there is an (existing) directory configured as - , each schduler instance will write three - files in there: PID_C_sched.log, PID_C_sched_request.xml and (if all - goes well) PID_C_sched_reply.xml. PID is the process id of this - scheduler instance, C is an internal counter within the process if - FCGI is used. The sched.log will contain nothing else than the - pid and the IP address of the client. This should allow for - identifying the scheduler instance responsible for a given - apache error log message ("premature end of script headers") when - a scheduler crashed. sched_request.xml (obviously) is the scheduler - request, and if the scheduler doesn't crash in between, there will - also be the reply to the client kept in sched_reply.xml - Remove the tag from the project config - to turn this feature off. - - sched/ - sched_config.h - sched_config.cpp - sched_main.cpp - -Rytis 27 Feb 2012 - - change antique_file_deleter logic not to delete files that still have - workunit records - - sched/ - antique_file_deleter.cpp - -David 27 Feb 2012 - - VDA: add some log messages - - scheduler: add VDA - - client, web: change default prefs to min_buf=.1 days, max_buf=.5 days - - scheduler: app plan function for vbox requires 7.0+ client - - Makefile.incl - sched/ - antique_file_deleter.cpp - sched_config.cpp,h - sched_customize.cpp - handle_request.cpp - html/inc/ - prefs.inc - lib/ - prefs.cpp - vda/ - vda.cpp - sched_vda.cpp,h - -Charlie 28 Feb 2012 - - MGR: Change strings in Simple View to match changes in Advanced View: - "Remaining" -> "Remaining (Estimated)", "Home page" instead of project - name in web links. - - clientgui/ - sg_ProjectWebSitesPopup.cpp - sg_TaskPanel.cpp - -David 28 Feb 2012 - - storage stuff - - db/ - boinc_db.cpp,h - schema_vda.sql - sched/ - sched_types.cpp,h - vda/ - sched_vda.cpp - -David 28 Feb 2012 - - storage stuff. Getting there. - - db/ - boinc_db.cpp - sched/ - handle_request.cpp - vda/ - vdad.cpp - vda_policy.h - sched_vda.cpp - vda.cpp - -David 29 Feb 2012 - - wrapper: compute final CPU time correctly for multi-process apps - - storage stuff - - db/ - boinc_db.cpp,h - schema_vda.sql - samples/wrapper/ - wrapper.cpp - vda/ - vda_lib.cpp,h - sched_vda.cpp - vda.cpp - ssim.cpp - -Charlie 29 Feb 2012 - - client: On Mac only, get ATI RAM sizes from OpenGL. - - client/ - coproc_detect.cpp - lib/ - coproc.h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 29 Feb 2012 - - VBOX: Implement an exponential backoff scheme of sleeping between - commands if a session lock error has been detected. Cap the overall - delay to 30 seconds total for a single command. - - Experiments performed by jujube(T4T) suggest changing the sleep interval - to an exponential style backoff would increase our chances of recovering in - situations where the previous lock is held by a previous instance of - vboxmanage whos instance data hasn't been cleaned up within vboxsvc yet. - - client/ - vbox.cpp - -David 1 Mar 2012 - - client: fix crashing bug when there is 1 instance of a resources. - I'm not sure how this ever worked. - - client/ - work_fetch.h - sched/ - feeder.cpp - vda/ - storage.txt - -Rom 2 Mar 2012 - - Tag for 7.0.19 release, all platforms - boinc_core_release_7_0_19 - - / - configure.ac - version.h - -Charlie 3 Mar 2012 - - Mac installer: Utility shell script creates users & groups boinc_master - and boinc_project with IDs at 501 or above; also creates RealName field - for users boinc_master and boinc_project and sets it to empty string - (following advice from Apple Developer technical Suport.) - - mac_build/ - Mac_SA_Secure.sh - -David 3 Mar 2012 - - Manager: small code cleanup - client/ - client_state.cpp - clientgui/ - DltItemProperties.cpp,h - -David 3 Mar 2012 - - Manager: in Project Properties page, - show if a GPU type is excluded by configuration - - client: don't fetch work for a resource type if all instances - of that type are excluded - - web: don't use filter_var(, FILTER_SANITIZE_STRING) - to strip HTML tags from a string. - This escapes singles quotes also. - Use strip_tags() instead. - - clientgui/ - DltItemProperties.cpp - html/inc/ - util.inc - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 3 Mar 2012 - - LAMMPS job submission: set rsc_fpops_bound to 20 times rsc_fpops_est - html/user/ - lammps.php - -David 4 Mar 2012 - - web: open BBCode instructions in new window (or tab). - Otherwise, on IE, you lose the text you already entered - when you go back. - - html/inc/ - util.inc - -Bernd 5 Mar 2012 - - scheduler: fix/augment file_deleter usage message - - sched/ - file_deleter.cpp - -David 5 Mar 2012 - - LAMMPS: fix code formatting - - html/user/ - lammps.php - -Rom 6 Mar 2012 - - Tag for 7.0.20 release, all platforms - boinc_core_release_7_0_20 - - / - configure.ac - version.h - -David 8 Mar 2012 - - API: fix various bugs related to process control and critical sections. - - client: code cleanup (no functional change) - - api/ - boinc_api.cpp - windows_opengl.cpp - client/ - app.cpp - app_control.cpp - vda/ - * - -Rom 8 Mar 2012 - - VBOX: Parse the vboxmanage error code for *nix as well. - - VBOX: Switch to using status.suspend_request instead of status.suspend - when determining when to suspend/resume a VM. status.suspended is - now only changed when direct_process_action is set to true. - - samples/vboxwrapper/ - vboxwrapper.cpp - vbox.cpp - -David 9 Mar 2012 - - API: remove BOINC_STATUS::suspend_request; - it's an implementation thing, not intended for export. - Fix a related bug. - - samples/vboxwrapper/ - vboxwrapper.cpp - api/ - boinc_api.cpp - vda/ - vda_lib.cpp - -Rom 9 Mar 2012 - - VBOX: Setting the CPU Execution Cap should be done with the controlvm - command after the VM has entered a running state instead of using - modifyvm. - - samples/vboxwrapper/ - vbox.cpp - -David 9 Mar 2012 - - web: allow a project to specify 2 stylesheets - - html/ - inc/ - util.inc - project.sample/ - project.inc - -Rom 9 Mar 2012 - - VBOX: Allow the CPU execution cap to be set back to 100% after it had - alreadly been set lower. - - samples/vboxwrapper/ - vbox.cpp - vboxwrapper.cpp - -David 10 Mar 2012 - - storage: add some code - - vda/ - vda_lib.cpp,h - ssim.cpp - vdad.cpp - -David 10 Mar 2012 - - forgot to add files - - vda/ - stats.cpp,h (new) - -Bernd 12 Mar 2012 - - scheduler: remove lock file when scheduler caught SIGTERM - - sched/ - handle_request.h - sched_main.cpp - -Rom 12 Mar 2012 - - VBOX: Only attempt to reset throttle values if the VM is in - a running state, otherwise controlvm throws an error. - - samples/vboxsamples/ - vboxwrapper.cpp - -Rom 12 Mar 2012 - - VBOX: If a VM fails to start because the machine is low on memory, - temporarily exit so BOINC can reschedule it for a later time. - If the problem doesn't go away it'll just time out eventually anyway. - - samples/vboxsamples/ - vboxwrapper.cpp - -David 12 Mar 2012 - - server: allow to include a :port - - db/ - db_base.cpp - -David 12 Mar 2012 - - client: msg tweak and fix compile warnings - - client/ - client_types.cpp - coproc_detect.cpp - work_fetch.h - lib/ - coproc.h - str_util.cpp - -Charlie 12 Mar 2012 - - client: fix compile errors. - - client/ - client_types.cpp - -Charlie 12 Mar 2012 - - client: In COPROCS::get_ati_mem_size_from_opengl() on Mac, compare ATI - model names from OpenGL with those from IOKit only if coproc_debug - flag is set. - - client/ - coproc_detect.cpp - -Charlie 12 Mar 2012 - - VBOX: Fix typo in Mac wrapper name (1686 -> i686). - - samples/vboxwrapper/ - vboxwrapper.xcodeproj - project.pbxproj - -David 13 Mar 2012 - - scheduler: do homogeneous app version check before rereading WU - as well as after. - - sched/ - sched_send.cpp,h - -David 13 Mar 2012 - - transitioner: don't clear a WU's HR and HAV class if there are - timed-out instances; they could still be returned. - - sched/ - transitioner.cpp - -Charlie 14 Mar 2012 - - MGR: fix French translations of Remaining (estimated). - - locale/fr/ - BOINC_Manager.po - -Charlie 14 Mar 2012 - - client: When comparing ATI model names from OpenCL and IOKit on a - Mac, substitute "AMD" for "ATI" because sometimes one API returns - "ATI" but the other API returns "AMD". - - client/ - coproc_detect.cpp - -Rom 14 Mar 2012 - - VBOX: Use the boinc_temporary_exit API properly. Wait for 5 minutes - before allowing another attempt to start the VM when the hypervisor - cannot allocate enough memory. - - VBOX: Print out a trace statement about the suspend/resume directive - from the vboxwrapper perspective. This in conjuction with the - BOINC API trace statements should provide a better idea with - what is going on. - - samples/vboxwrapper - vboxwrapper.cpp - -David 14 Mar 2012 - - scheduler: add an alternative way of defining app plan functions - that uses an XML configuration file; - see http://boinc.berkeley.edu/trac/wiki/AppPlanConfig - From Bernd. - - sched/ - sched_customize.cpp - plan_class_spec.cpp,h - Makefile.am - -David 14 Mar 2012 - - scheduler: code cleanup for the above - - sched/ - plan_class_spec.cpp,h - -Charlie 14 Mar 2012 - - client: On Mac only, update ATI available RAM after getting ATI total - RAM size from OpenGL. - - client/ - coproc_detect.cpp - -David 14 Mar 2012 - - scheduler: fix FCGI compile - - vda/ - sched_vda.cpp - -David 14 Mar 2012 - - client: on each scheduler RPC, - make sure that files flagged as executable in the reply, - and that are present, are actually executable. - - client/ - client_types.cpp - -David 15 Mar 2012 - - client: when killing a task, don't delete its shmem or change its state. - These mess up the logic for dealing with exited processes, - resulting in incorrect log messages. - - client/ - app.cpp - app_control.cpp - -David 15 Mar 2012 - - scheduler: when HR is being used, - make per-HR slot allocation an option rather than the default. - Kevin reported that slot allocation wasn't working for WCG. - The default is now no slot allocation, - and use the regular result enumeration function - rather than the once that scans the entire table. - The config flag for enabling slot allocation is . - - sched/ - sched_config.cpp,h - feeder.cpp - hr_info.cpp - -Rom 15 Mar 2012 - - VBOX: Give the VM process a short priority boost when responding - to a quit request. On older XP machines it might speed up the memory - dump to disk. - - client: Increase the quit request timeout from 10 seconds to 60 seconds for - machines running VMs and slow disk drives. It should give the VM enough - time to gracefully shutdown and not give boinc reason to kill the wrapper. - - client/ - app.h - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -Rom 16 Mar 2012 - - Moving trunk back into a development branch, further stabilization of the 7.0.x - client is now in the boinc_core_release_7_0a branch. - - / - configure.ac - version.h - version.h.in - -David 16 Mar 2012 - - client: small changes to make client compile on Android, - and to report the platform as "arm-android". - From Carl Christensen. - - Add a script for building BOINC and library dependencies on Android - From Peter Hanappe. - - lib/ - mac_address.cpp - client/ - android/ - AndroidBuild.sh (new) - cs_platforms.cpp - hostinfo_unix.cpp - -David 17 Mar 2012 - - client: use %g to format job resources (#CPUs, #GPUs). - This suppresses trailing zeroes and (if integer) the . - - client/ - client_types.cpp - -David 17 Mar 2012 - - client: changes to job scheduling policy: - - fix bug that could greatly overcommit CPUs - if there are several EDF jobs and several non-EDF GPU jobs. - - don't overcommit CPUs if any job is MT (MT means avg_ncpus > 1). - For example, on a 4-CPU machine we will run: - a 0.5-CPU GPU job and 4 1-CPU jobs - but not - a 0.5-CPU GPU job and 1 4-CPU job - client/ - cpu_sched.cpp - -Charlie 18 Mar 2012 - - MGR: Fix a Mac-only bug which sometimes failed to show the suspended - icon after closing and opening the Manager windows. This was caused - by having a second instance of CTaskBarIcon. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp,.h - mac/ - MacSysMenu.cpp - -David 19 Mar 2012 - - client: job scheduling policy tweak: - if CPUs are fully committed (e.g. with EDF jobs) - allow GPU jobs but only up to CPU usage of ncpus+1 - - client/ - cpu_sched.cpp - -David 19 Mar 2012 - - client: Don't include VBox executive processes as non-BOINC CPU time. - On some systems they use significant CPU time while VMs are running. - TODO: do this only if we're actually running a VBox app - - lib/ - procinfo.cpp - -David 19 Mar 2012 - - wrapper: fix bug that reported wildly wrong CPU time - - lib/ - procinfo.cpp - -David 19 Mar 2012 - - scheduler: fix a bug in assigning deadlines to resent jobs. - From Kevin. - NOTE: Kevin also reported a bug that resulted in - way too large (e.g. year) deadlines. - - sched/ - sched_send.cpp - -David 19 Mar 2012 - - client: if an app process exits because of a signal, - don't show the "no finish file" message; - not sure why this was there in the first place. - - client: if an app process exits because of a signal, - show the signal correctly - - client/ - app_control.cpp - -David 19 Mar 2012 - - scheduler: if we can't resend a job (e.g. it's for an app - for which the anonymous-platform client doesn't have a version) - mark it as sent so the transitioner can do its thing - - sched/ - sched_resend.cpp - -Rom 20 Mar 2012 - - VBOX: Make it explicitly clear what the result of a start/stop - request was. Hopefully this will give us insight into whether - the core client is terminating the wrapper or something else is - going on. - - VBOX: Shorten the command execution timeout to 45 seconds. - - VBOX: Don't attempt to re-execute the close/savestate commands. - - samples/vboxwrapper/ - vbox.cpp - -Rom 20 Mar 2012 - - VBOX: On successful completion, create the same output file that - the CernVMWrapper would. This allows both wrapppers to work with - the same BOINC job generation system. - - samples/vboxwrapper/ - vbox.cpp - -David 20 Mar 2012 - - client: report completed results if a time-of-day network suspend is - scheduled within the next 30 minutes - - client/ - app.h - client_state.h - cs_prefs.cpp - cs_scheduler.cpp - app_control.cpp - lib/ - prefs.cpp,h - -Rom 20 Mar 2012 - - client: Initialize buffer which is used to hold the temporary exit reason. - If somebody didn't populate the reason when calling boinc_temporary_exit - the buffer contained junk. - - client/ - app_control.cpp - -Bernd 21 Mar 2012 - - scheduler: fix hu.peak_flops and hu.projected_flops caclculation - in plan_class_spec by using coproc_pref() and capped_host_fpops() - (moved coproc_perf() to sched_customize.h to make it available - in plan_class_spec.cpp, and cleaned up includes) - - sched/ - sched_customize.cpp,h - plan_class_spec.cpp,h - -David 21 Mar 2012 - - client: set file ownership and permissions after an async verify. - This was presumably the cause of the recent Einstein@home problem. - - client: set file ownership and permissions after an async copy. - - client: set file ownership and permissions after a - regular (non-async) copy. - - The latter 2 bugs would affect a VM app that copies - its executable to slot/x/shared - - client/ - client_types.cpp,h - async_file.cpp,h - app_start.cpp - -Rom 21 Mar 2012 - - VBOX: Introduce the use of VM snapshots as a form of checkpoint. - - Perform snapshots at most once every ten minutes. - - Client suspend/resume messages behave the same. - - Client no heartbeat/quit messages cause the wrapper to just - poweroff the VM. - - On startup check to see if the last checkpoint time is greater than 0, - if so, start from the most recent snapshot. - - VBOX: If we receieve the status message of no heartbeat or quit, set - the temporary delay to 5 minutes. If the wrapper is terminated during - the middle of a snapshot, hopefully this will give VirtualBox enough - time to complete the snapshot. Restarting the BOINC job should then - poweroff the VM and restore from the last snapshot. - - samples/vboxwrapper/ - vbox.cpp, .h - vboxwrapper.cpp - -David 21 Mar 2012 - - client: change timeout for job quit/abort from 60 back to 15 - (time between sending app a quit/abort message - and, if not exited yet, killing it) - - client: if app has reported an "other PID" - (e.g., vboxwrapper reports the VBoxHeadless PID) - then include it (along with descendants) in the - list of processes we kill when killing the job. - - client/ - app.h - app_control.cpp - -Rom 21 Mar 2012 - - VBOX: We don't need to display the state of the VM before startup. - - VBOX: Change the snapshot naming scheme by removing the quotes and - prefixing the checkpoint time with 'boinc_'. Hopefully this will - prevent the VM from asserting during the snapshot process. - - samples/vboxwrapper/ - vbox.cpp, .h - -Rom 21 Mar 2012 - - VBOX: Before attempting to take the snapshot for a VM, pause it first. - This changes the snapshot type from a live snapshot to an online - snapshot. Presumably difference might make it easier to do and - prevent the VM from asserting. - - samples/vboxwrapper/ - vbox.cpp, .h - -Rom 22 Mar 2012 - - VBOX: Detect another form of out of memory error from VirtualBox. - Reschedule the job for some time in the future when there might - be enough memory. - - VBOX: Resume the VM's execution after the creation of the snapshot - but before we attempt to delete the previous, now stale, snapshot. - - VBOX: Treat the 'livesnapshotting', 'deletingsnapshotlive', and - 'deletingsnapshotlivepaused' states as online states. - - samples/vboxwrapper/ - vbox.cpp - vboxwrapper.cpp - -Rom 22 Mar 2012 - - VBOX: Do not treat the timeout error as a fatal error when attempting - to delete stale snapshots. Slower machines can take longer than - 45 seconds to complete the deletion of old snapshots. - - samples/vboxwrapper/ - vbox.cpp - -David 22 Mar 2012 - - client/server: add optional to schedule reply. - If set, client won't use DCF for this project. - Make this the default in server code; - we now do runtime estimation entirely on the server side, - and the client-side mechanism is counterproductive. - - sched/ - sched_types.cpp,h - client/ - client_types.cpp,h - scheduler_op.cpp,h - work_fetch.cpp - cs_scheduler.cpp - cpu_sched.cpp - -David 23 Mar 2012 - - server: is_project_dir() was checking that cgi-bin is a directory. - This doesn't work if it's a symlink to a dir. - Check for that too. - - lib/ - filesys.cpp,h - sched/ - sched_config.cpp - -David 23 Mar 2012 - - client: if a job calls boinc_temporary_exit() 100 times, abort it. - Otherwise it could keep doing it forever - (e.g. if there's not ever enough available GPU RAM) - - client/ - app.h - app_control.cpp - -David 23 Mar 2012 - - scheduler: fix bug that could cause zero credit for - the first few jobs of a new application - (in wu_estimated_pfc(), only multiply by app.min_avg_pfc - if it's nonzero). - - sched/ - credit.cpp - -David 23 Mar 2012 - - client/server: estimate FLOPS for NVIDIA GPUs with - compute capability 3.x. - Not sure if the parameters are right - (128 cores/proc, 2 flops/clock) - but they're better than nothing. - - web: don't allow user names that have leading or trailing white space, - or HTML tags, or are empty - - html/ - inc/ - user.inc - user/ - openid_login.php - create_account_action.php - edit_user_info_action.php - create_account.php - lib/ - coproc.cpp - error_numbers.h - client/ - coproc_detect.cpp - -Rytis 24 Mar 2012 - - web: fix previous commit. - - html/ - inc/ - user.inc - -David 25 Mar 2012 - - compile fix for redhat, from Steffen Moller - - clientgui/gtk/ - taskbarex.cpp,h - -David 26 Mar 2012 - - scheduler: enforce app_version.max_core_version - - sched/ - sched_version.cpp - -David 26 Mar 2012 - - client: report results if CPU suspend pending in next 30 min - - client/ - cs_scheduler.cpp - -David 26 Mar 2012 - - client: set PROJECT::last_upload_start whenever an upload starts, - not just when a result becomes ready to upload. - Fix bug where a scheduler RPC to report results is done - even though uploads are active. - - client: cpu_sched_debug enables messages about not scheduling jobs - because of insufficient RAM - - client/ - pers_file_xfer.cpp - cpu_sched.cpp - -David 26 Mar 2012 - - web: add script for replacing blank user names with the user ID - - html/ops/ - fix_blank_user_names.php - -David 26 Mar 2012 - - client/server: set cores/proc for NVIDIA compute capability 3.0 to 192 - Why can't NVIDIA provide an API for this????? - - lib/ - coproc.cpp - -David 27 Mar 2012 - - client: fix typo that prevented GPU jobs from running - if CPUs were filled with EDF jobs - - client/ - cpu_sched.cpp - -David 27 Mar 2012 - - client: fix bug where if we sent app a message, - and it timed out and we killed it, we'd treat it as a job error. - (This was a major bug). - - API: remove BOINC_STATUS::suspend_request. - I meant to do this before. - - api/ - boinc_api.h - client/ - app_control.cpp - -David 27 Mar 2012 - - client: fix bug in reading reason for temporary exit - - lib: fix a valgrind warning - - lib/ - parse.cpp - client/ - app_control.cpp - -David 27 Mar 2012 - - scheduler: zero host.nsame_ip_addr if IP addr differs from previous - - sched/ - handle_request.cpp - -David 27 Mar 2012 - - client/scheduler: fix error in NVIDIA peak flops calculation - - lib/ - coproc.cpp - -David 27 Mar 2012 - - scheduler: ignore app_version.max_core_version if it's zero - - sched/ - sched_version.cpp - vda/ - vda.cpp - vdad.cpp - sched_vda.cpp - -Charlie 29 Mar 2012 - - Mac installer: When checking for duplicate group membership entries, - count only whole words (preceded and followed by white space) so - that if we have both 'jon' and 'jones' we don't count 'jon' twice. - - Mac uninstaller: Use Directory Services to find the user names of - all human users instead of stepping through the entries in the - /Users directory. - - mac_installer/ - PostInstall.cpp - Uninstall.cpp - -Charlie 29 Mar 2012 - - client: Fix idle detection during fast user switching. See comments - in HOST_INFO::users_idle() for details. - - client/ - hostinfo_unix.cpp - -David 30 Mar 2012 - - scheduler: don't max with min_work_buffer() in estimating - job turnaround time. - min_work_buffer doesn't necessarily reflect network disconnect periods - - client simulator: compile fixes - - sched/ - sched_send.cpp - vda/ - vdad.cpp - client/ - sim.cpp - sim_util.cpp - client_types.cpp - cs_scheduler.cpp - app.cpp - -Charlie 31 Mar 2012 - - MGR: Revert my changes of 18 March to Mac Task Bar Icon because the - second instance is needed to handle our Dock menu. Fix the earlier - problem of losing the suspended icon by ensuring that we always - call the same instance of CTaskBarIcon::SetIcon(). - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp,.h - BOINCTaskBar.cpp,.h - mac/ - MacSysMenu.cpp,.h - -David 2 Apr 2012 - - client: change some unsigned int to size_t in our versions - of NVIDIA APIs. This apparently caused crashes - (in app, not client, which I don't understand) for Einstein@Home. - From Steffen Moller. - - html/ops/ - db_update.php - lib/ - coproc.h - client/ - coproc_detect.cpp - -David 2 Apr 2012 - - client: don't write deviceHandle to NVIDIA XML description. - Um, pointers don't have any meaning outside the process - - lib/ - coproc.cpp - -David 5 Apr 2012 - - admin web: when resetting app statistics, - clear elapsed time stats as well as PFC stats - - db/ - boinc_db.h - sched/ - sched_version.cpp - html/ops/ - app_reset.php - -David 9 Apr 2012 - - server: create a harness for testing validator code. - If you link your functions (init_result(), compare_results(), - cleanup_result()) with validate_test.cpp, - you'll get a program that you can run as - validate_test file1 file2 - and it will compare the two files - (this works only for validators that expect 1 file per result). - - I added a makefile, sched/makefile_validator_test, - that you can use for this. - - server: shuffle code so that the above doesn't need to - link MySQL libraries - - client: if we fetch a master file and it contains no scheduler URLs, - show a message of class INTERNAL_ERROR - - client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double, - and remove dtotalGlobalMem. - Although NVIDIA reports RAM size as a size_t, - there's no reason to store it as an integer after that. - - db/ - boinc_db.h - boinc_db_types.h - sched/ - validate_util2.h - validate_util.h - makefile_validator_test - plan_class_spec.cpp - sched_send.cpp - validator_test.cpp - validator.cpp - html/inc/ - stats_sites.inc - lib/ - coproc.cpp,h - client/ - coproc_detect.cpp - scheduler_op.cpp - -David 9 Apr 2012 - - API: fix C compile error - - initial checkin of remote job stuff for app from ICT - - tools/ - tt_boinc - api/ - boinc_api.h - html/user/ - tree_threader.php - -David 12 Apr 2012 - - CAS@home stuff - tools/ - tt_boinc.cpp - html/user/ - tree_threader.cpp - -David 12 Apr 2012 - - add script for canceling jobs - - CAS@home stuff - - tools/ - tt_boinc - html/ - ops/ - cancel_wu_action.php - cancel_wus.php - inc/ - util_ops.inc - user/ - tree_threader.php - -Charlie 12 Apr 2012 - - web: separate Intel-only from Universal (PowerPC & Intel) clients - on download-all page so that PowerPC clients don't tell users - to upgrade to intel-only version. - - doc/ - versions.inc - -David 13 Apr 2012 - - CAS@home stuff - - tools/ - tt_boinc - html/user/ - tree_threader.php - -David 13 Apr 2012 - - wrapper: when reading fraction-done file, read the last line - (or at least the last double). - This accommodates a particular application (LAMMPS) - that can only append to this file. - - CAS@home stuff - - sched/ - sched_util.cpp - sched_send.cpp - tools/ - tt_boinc - html/user/ - submit.php - tree_threader.php - samples/wrapper/ - wrapper.cpp - -David 13 Apr 2012 - - client: add PID to random stuff used to make host CPID, - in case running multiple clients on same host - - client/ - hostinfo_network.cpp - -David 17 Apr 2012 - - scheduler: fix bug in assigned-job logic (from Derrick Kondo) - - client: only send active tasks in get_simple_gui_info GUI RPC - - sched/ - sched_assign.cpp - client/ - client_types.h - gui_rpc_server_ops.cpp - -David 17 Apr 2012 - - scheduler: add a program that targets remaining jobs in a batch - to a particular user (e.g. for cloud execution). - From Derrick Kondo. - - sched/ - target_batch.cpp - -David 17 Apr 2012 - - scheduler: handling of allow_multiple_clients flag from client - was wrong. From Bernd. - - sched/ - handle_request.cpp - -David 19 Apr 2012 - - web: don't show account keys on account page; - rewrite the page explaining and showing account keys. - - client: remove log flag - - client: remove config option - - html/ - inc/ - user.inc - user/ - weak_auth.php - lib/ - cc_config.cpp,h - client/ - log_flags.cpp - -David 19 Apr 2012 - - fix many problems with validator_test - - sched/ - sched_util.h - makefile_validator_test - sample_dummy_assimilator.cpp - single_job_assimilator.cpp - sched_util.cpp - sample_bitwise_validator.cpp - validate_util.cpp,h - validator_test.cpp - sample_assimilator.cpp - -Rom 19 Apr 2012 - - Update copyrights. - - client/win/ - boinc_cli.rc - boinc_cmd.rc - boinc_log.rc - clientctrl/ - boincsvcctrl.rc - clientgui/ - BOINCGUIApp.rc - DlgAbout.cpp - clientscr/ - boinc_ss.rc - boinc_ss_opengl.rc - clienttray/ - boinc_tray.rc - -David 20 Apr 2012 - - back end: print error messages instead of numbers in several places - - tools/ - dir_hier_move.cpp - backend_lib.cpp - process_input_template.cpp - dir_hier_path.cpp - create_work.cpp - -David 20 Apr 2012 - - client: add log flag - - lib/ - cc_config.cpp,h - -David 20 Apr 2012 - - client: add log flag - - client/ - cs_prefs.cpp - -David 20 Apr 2012 - - client/server: remove assert()s from message log code - - lib/ - msg_log.cpp - -Rom 20 Apr 2012 - - MGR: Show() does not restore the window state from a minimized state. Use - maximize(false) to handle that situation. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp - -David 20 Apr 2012 - - client: if we're contacting a project to ask it for work - of a particular processor type, - ask it for work of other types only if we're below - max buffer for those types. - - client/ - work_fetch.cpp - cs_prefs.cpp - -David 21 Apr 2012 - - client: fix bug that could erroneously cause a GPU to - be "blocked by config file". - - client/ - work_fetch.cpp - coproc_detect.cpp - -Rom 23 Apr 2012 - - client: fix function prototypes for CUDA detection. - - client/ - coproc_detect.cpp - -David 23 Apr 2012 - - client: fix bug that caused a project's jobs to all be run EDF - if the project has the flag set. - - client/ - cpu_sched.cpp - -Rom 24 Apr 2012 - - WINSETUP: Fix long standing installer bug where we were attempting - to add the boinc_master account to the boinc_admins group when - installing in the non-service install mode. boinc_master is only - created during service installs. This was causing a setup failure - on Windows 8. As far as I can tell it should have also been failing - on Win7 and WinVista. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - CACreateBOINCGroups.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 24 Apr 2012 - - update_versions: eliminate PHP warnings when no version.xml file - - tools/ - update_versions - -David 25 Apr 2012 - - scheduler: fix bug that tried to open plan class spec file - on each request. - - client: when showing how much work a scheduler request returned, - scale by availability (as is done to show the amount of the request) - - client in account manager request, and - are in wall time, not run time - (i.e. scale them by availability) - - Note: there's some confusion in the code between runtime and wall time, - where in general wall time = runtime / availability. - New convention: let's use "runtime" for the former, - and "duration" for the latter. - - sched/ - sched_customize.cpp - client/ - client_types.cpp,h - time_stats.h - work_fetch.cpp - rr_sim.cpp - cs_scheduler.cpp - cpu_sched.cpp - -David 25 Apr 2012 - - client: fix crashing bug that happened when a scheduler reply - had a parse error, and it included project files. - While parsing the scheduler reply we'd add FILE_REFs to - PROJECT::project_files, - but wouldn't link them to FILE_INFOs since this is done - only if the reply parses correctly. - The next garbage_collect() would dereference these NULL pointers. - - Solution: parse the FILE_REFS into SCHEDULER_REPLY::project_files. - Copy this to PROJECT::project_files only if the reply parses. - - client/ - client_types.cpp,h - scheduler_op.cpp,h - cs_scheduler.cpp - cs_statefile.cpp - -David 25 Apr 2012 - - Bad logic in Win code: - if you have - *pbuf = HeapAlloc(...) - then you need - if (*pbuf == NULL) - not - if (pbuf == NULL) - - various code cleanups - - Makefile.am: don't include clientgui/res; nothing to make there - - from Steffen Moeller - - sched/ - file_upload_handler.cpp - lib/ - diagnostics_win.cpp - procinfo_win.cpp - Makefile.am - client/ - coproc_detect.cpp - client_types.cpp - -David 26 Apr 2012 - - client: enforce in config file not just at startup, - but also when config file is re-read. - - client/ - log_flags.cpp - -David 26 Apr 2012 - - A first attempt to fix the bug where apps die with exit(1) - (whereas they didn't do this w/ older clients). - On Windows, the client uses TerminateProcess(h, 1) to kill processes; - the 1 is the exit code the process will appear to have. - - So instead, add a "will_restart" bool arg to the various kill - functions, and if set use 0 (= STATUS_SUCCESS), - otherwise use EXIT_ABORTED_BY_CLIENT. - - Note: in principle this shouldn't make any difference - for quitting tasks, - since handle_exited_app() checks for task state QUIT_PENDING - and ignores the exit code in that case. - The only place I can see where it would make any difference - is when we kill a process because it hasn't been handling - queued shared-memory messages for 180 seconds. - - - client: add more info to the message about an exited app - - - client: function return values (ERR_*) are different from - process exit codes (EXIT_*). - But in many places we were using return values as exit codes. - Fix these. - Also, break out the different types of limits a job can exceed - (time, disk, memory) into difference exit codes. - - lib/ - error_numbers.h - client/ - client_state.cpp - app.h - gui_rpc_server_ops.cpp - cs_apps.cpp - client_types.cpp - cs_scheduler.cpp - app_control.cpp - -David 27 Apr 2012 - - compile fix - - lib/ - str_util.cpp - -David 27 Apr 2012 - - scheduler: call get_reliability_and_trust() and get_prefs_info() - in send_work_setup(), so that they run before lost jobs are resent. - Otherwise lost jobs could get sent using an app version - that's prohibited by prefs - - sched/ - sched_send.cpp - -David 27 Apr 2012 - - web: put around username | log in - - html/inc/ - util.inc - -David 27 Apr 2012 - - scheduler: change ET_RATIO_LIMIT to 250 - - sched/ - sched_version.cpp - -Rom 27 Apr 2012 - - WINSCR: Use the DefProcHandler function when processing WM_CLOSE/WM_DESTROY - window messages. In effect, let Windows do the default thing. This removes - the hacks which kept the screensaver running with old versions of - Microsoft's keyboard/mouse driver software installed. - - clientscr/ - screensaver_win.cpp, .h - -David 30 Apr 2012 - - web RPC: include rpc_time in XML host description - - client: if acct mgr sends us an account with no authenticator, - show an error message instead of trying to attach - - html/ - inc/ - xml.inc - user/ - show_user.php - client/ - acct_mgr.cpp - -David 30 Apr 2012 - - client: code cleanup. Move RESULT and PROJECT to separate files - - client/ - project.cpp,h (new) - result.cpp,h (new) - *.cpp - -David 30 Apr 2012 - - client: minor code shuffle - - client/ - project.cpp - result.cpp - client_state.h - cs_scheduler.cpp - cpu_sched.cpp - -David 30 Apr 2012 - - client: if an app version needs OpenCL/CUDA/CAL, - make sure that the GPU supports it - (fix bug where sometimes, e.g. CUDA detection fails - but OpenCL succeeds, and we have a CUDA app). - - client/ - client_types.cpp - -Charlie 30 Apr 2012 - - lib: Fix compile break on Mac. - - lib/ - str_replace.h - -Charlie 30 Apr 2012 - - Mac: Update XCode project with new source files. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 1 May 2012 - - Manager: message tweak - - add new files to Win project - - clientgui/ - MainDocument.cpp - win_build/ - boinc_cli.vcproj - -Charlie 3 May 2012 - - Mac installer: changes for OS 10.8 compatibility. - - mac_installer/ - PostInstall.cpp - Uninstall.cpp - -Charlie 6 May 2012 - - Mac installer: changes for OS 10.8 compatibility. - - mac_installer/ - PostInstall.cpp - Uninstall.cpp - -David 6 May 2012 - - client: fix bug where coproc name could be set incorrectly when: - a) there are multiple GPU vendors - b) one of them is detected via OpenCL but not "native" (CUDA/CAL) - - client/ - coproc_detect.cpp - -David 7 May 2012 - - web: if user.has_profile = 0 but there actually is a profile, - update user.has_profile - - html/user/ - view_profile.php - -Bernd 7 May 2012 - - lib: added function secs_to_hmsf() which converts (double) seconds - to a string 0h00m00s00 - - lib/ - str_util.cpp, .h - -Bernd 8 May 2012 - - scheduler: no functional change, just got rid of DOS linebreaks - - sched/ - plan_class_spec.cpp,h - -Bernd 8 May 2012 - - scheduler: don't override avg_ncpus per default - - sched/ - plan_class_spec.cpp - -Bernd 9 May 2012 - - scheduler: get app_version info for validator items - - db/ - boinc_db.cpp - - -David 9 May 2012 - - C++ code: use MAXPATHLEN for char arrays that hold paths - - (many .cpp files) - -David 9 May 2012 - - compile fix - - api/ - boinc_opencl.cpp,h - -David 9 May 2012 - - Win compile fixes - - lib/ - boinc_win.h - filesys.cpp - samples/vboxwrapper/ - vboxwrapper.cpp - -Rom 9 May 2012 - - lib: Fix a bug where information that was meant for stdout was - being written to stderr instead. - - lib: Keep track of the rough estimate of stdout and stderr by - incrementing internal variables instead of doing a stat on - each log write. stat() on Windows is converted to a FindFirstFile() - call which in turn looks up the file size information in the - directory structure file system entry. The directory structure - information is only updated periodically. This lead to larger - than expected log file for both the manager and core client. - - This has the added advantage of reducing the overall number of - file I/O operations when logging information. - - lib/ - diagnostics.cpp - -Charlie 10 May 2012 - - MGR: Eliminate QuickDraw calls for OS 10.8 compatibility. - - clientgui/ - BOINCGUIApp.cpp - DlgEventLog.cpp - DlgitemProperties.cpp - sg_DlgMessages.cpp - mac/ - MacGUI.cpp,.h - -David 10 May 2012 - - diagnostics lib: - - store file sizes as double rather than int - - if we're appending to log files, initialize the - size variables to the current size - - check return value of fprintf, only increment size if it's + - - when rotate log file, reset size var to zero - - lib/ - diagnostics.cpp - -Bernd 11 May 2012 - - scheduler: don't try to send_file_deletes() with an incomplete request - - sched/ - handle_request.cpp - - -Rom 11 May 2012 - - VBOX: When the system confirms our port number request or assigns us a - new port number to work with convert it from network byte order - (big endian) to the host byte order (little endian on x86/x64 processors). - - samples/vboxwrapper/ - vbox.cpp - -David 11 May 2012 - - web: use gmdate() instead date() to avoid time zone warning - html/ - inc/ - uotd.inc - translation.inc - user/ - cert_team.php - cert1.php - uotd.php - cert_all.php - project.sample/ - project.inc - -David 13 May 2012 - - LAMMPS script: chdir back to html/user, else page_head() breaks - - html/user/ - lammps.php - -David 14 May 2012 - - scheduler: revision of app_plan_spec mechanism. - Not debugged, but it compiles now. - - sched/ - plan_class_space.cpp,h - -Rom 15 May 2012 - - MGR: Add OpenCL icon to the ProjectInfo wizard page. - - clientgui/ - ProjectInfoPage.cpp, .h - clientgui/res/ - openclicon.xpm - clientgui/res/templates/ - openclicon.png - lib/ - diagnostics.cpp - -Rom 15 May 2012 - - Normalize the way E@H returns OpenCL information to the client - software. - - doc/ - get_platforms.inc - -Rom 15 May 2012 - - MGR: Fix the icon we use to represent OpenCL. - - client: Update the stock all_project_list.xml file we send out - with new client software. - - clientgui/res/ - openclicon.xpm - win_build/installerv2/redist/ - all_projects_list.xml - -David 18 May 2012 - - client/API/vboxwrapper: add an optional element - to cc_config.xml. - If present, run VMs without the --headless option. - - client/ - app_start.cpp - lib/ - app_ipc.cpp,h - cc_config.cpp,h - samples/vboxwrapper/ - vbox.cpp,h - vboxwrapper.cpp - -David 18 May 2012 - - web: show "run beta apps?" project pref if the project - has any beta applications - (don't require project to specify this in project_specific_prefs.inc) - - html/project.sample/ - project_specific_prefs.inc - -David 18 May 2012 - - web: fix PHP warnings by calling date_default_timezone_set(). - Set it to the timezone specified by the constant TIMEZONE - (in project.inc) or "UTC" if none specified. - - web: fix bugs in submit.php - html/ - inc/ - submit_util.inc - util.inc - user/ - submit.php - -David 18 May 2012 - - scheduler: add a lot more debug messages if is set - - sched/ - sched_array.cpp - -David 18 May 2012 - - vboxwrapper: don't run headful if client is sandboxed (it won't work). - samples/vboxwrapper/ - vboxwrapper.cpp - -Rom 18 May 2012 - - MGR: Remove the visuals in the wizard for multi-core and opencl. This area - will get a bunch of work in a future commit. - - clientgui/ - ProjectInfoPage.cpp, .h - clientgui/res/ - openclicon.xpm (deleted) - multicore.xpm (deleted) - -David 18 May 2012 - - client: show option in log, - and give warning if include this while in sandbox mode - - web: update URLs for BOINCstats - html/inc/ - stats_sites.inc - client/ - log_flags.cpp - -Charlie 18 May 2012 - - VBOX: Fix Mac compiler warnings (deprecated conversion from string constant - to 'char*'). - - samples/vboxwrapper/ - vboxwrapper.cpp - -Rom 18 May 2012 - - MGR: Fix build breaks - - clientgui/ - AccountManagerInfoPage.cpp - clientgui/ - ProjectListCtrl.cpp, .h - -David 20 May 2012 - - API: add boinc_network_usage(); - lets an application report its network usage to BOINC, - and hence take it into account with monthly limits etc. - - API: get rid of deprecated boinc_ops_per_cpu_sec(), - boinc_ops_cumulative(), and - boinc_set_credit_claim(); - - admin web: update manage_apps.php; - add the ability to set homogeneous app version - - html/ops/ - manage_apps.php - api/ - boinc_api.cpp,h - -Rom 21 May 2012 - - MGR: Fix menu redraw issue under Ubuntu's new interface. - fixes #1180 - (From Huibert) - - clientgui/ - AdvancedFrame.cpp - -David 22 May 2012 - - add script to repair damaged user.global_prefs fields - - compile warning fixes - - sched/ - delete_file.cpp - sched_version.cpp - html/ops/ - fix_venue.php - vda/ - stats.cpp - ssim.php - -David 23 May 2012 - - server daemons: add daemon_sleep(n), which sleeps for n secs - but checks for the "stop_daemons" trigger file every 1 sec. - Use this instead of sleep() in daemons. - This will speed up bin/stop. - - sched/ - sched_util.cpp,h - (daemons).cpp - -David 23 May 2012 - - get rid of BOINC_SOCKLEN_T stuff; just use socklen_t - - configure.ac - lib/ - network.h - -David 23 May 2012 - - server: make fix_venue.php work faster - - html/ - inc/ - boinc_db.inc - ops/ - fix_venue.php - -David 25 May 2012 - - server: rename fix_venue.php to fix_prefs.php - - html/ops/ - fix_prefs.php - -David 25 May 2012 - - admin web: add a function for "revalidating" a given set of jobs. - This reruns validation for instances that are successful - but marked as invalid or inconclusive. - Use this if you changed your validator to be more permissive, - and you want to grant credit for instances that were - originally marked as invalid. - - html/ops/ - index.php - revalidate.php (new) - db/ - boinc_db_types.h - -David 25 May 2012 - - fix typos in two PHP scripts - - html/ops/ - repair_forums.php - notify.php - -David 26 May 2012 - - web: don't truncate thread titles - - html/user/ - forum_forum.php - -David 26 May 2012 - - web: increase size of thread title input field to 80 - - html/user/ - team_forum.php - forum_post.php - -David 26 May 2012 - - web RPC: make am_set_info available by POST as well as GET, - since its args can be too long for a URL - - html/user/ - am_set_info.php - -David 26 May 2012 - - admin web: fix revalidated script - - html/ops/ - revalidate.cpp - -David 26 May 2012 - - web RPC: in am_set_info, if both GET and POST args are present, use POST - - html/user/ - am_set_info.php - -David 28 May 2012 - - user web: job submission home page has - 1) links to job submission pages for relevant apps - 2) links to Admin pages for relevant apps - - html/user/ - submit.php - -David 28 May 2012 - - fix tools/manage_privileges script - - html/ - inc/ - submit_db.inc - user/ - manage_project.inc - -David 28 May 2012 - - web: allow users with admin privileges to abort or retire batches - - html/user/ - submit.php - -David 28 May 2012 - - feeder: if we purge a stale job, and it's commited to an HR class, - un-commit it since that's probably the reason why it's stuck - (and it may never get unstuck) - - sched/ - feeder.cpp - -Rom 30 May 2012 - - MGR: Wait until there is valid data in the list box before processing - the OnProjectSelected() event. - - clientgui/ - ProjectInfoPage.cpp - -David 3 June 2012 - - scheduler: various fixes to plan_class_spec.cpp; from Bernd - - admin web: don't include the project's stylesheet, - which may assume a layout not used by admin pages - - sched/ - plan_class_spec.cpp - html/inc/ - util.inc - util_ops.inc - -David 4 June 2012 - - scheduler: if we truncate the # of results accepted - (like we're doing in SETI@home) - don't resend lost results since we don't know what they are - - sched/ - handle_request.cpp - sched_types.cpp,h - -David 4 June 2012 - - DB: add project_state and description fields to batch table. - Both are for use by project. - - job submission file sandbox: don't delete physical file - when delete sandbox entry. - We'll have to figure out how to garbage-collect physical files. - - LAMMPS job submission: - use the 50th-percentile host,not 0th - - html/ - user/ - sandbox.php - lammps.php - ops/ - db_update.php - db/ - schema.sql - boinc_db_types.h - -Wenjing 5 June 2012 - - web: don't allow a sandbox file to be deleted if it's used - by an in-progress batch. - NOTE: this logic checks only 1 job from the batch, - so it assumes that all jobs have the same input files. - - html/ - user/ - sandbox.php - inc/ - sandbox.inc - -David 5 June 2012 - - scheduler: debug plan_class_spec a little. - Add an #ifdef'd main program in plan_class_spec.cpp, - and a makefile, for testing purposes. - - sched/ - sched_main.cpp - plan_class_spec.cpp,h - makefile_plan_class_spec - sched_types.cpp - client/ - coproc_detect.cpp - lib/ - coproc.cpp - -David 5 June 2012 - - scheduler: add Vbox stuff to plan_class_spec - - sched/ - plan_class_spec.cpp,h - -David 5 June 2012 - - scheduler: add example plan_class_spec.xml - - scheduler: change gpu_type from "ati" to "amd" in plan class spec - - sched/ - plan_class_spec.cpp - plan_class_spec.xml.sample - -Bernd 6 Jun 2012 - - scheduler: moved client version check to be last of the checks - performed for a particular app version. It is not necessary - to tell the user to upgrade the client just to suite the needs of - a particular app version if this app version requires resources - that the host dosn't have or didn't request work for. - - Actually I don't think it's good to tell the user he needs to - upgrade the client if there is only one particular app version - that requires a more recent one than he has. I think that the - purpose of the g_wreq->outdated_client flag was checking the - min_core_version in the project configuration. For this the - flag and the notice/message that it triggers is still ok. But - in the app version checks setting this flag leads to misleading - messages in most cases, so I commented that out for now. - - I'm not sure, though, that both of these measurements are needed. - - sched/ - sched_version.cpp - -Bernd 6 Jun 2012 - - scheduler: minor fixes to plan_clas_spec: - - consistently accept both 'ati' and 'amd' for AMD/ATI plan classes - - in OpenCL plan classes always use device memory reported via OpenCL - (might be different e.g. from what's available/reported via CUDA) - - comment formatting - - sched/ - plan_class_spec.cpp - -David 6 June 2012 - - scheduler: add option - - sched/ - plan_class_spec.cpp,h - handle_request.cpp - sched_config.h - -David 7 June 2012 - - scheduler: add max_results_accepted config option. - Limits mem usage by the scheduler, can prevent crashes. - - sched/ - sched_config.cpp,h - sched_types.cpp - -David 7 June 2012 - - scheduler: add , - to plan class XML spec options; - lets you specify a range of ATI GPU models to use - - sched/ - plan_class.cpp,h - sched_config.cpp,h - -David 9 June 2012 - - fixes of various (non-critical) fd and memory leaks. - Fixes #1188. From Julien. - - fix bugs in setting scheduler output buffer size - - code formatting - - client/ - hostinfo_unix_test.cpp - apps/ - concat.cpp - api/ - make_app_icon_h.cpp - texfont.cpp - texture.cpp - tgalib.cpp - vda/ - vdad.cpp - vda_policy.cpp - sched/ - sched_driver.cpp - feeder.cpp - credit_test.cpp - sched_main.cpp - -Bernd 10 Jun 2012 - - API: fix for C-mode compilation of boinc_api.h - moved app_ipc.h inclusion outside __cplusplus - since it contains important C mode prototypes - (boinc_resolve_filename() etc.) - - api/ - boinc_api.h - -Bernd 11 Jun 2012 - - API: fix #2 for C-mode compilation of boinc_api.h - app_ipc.h didn't cleanly compile in C-mode either, - had to fix this, too. - - lib/ - app_ipc.h - -Rom 12 Jun 2012 - - Make things build again on Mac OSX 10.8 using the autoconf - framework. - (From Oliver Bock) - - / - configure.ac - -David 13 June 2012 - - scheduler: remove from scheduler reply for now; - the 7.0.25 client has a bug that causes jobs - to run EDF if this flag is present. - - sched/ - sched_types.cpp - -Charlie 13 June 2012 - - client: Reverse my logic of 16 Feb 2012: we now always use GPU model - name determined from CAL TargetID (if available) for OpenCL model - name of ATI / AMD GPUs because (we believe) it is more user-friendly. - - client/ - coproc_detect.cpp - -David 14 June 2012 - - scheduler: send only if client is 7.0.28 or later. - - sched/ - sched_types.cpp - vda/ - ssim.cpp - vdad.cpp - des.h - stats.cpp,h - vda_lib.cpp,h - -David 14 June 2012 - - client: - - added the definitions for the new Windows 7/2008r2 preSP1 - and Windows 8/2012 SKUs based on the winnt.h - from the Windows 8 RC SKD (also added as proof) - - added the detection for some more Windows SKU - - Updates provided by Teamwork of Planet3Dnow.de to coproc_detect.cpp - - added CAL_TARGET_ID 21 as : AMD Radeon HD 78x0 series (Pitcairn) - (from [P3D] Crashtest) - - client/ - coproc_detect.cpp - hostinfo_win.cpp - -David 14 June 2012 - - client, GUI RPC: detect and export the PCI bus, device, and domain #s. - - scheduler: increase #GPU limit from 8 to 64 - - lib/ - coproc.cpp,h - client/ - coproc_detect.cpp - sched/ - sched_send.cpp - vda/ - vda_lib.cpp,h - ssim.cpp - -Charlie 16 June 2012 - - Mac installer: Fix bugs I introduced on May 3 and May 6. - - mac_installer/ - PostInstall.cpp - Uninstall.cpp - -Charlie 18 June 2012 - - Mac installer: Create or delete Login Items and set screensaver - properly when installing for multiple users on OS 10.7, 10.8. - - mac_installer/ - PostInstall.cpp - Uninstall.cpp - -David 18 June 2012 - - client: it's possible for a host to get app versions for - a given app that have different platforms and different version #s. - The client was erroneously deleting the one w/ the lower version - when it was no longer in use. - Fix: in garbage collection, consider one version to supercede another - only if they have the same platform - - client/ - client_state.cpp - vda/ - ssim.cpp - -David 18 June 2012 - - client: split GPU detection code into separate files - - lib/ - coproc.h - client/ - gpu.h (new) - gpu_opencl.cpp (new) - gpu_amd.cpp (new) - gpu_nvidia.cpp (new) - coproc_detect.cpp - Makefile.am - -David 18 June 2012 - - client: rename coproc_detect.cpp to gpu_detect.cpp - - client/ - gpu_detect.cpp,h - Makefile.am - -David 18 June 2012 - - client: compile fixes - - client/ - gpu_opencl.cpp - gpu_amd.cpp - gpu_nvidia.cpp - lib/ - coproc.cpp,h - -David 18 June 2012 - - win compile fixes - - client/ - gpu_nvidia.cpp - win_build/ - boinc_cli.vcproj - -David 18 June 2012 - - client: for NVIDIA, make an array of the PCI info - for all usable GPUs - - client/ - gpu_nvidia.cpp - -David 19 June 2012 - - client: AMD GPU detection addition (from [P3D] Crashtest) - - client/ - gpu_amd.cpp - -Charlie 20 June 2012 - - Mac: Update XCode project with new source files. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 20 June 2012 - - fix configure error on Linux. - I think the AC_PROG_OBJCXX should be limited to Mac somehow - - configure.ac - -David 20 June 2012 - - web: fix BOINCStats link for host details - - html/inc/ - stats_sites.inc - -David 20 June 2012 - - API, Linux: increase timer thread stack size from 16K to 32K. - Apparently new use of MAXPATHLEN can cause overflow. - Fixes #1191 - - api/ - boinc_api.cpp - -Charlie 21 June 2012 - - Mac: Fix displayed names of BOINC installer, uninstaller, etc. - - clientgui/ - mac/ - SetVersion.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 21 June 2012 - - web: server status page should show elapsed time, not CPU time - - html/user/ - server_status.php - -Charlie 22 June 2012 - - Mac: Code sign the BOINC installer and uninstaller if we have a - valid code signing identity. Code signing using a registered - Apple Developer ID is necessary for GateKeeper with default - settings to allow running downloaded applications under OS 10.8. - - mac_installer/ - release_boinc.sh - -David 22 June 2012 - - client: AMD GPU detection addition (from [P3D] Crashtest) - - client/ - gpu_amd.cpp - -David 25 June 2012 - - scheduler: add support for Intel GPUs, and restructure things - to make it easier to add other GPU types in the future - - sched/ - sched_customize.cpp,h - sched_shmem.cpp - plan_class_spec.cpp - sched_types.cpp,h - sched_version.cpp - sched_send.cpp - lib/ - coproc.cpp,h - -David 25 June 2012 - - Unix build: fix typo - - configure.ac - -David 25 June 2012 - - Unix build: fix for Mac OS X (from Oliver) - - configure.ac - -Charlie 26 June 2012 - - Mac client: Upgrade to curl 7.26.60 and c-ares 1.9.1. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildc_ares.sh - buildcurl.sh - HowToBuildBOINC_XCode.rtf - setupforBOINC.sh - -Charlie 26 June 2012 - - Mac client: build libssl.a and libcrypto.a from openssl 1.0.1c and - do static links instead of a dynamic links with Apple-supplied - dynamic libraries. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildopenssl.sh (new) - HowToBuildBOINC_XCode.rtf - setupforBOINC.sh - -David 26 June 2012 - - client: keep track of the fraction of time that - 1) a network connection is available and - 2) network communication is allowed and - 3) CPU computation is allowed - - If an app version is marked as needs_network, - use the above fraction in estimating its rate of progress - - replace "core client" with "client" in comments. - - scheduler: message tweaks - - client/ - client_state.h - cs_files.cpp - rr_sim.cpp - app_start.cpp - gui_rpc_server_ops.cpp - boinc_cmd.cpp - app_control.cpp - time_state.cpp,h - boinc_log.cpp - sandbox.cpp - check_state.cpp - main.cpp - work_fetch.cpp - gui_rpc_server.cpp - sched/ - sched_send.cpp - lib/ - coproc.cpp - -David 26 June 2012 - - Unix build tweaks. Fixes #1193 (I think) - - m4/ - boinc_check_fcgi.m4 - libcurl.m4 - - -David 26 June 2012 - - Unix build: remove "if" around AC_PROG_OBJCXX; - apparently this is needed for Gentoo build. - You may need a recent automake for this to work. - Fixes #1193. - - configure.ac - -David 26 June 2012 - - Unix build tweak - - configure.ac - -Charlie 28 June 2012 - - Mac client: Update wxMac build script for partial compatibility - with OS 10.8 and XCode 4.5. See comments in script for details. - - mac_build/ - buildWxMac.sh - -David 28 June 2012 - - client: when estimating FLOPS for an anonymous-platform app version - for which no estimate has been supplied by user, - use (CPU speed)*(cpu_usage + 10*gpu_usage) - (add the 10*) - - lib/ - common_defs.h - str_util.cpp - client/ - client_state.cpp - sched/ - transitioner.cpp - -David 28 June 2012 - - web: when showing a batch, recompute and update its fraction done - - feeder: don't enumerate results for WUs with nonzero error_mask - - scheduler: in slow_check(), make sure the WU error_mask is still zero - - html/user/ - submit.php - db/ - boinc_db.cpp - sched/ - sched_array.cpp - -David 29 June 2012 - - client: add missing end tag for . Doh! - - validator: add some sanity-checking for credit, - to prevent granting 1e38 credit. - max_granted_credit now defaults to the equivalent of 1 TeraFLOP-year. - Instances that exceed this are not counted in the credit - calculation, and a critical-mode log message is written - - wrapper: remove wall_cpu_time; not used anymore - - html/user/ - host_app_versions.cpp - samples/wrapper/ - wrapper.cpp - sched/ - validator.cpp - credit.cpp - lib/ - coproc.cpp - -David 1 July 2012 - - When the client makes a scheduler RPC without requesting work, - and there's a simple reason - (e.g. the project is suspended, no-new-tasks, downloads stalled, etc.) - show it in the event lot. - If the reason is more complex, don't try to explain. - - client/ - work_fetch.cpp,h - scheduler_op.cpp - -David 2 July 2012 - - client: in the job scheduler, there's a check to prevent - overcommitting the CPUs if an MT is scheduled. - Skip this check for GPU jobs. - - client/ - cpu_sched.cpp - -David 2 July 2012 - - Compile fixes for Fedora core 17. From Christian B. Fixes #1194. - - Fix various #include issues. - - CODING STYLE LAW (minimal inclusion principle): - If foo.cpp requires , - #include in foo.cpp, NOT foo.h - - various/ - various - -David 2 July 2012 - - more code cleanup - - vda/ - ssim.cpp - sched/ - plan_class_spec.cpp - lib/ - various - -David 2 July 2012 - - Unix build: fix problem with Debian automated builds; from Steffen M - - configure.ac - -Charlie 3 July 2012 - - Mac: fix build break. - - client/ - cpu_sched.cpp - -Charlie 3 July 2012 - - Mac client: Update Xcode project for compatibility with Xcode 4.3.2 - and Xcode 4.5. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 3 July 2012 - - Client (Win): in file_size(), use _stat64() instead of stat(). - Otherwise it doesn't work for files >= 2GB - - Client: TIME_STATS::trim_stats_log() wasn't working because - it's called in the constructor of TIME_STATS, - which is called before we've done a chdir() to the data dir. - - Note: for this reason, no disk access should be done in constructors - of global objects. A quick scan found no instances of this. - - client/ - client_state.cpp - time_stats.cpp,h - lib/ - filesys.cpp - -Charlie 5 July 2012 - - Mac: update script which builds our installer to work with Xcode 4.3 - for Lion and later. Because PackageMaker is now distributed - separately from Xcode, we emulate it using low-level tools. - - mac_installer/ - release_boinc.sh - -David 5 July 2012 - - client: remove "device" entry from CUDA_DEVICE_PROP, - and change types of mem-size fields from int to double. - These fields are size_t in NVIDIA's version of this; - however, cuDeviceGetAttribute() returns them as int, - so I don't see where this makes any difference. - - client: fix bug in handling of element. - - scheduler: message tweaks. - Note: [foo] means that the message is enabled by . - - - lib/ - coproc.cpp,h - client/ - gui_nvidia.cpp - work_fetch.cpp - scheduler_op.cpp - db/ - boinc_db_types.h - boind_db.h - vda/ - sched_vda.cpp - sched/ - plan_class_spec.cpp - sched_types.cpp - -Charlie 5 July 2012 - - Mac: update build scripts to work with Xcode 4.3 for Lion and later. - Xcode and the Mac OS X SDKs are no longer installed at fixed locations. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildc_ares.sh - buildcurl.sh - buildopenssl.sh - BuildMacBOINC.sh - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - -David 7 July 2012 - - distributed storage: move chunk_size to VDA_FILE. - Add some missing code. - - sched/ - sched_types.cpp,h - db/ - boinc_db_types.h - boinc_db.cpp - schema_vda.sql - vda/ - vda_lib.cpp,h - vda.cpp - vdad.cpp - ssim.cpp - sched_vda.cpp - html/user/img/ - star.gif - -Charlie 10 July 2012 - - Mac: update build scripts, source files and Xcode project to allow - building with Xcode 4.3 under OS 10.7.x Lion and Xcode 4.5 under - OS 10.8 Mountain Lion. - - clientgui/ - mac/ - MacBitmapCompboBox.cpp - MacSysMenu.cpp - clientscr/ - Mac_Saver_ModuleView.m - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildc_ares.sh - buildcurl.sh - buildopenssl.sh - BuildMacBOINC.sh - HowToBuildBOINC_XCode.rtf - -David 10 July 2012 - - Unix: include db/boinc_db_types.h in installed headers - - client: small code cleanup, no functional change - - db/ - Makefile.am - client/ - time_stats.cpp - -David 10 July 2012 - - web: show job status correctly for new exit codes - - html/inc/ - result.inc - -David 10 July 2012 - - user web: add "posts per page" pref for message boards; - get rid of existing funky page-limit prefs - - html/ - inc/ - forum.inc - user/ - edit_forum_preferences*.php - forum_reply.php - forum_thread.php - -Charlie 11 July 2012 - - Mac: update sample code to allow building with Xcode 4.3 and - to eliminate compiler warnings. - - samples/ - example_app/ - MakeMacExample.sh - Makefile_mac - Makefile_mac2 - uc2_graphics.cpp - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - vboxwrapper/ - BuildMacVboxWrapper.sh (new) - Makefile_mac (new) - vboxwrapper.xcodeproj/ - project.pbxproj - wrapper/ - BuildMacWrapper.sh - -David 11 July 2012 - - web: improve forum pagination - - client/ - client_msgs.cpp - html/ - inc/ - forum.inc - user/ - forum_forum.php - forum_reply.php - forum_threads.php - -David 11 July 2012 - - web: forum fixes - - html/ - inc/ - forum.inc - user/ - forum_forum.php - -Charlie 12 July 2012 - - Mac: update sample code to allow building with Xcode 4.4 GM seed - under OS 10.8 GM seed. - - samples/ - example_app/ - MakeMacExample.sh - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - vboxwrapper/ - BuildMacVboxWrapper.sh - vboxwrapper.xcodeproj/ - project.pbxproj - wrapper/ - BuildMacWrapper.sh - -David 12 July 2012 - - web: make "jump to first unread" work with pagination - - html/ - inc/ - forum.inc - user/ - forum_thread.php - -David 12 July 2012 - - web: make links to specific posts work with pagination - - html/ - inc/ - forum.inc - user/ - forum_thread.php - -David 12 July 2012 - - web: don't try to update thread last-read-time if not logged in - - html/inc/ - forum.inc - -David 13 July 2012 - - web: when posting to a thread, show a page of its most recent posts - - feeder: add --by_batch option: interleaves jobs from different batches. - From Jack Harris. - - sched/ - feeder.cpp - html/user/ - forum_reply.php - forum_user_posts.php - -David 13 July 2012 - - web: after post to a thread, show a page of the most recent posts - (but don't change user's sort prefs) - - html/user/ - forum_thread.php - forum_reply.php - -David 13 July 2012 - - web: use · instead of | as a separator - - html/inc/ - result.inc - -David 16 July 2012 - - lib: treat MINGW32 like CYGWIN32 (in 1 place - should do everywhere?) - from Oliver - - lib/ - filesys.cpp - db/ - schema_vda.sql - sched/ - Makefile.am - html/ops/ - manage_apps.php - vda/ - sched_vda.cpp - -David 16 July 2012 - - web: make "jump to first unread" work for threads that - haven't been viewed before - - html/inc/ - forum.inc - -Charlie 17 July 2012 - - Mac: Minor corrections to documentation and sample code. - - mac_build/ - HowToBuildBOINC_XCode.rtf - samples/ - example_app/ - Makefile_mac2 - -David 17 July 2012 - - compile fix (from Oliver) - - api/ - boinc_api.h - -David 17 July 2012 - - client: delete sticky files when reset project - - client/ - client_state.cpp - -David 17 July 2012 - - client: if we get a job for which a GPU is missing, - keep the RESULT record so that we can report it to the scheduler. - Otherwise we'll keep getting the same job if the project has - set. - - client/ - cs_scheduler.cpp - -Charlie 18 July 2012 - - lib: Adjust #include files as requested by Oliver Bock. - - lib/ - procinfo_mac.cpp - - -Bernd 18 July 2012 - - API: fix Makefile.mingw - - allow to augment CFLAGS and CXXFLAGS - - allow to at least set DEBUG flags externally, such that - backtrace flags can be used - - minor textual fixes (whitespace error, typo in comment) - - lib/ - Makefile.mingw - -Rom 18 July 2012 - - client: Re-introduce the WM_QUERYENDSESSION window message handler to - the power management window proc, it was removed during one of the Win9x - code scrubs. When we see it, inform the client it is time to shutdown. - - client/ - sysmon_win.cpp - -David 21 July 2012 - - lib: fix typo - - lib/ - coproc.cpp - -David 21 July 2012 - - client simulator: fix build breaks - - client/ - makefile_sim - sim.cpp - sim_util.cpp - -David 21 July 2012 - - client: don't request work for backup project for a processor type - unless there are idle instances of that type - - client/ - work_fetch.cpp - -David 23 July 2012 - - volunteer storage: implement "vda status" command - - vda/ - vda_lib.cpp,h - vda_lib2.cpp (new) - vdad.cpp - vda.cpp - Makefile.am - db/ - boinc_db_types.h - -David 23 July 2012 - - client: improve "new version available" notice - - client/ - current_version.cpp - -David 25 July 2012 - - volunteer data storage: intermediate checkin - - vda/ - vda.cpp - ssim.cpp - vdad.cpp - sched_vda.cpp - vda_lib2.cpp - db/ - boinc_db_types.h - boinc_db.cpp - schema_vda.sql - -Charlie 26 July 2012 - - Mac: fix a typo in build script. - - mac_build/ - setupForBOINC.sh - -Charlie 27 July 2012 - - Mac: create build scripts for FreeType-2.4.10 and FTGL-2.1.3-rc5 - libraries; eliminate extra output from wxMac build script. - - mac_build/ - buildfreetype.sh (new) - buildFTGL.sh (new) - buildWxMac.sh - setupforBOINC.sh - -Rom 30 July 2012 - - MGR: Use the same fix for the simple gui that we used on the advanced - gui with regards to the menu on Ubuntu's interface. - - clientgui/ - sg_BoincSimpleFrame.cpp - -David 1 Aug 2012 - - web: after post to a thread, show thread in user's chosen order - instead of newest first. - - db/ - db_base.cpp,h - html/ - inc/ - forum.inc - user/ - forum_reply.php - vda/ - vda_lib.cpp - vdad.cpp - sched_vda.cpp - vda_lib2.cpp - -David 1 Aug 2012 - - code cleanup: in foo.cpp, include foo.h first - - lib/ - *cpp - -David 1 Aug 2012 - - use instead of . Seems to be needed on Debian. - - sched/ - credit.cpp - plan_class_spec.cpp - sched_driver.cpp - feeder.cpp - vda/ - ssim.cpp - -Charlie 1 Aug 2012 - - API, SCR: Switch from *.txf fonts to TrueType fonts in graphics - applications, ensuring that all related files have no licensing - issues. - - / - COPYRIGHT - api/ - gutil/cpp,.h - ttfont.cpp,.h - texfont.cpp,.h (deleted) - texture.cpp,.h (deleted) - txf_util.cpp,.h (deleted) - txf/ - *.txf (deleted) - ttf/ - courier_bold (deleted) - helvetica (deleted) - README (deleted) - liberation-fonts-ttf-2.00.0/ (added) - AUTHORS (added) - CHANGELOG (added) - LICENSE (added) - README (added) - *.ttf (added) - clientscr/ - ss_app.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - mac_installer/ - release_boinc.sh - -Charlie 2 Aug 2012 - - Mac: Update scripts for building branded installers to allow - building with Xcode 4.3 under OS 10.7.x Lion; change names of - branded installers from "*macOSX_universal" to "*macOSX_i686" - since we no longer support PowerPC Macs. - - mac_installer/ - make_CharityEngine.sh - make_GridRepublic.sh - make_ProgThruProc.sh - -David 2 Aug 2012 - - scheduler: compile fixes for FCGI - - sched/ - hr_info.cpp - html/inc/ - forum.inc - lib/ - util.cpp - filesys.cpp - -Rom 2 Aug 2012 - - SS: Update project files to use FreeType and FTGL on Windows. - - api/ - ttfont.cpp, .h - clientscr/ - ss_app.cpp - win_build/ - boinc_ss.vcproj - libgraphics2.vcproj - -Eric K 2 Aug 2012 - - scheduler, validator: Modified credit granting for "appox credit" - result to weight results by proximity to the average estimate. This - reduces the number of results that are granted extremely low credit - when a new app_version is released and (I hope) improves work/duration - estimates by speeding up the convergence of app versions stats. I may - try using this in lieu of low_average for normal result, but haven't yet. - -Charlie 3 Aug 2012 - - Sample Graphics app: Switch from *.txf fonts to TrueType fonts. - samples/ - example_app/ - MakeMacExample.sh - Makefile_mac - Makefile_mac2 - uc2_graphics.cpp - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - -Rom 3 Aug 2012 - - VBOX: Do not perform the hardware virtualization check when the - guest VM is 64-bit. 64-bit guest vms require hardware virtualization - and should fail without it. - - VBOX: Implement the directive in the vbox_job.xml file. - if init_data.xml is set, the wrapper will - copy the init_data.xml file to the shared directory before the VM is launched. - - samples/vboxwrapper/ - vbox.cpp - vboxwrapper.cpp - -David 3 Aug 2012 - - volunteer storage. Seems to be working, at least in simulation - - vda/ - vda_lib2.cpp - vda_lib.cpp,h - stats.cpp - ssim.cpp - vdad.cpp - -Rom 3 Aug 2012 - - WIN: Make the example graphics application build again. - - WIN: Get rid of the linker warnings for both the default screensaver and - the example graphics application - - win_build/ - boinc_ss.vcproj - uc2_graphics.vcproj - -David 3 Aug 2012 - - API: remove support for BMP and TGA image files; - the code to parse these had no license info. - Only JPEG is supported now. - - api/ - Makefile.am - bmplib.cpp,h (removed) - tgalib.cpp,h - gutil.cpp - -Charlie 3 Aug 2012 - - API: remove references to removed files bmplib.h and tgalib.h. - - api/ - gutil_text.cpp - -Charlie 3 Aug 2012 - - Mac: Update build instructions and build script. - - mac_build/ - HowToBuildBOINC_XCode.rtf - setupforBOINC.sh - -David 3 Aug 2012 - - Client: initial checkin for Android version. From Joachim Fritzsch. - - lib/ - common_defs.h - prefs.cpp,h - android_log.h (new) - network.cpp - shmem.h - hostinfo.h - str_util.cpp - synch.cpp - client/ - hostinfo_unix.cpp - client_msgs.cpp - cs_prefs.cpp - main.cpp - hostinfo_network.cpp - -David 3 Aug 2012 - - client: other Android stuff, from Joachim - - client/ - cs_platforms.cpp - lib/ - md5_file.cpp - -David 3 Aug 2012 - - scheduler: fix message typo - - sched/ - sched_send.cpp - -Rom 6 Aug 2012 - - WIN: Don't include the newer DBGHELP symbols in MinGW64. - (From Oliver Bock) - - lib/ - stackwalker_imports.h - -David 6 Aug 2012 - - client: fix error in runtime estimation for active tasks - - client/ - work_fetch.cpp - -Rom 7 Aug 2012 - - MGR: Enforce the 0..10 day limit on the connect interval for the - advanced preferences dialog. At some point we should rename - it. - - clientgui/ - DlgAdvPreferences.cpp - -Rom 7 Aug 2012 - - API: Remove ttfont.cpp from Makefile.am. Apps should include it - in there Makefile as needed. - - api/ - Makefile.am - -Rom 7 Aug 2012 - - WINSCR: Fix problem with the screensaver needlessly cycling in - preview mode. Ugh. - - clientscr/ - screensaver_win.cpp - -David 7 Aug 2012 - - client: parse in prefs - - server: compile fix - - lib/ - prefs.cpp - vda/ - vda.cpp - ssim.cpp - vdad.cpp - vda_lib2.cpp - -Charlie 7 Aug 2012 - - WIN: Remove reference to deleted tgalib.cpp file. - - win_build/ - libgraphics2.vcproj - -David 8 Aug 2012 - - server: volunteer storage bug fixes. - Note to self: jerasure's decoder program loops or crashs - if there are no missing chunks. - vda/ - vda_lib.cpp,h - vda.cpp - sched_vda.cpp - vda_lib2.cpp - db/ - boinc_db_types.h - -David 8 Aug 2012 - - Client/manager: there was a bug because some code was writing - "cpu" in XML, and other code was looking for "CPU". - To fix this and prevent similar problems, - processor type names are now encapsulated in proc_type_name_xml(). - Code should use this rather than having hard-wired names. - Redefine: GPU_TYPE_* as macros that call proc_type_name_xml(). - - client/ - client_types.cpp - client_state.cpp - clientgui/ - DlgItemProperties.cpp - sched/ - sched_version.cpp - lib/ - gui_rpc_client_ops.cpp - coproc.cpp,h - -Charlie 8 Aug 2012 - - MGR: Fix build break. - - clientgui/ - DlgItemProperties.cpp - -Eric K 8 Aug 2012 - - LIB: Added conditional printf to the message log class, since most - scheduler log output seems to be conditional on config parameters - such as config.debug_version_select. - - lib/ - msg_log.{h.cpp} - -Eric K 8 Aug 2012 - - Credit is more stable when pegged_avg() is used. - - When a normal and an approx result are compared the normal result - now gets double weight in a pegged_avg() with any approx results. - "Normal mode" GPU results are frequently resulting in bad credit - values for yet undetermined reasons. Since GPUs are so fast, there - can be a lot of bad values in a short time. Including the prior - average and another result even seems to prevent this in many case. - - Replaced many of the if { msg_log.printf } with msg_log.cond_printf() - - Accidentally changed some of the formatting when trying a new editor - that apparently autoformats. Sorry for the extra diff lines. - - There's a problem with pfc calculation for hosts whose credit - calculation fails the sanity check. This has been a problem for - a long time. Because the result fails the sanity check, the - host_app_version pfc is never updated. Because hav.pfc is never - updated, the credit calculation continues to be wrong. - - This change is subject to review. Use with caution. - - sched/ - credit.cpp - -David 10 Aug 2012 - - client: when we're making a scheduler RPC - for a reason other than work fetch, - and we're deciding whether to piggyback a work request, - skip the checks for hysteresis (buffer < min) - and for per-resource backoff time. - These checks are there only to limit the rate of RPCs, - which is not relevant since we're doing one any. - - This fixes a bug where a project w/ sporadic jobs specifies - a next_rpc_delay to ensure regular polling from clients. - When these polls occur they should request work regardless of backoff. - - client/ - work_fetch.cpp,h - -David 10 Aug 2012 - - client: tweak to the above: never ask for work if buffer > max. - This is needed to prevent projects that use next_rpc_delay - from queuing unbounded work. - - client/ - work_fetch.cpp - -David 10 Aug 2012 - - API: add boinc_set_min_checkpoint_period(int). - Lets application specify a min checkpoint interval. - The actual min checkpoint interval is the max of this - and the user-specified pref for min disk interval. - - api/ - boinc_api.cpp,h - -David 10 Aug 2012 - - server: fix bug in restrict_wu_to_user() that caused it - to go into infinite loop - - sched/ - sched_util.cpp - -David 10 Aug 2012 - - client: Android-related tweaks, from Joachim - - client/ - main.cpp - lib/ - synch.cpp - android_log.h - -David 10 Aug 2012 - - lib: switch include order to the way it was (general to specific). - Should fix MinGW compile - - lib/ - *.cpp - -David 10 Aug 2012 - - server: compile fix - - lib/ - synch.cpp - -David 11 Aug 2012 - - db_purge: fix typo that cause bad DB query when using assignments - - sched/ - db_purge.cpp - vda/ - vda.cpp - vda_lib.cpp,h - vda_lib2.cpp - vda_policy.cpp - ssim.cpp - -David 13 Aug 2012 - - client: treat all 4xx HTTP errors as permanent - - code cleanup - - API: increase a buffer in timer_handler() from 256 to 512. - - sched/ - credit.cpp - lib/ - msg_log.cpp,h - client/ - http_curl.cpp - api/ - boinc_api.cpp - -Rom 13 Aug 2012 - - WINSETUP: Provide the ability to create the acct_mgr_login.xml from - from the command line. Useful for mass deployments within companies - and charities. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - boinccas95.def - boinccas95.vcproj - CACreateAcctMgrLoginFile.cpp, .h - CACreateProjectInitFile.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 13 Aug 2012 - - volunteer storage stuff - - vda/ - vda_lib.cpp,h - ssim.cpp - sched_vda.cpp - vda_lib2.cpp - client/ - client_types.h - lib/ - common_defs.h - -Charlie 14 Aug 2012 - - Mac installer: Fixes for short (posix) user names containing spaces. - - mac_installer/ - PostInstall.cpp - release_boinc.sh - Uninstall.cpp - -David 15 Aug 2012 - - file upload handler: add an #ifdef for disabling locking of files - while writing to them. - It's not clear to me that this locking is beneficial, - and it may be causing filesystem problems at WCG - - volunteer storage stuff - - vda/ - vda_lib.cpp,h - vda.cpp - ssim.cpp - vdad.cpp - vda_lib2.cpp - db/ - boinc_db_types.h - boinc_db.cpp - schema_vda.sql - sched/ - file_upload_handler.cpp - -David 16 Aug 2012 - - scheduler: if sending GPU description to pre-7.0 client, - call it CUDA instead of NVIDIA - - sched/ - sched_types.cpp - db/ - boinc_db.cpp - vda/ - vda.cpp - sched_vda.cpp - vda_lib2.cpp - -David 17 Aug 2012 - - volunteer storage: various - - vda/ - vda.cpp - vdad.cpp - sched_vda.cpp - vda_lib2.cpp - vda_lib.h - -David 18 Aug 2012 - - client: if a project has excluded GPUs of a given type, - allow it to fetch work of that type if the # of runnable - jobs it <= the # of non-excluded instances (rather than 0). - - client/ - work_fetch.cpp,h - rr_sim.cpp - -David 18 Aug 2012 - - file upload handler: - Do first read from socket before opening the disk file - (an attempt to fix filesystem lockups on WCG). - Increase buffer size from 16KB to 256KB. - - sched/ - file_upload_handler.cpp - -Charlie 20 Aug 2012 - - client: If OpenCL detection gets an error for a platform or device, - finish detection of the remaining platforms and / or devices. - Move OpenCL memory size workaround back into OpenCL source file. - - client/ - gpu_opencl.cpp - gpu_amd.cpp - lib/ - coproc.h - -David 20 Aug 2012 - - client: print log msgs (enabled by task_debug) if the client - times out on quitting or aborting a task, and has to kill it. - - volunteer storage: bug fixes - - vda/ - sched_vda.cpp - vda_lib2.cpp - client/ - app_control.cpp - -David 20 Aug 2012 - - client: take GPU exclusions into account when making - initial work request to a project - - client: put some casts to double in NVIDIA detect code. - Shouldn't make any difference. - - volunteer storage: truncate file to right size after retrieval - - client/ - work_fetch.cpp,h - gpu_nvidia.cpp - scheduler_op.cpp - vda/ - vdad.cpp - vda_lib2.dpp - -David 21 Aug 2012 - - client: change the way project disk share is computed. - - Allow projects to report "desired disk usage" (DDU). - If the client learns that a project wants disk space, - it can shrink the allocation to other projects. - - Base share computation on DDU rather than disk usage. - - Introduce the notion of "disk resource share". - This is defined (somewhat arbitrarily) as resource share - plus 1/10 of the largest resource share. - This is intended to ensure that even zero-share projects - get enough disk space to store app versions and data files; - otherwise they wouldn't be able to compute. - - server: use host.d_boinc_max (which wasn't being used) - to start d_project_share reported by client. - - volunteer storage: change the way hosts are allocated to chunks. - Allow hosts to store several chunks of the same file, if needed - - vda/ - vda_lib2.cpp - vda_lib.h - client/ - project.cpp,h - client_state.h - cs_prefs.cpp - scheduler_op.cpp - db/ - boinc_db_types.h - sched/ - sched_types.h - -David 22 Aug 2012 - - file_upload_handler: bug fix - - volunteer storage: bug fixes - - vda/ - vda_lib2.cpp - vda_lib.h - sched/ - file_upload_handler.cpp - -Rom 22 Aug 2012 - - client: streamline the console detach process under Windows. - - client/ - cs_cmdline.cpp - main.cpp - -Eric K 23 Aug 2012 - - build environment: fixed bug in generate_svn_version.sh that generated - incorrect output on unix systems that don't synchronize writes to the - same file from opposite sides of a pipe. - / - generate_svn_version.sh - -David 24 Aug 2012 - - volunteer storage: fix the way that hosts are classified as alive/dead - - add a config item vda_host_timeout. - A host that hasn't done a scheduler RPC for this long - is considered dead. - - a host that's not running a version 7+ client is considered dead - - host.cpu_efficiency (an otherwise unused field) is used - as a flag for dead hosts - - the scheduler clears the flag if the client is v7+ - - vdad sets the flag for hosts where last RPC is old - - before choosing a host for chunk download, - vdad checks its client version. - - db/ - boinc_db_types.h - vda/ - vda_lib.cpp,h - vda_lib2.cpp - vdad.cpp - sched_vda.cpp - sched/ - sched_config.cpp,h - -David 24 Aug 2012 - - server: add support for having a mixture of CPU-intensive - and non-CPU-intensive applications. - An app can be specified as non-CPU-intensive in project.xml, - and this attribute can be set or cleared using the admin web interface. - Note: support for this was added to the client in 2011, - but we didn't add server-side support at that time. - This change is in 6.12 and later clients. - - py/Boinc/ - database.py - vda/ - vda_lib.cpp,h - db/ - boinc_db_types.h - boinc_db.cpp - db/ - schema.sql - sched/ - sched_types.cpp - html/ops/ - db_update.php - manage_apps.php - -David 26 Aug 2012 - - server: compile fix - - server: add nfiles_on_host(), - a support function for "locality scheduling lite". - - vda/ - vda_lib.h - sched_vda.cpp - client/ - client_state.cpp - sched/ - sched_send.cpp - -David 27 Aug 2012 - - scheduler: add support for limited locality scheduling - - API: remove support for PPM files - - api/ - gutil.cpp - db/ - boinc_db_types.h - boinc_db.cpp - schema.sql - sched/ - sched_shmem.cpp - sched_array.cpp - sched_send.cpp,h - sched_types.cpp,h - sched_shmem.h - html/ops/ - db_update.php - -David 28 Aug 2012 - - scheduler: improved log messages for limited locality scheduling - - sched/ - sched_send.cpp - transitioner.cpp - sched_shmem.h - sched_array.cpp - lib/ - str_util.cpp - -David 29 Aug 2012 - - scheduler: msg tweaks - - sched/ - sched_send.cpp - sched_array.cpp - handle_request.cpp - -David 30 Aug 2012 - - remote job submission: start writing a general-purpose - cmdline tool for remote job submission (not done) - - remote job submission: support the 4 file modes described - in the documentation (not done) - - html/inc/ - submit.inc - vda/ - sched_vda.cpp - sched/ - sched_send.cpp - sched_array.cpp - tools/ - remote_submit (new) - -David 30 Aug 2012 - - scheduler: support for projects with some non-CPU-intensive apps - (but not all) wasn't finished. - New logic: if the project has an NCI app then: - - make a list of NCI apps for which the client doesn't have - a job in progress. - - try to send one job for each of these apps - - do this even if no work is being requested. - - don't send jobs for NCI apps by other mechanisms - - NOTE: the client logic isn't quite right for mixed NCI projects. - If there's no job for a given NCI app, - the client should do a scheduler RPC. - This isn't critical so we won't do this now. - - db/ - boinc_db_types.h - sched/ - handle_request.cpp - sched_array.cpp,h - sched_shmem.cpp,h - sched_customize.cpp - sched_send.cpp - tools/ - tt_boinc - -David 2 Sept 2012 - - client: fix bug that broke file signing with X.509 certificates. - From matszpk. Fixes #1168. - - lib/ - filesys.cpp,h - crypt.cpp - client/ - cs_files.cpp - -David 5 Sept 2012 - - admin web: improve script for browsing credit info - - client: add a coproc-missing message - - html/ops/ - credit.php - client/ - client_types.cpp - sched/ - sched_customize.cpp - -David 6 Sept 2012 - - admin web: credit browser tweaks - - html/ - user/ - lammps.php - ops/ - credit.php - sched/ - file_deleter.cpp - -David 6 Sept 2012 - - scheduler: fix bug in homogeneous app version. - We were using a static BEST_APP_VERSION in - check_homogeneous_app_version(), - and it wasn't being initialized on each call - (e.g. its HOST_USAGE was not being cleared). - - sched/ - sched_version.cpp - file_deleter.cpp - -David 6 Sept 2012 - - scheduler: fix sending of NCI jobs. - We were failing to mark the cache entries as free. - - API: initialize GPU device # to -1; - If client doesn't give us a device number, something is wrong - and it's better to not start computing. - - sched/ - sched_array.cpp - sched_send.cpp - lib/ - app_ipc.cpp - -David 7 Sept 2012 - - scheduler: more detailed msgs for NCI job sending - - sched/ - sched_array.cpp - -Charlie 8 Sep 2012 - - client: work around a nasty bug which crashes OSX (!) on some - dual-gpu MacBooks with CUDA installed if we call cuInit() - unless we force use of the discrete (NVIDIA) GPU. - - client/ - gpu_opencl.cpp - -Rom 10 Sept 2012 - - client: initialize memfree and memtotal before use for Nvidia - cards. It appears that the Nvidia API was only setting 32-bits - of the 64-bit value. The remaining 32-bits were whatever - was on the stack. - - client/ - gpu_nvidia.cpp - -Eric K 10 Sept 2012 - - sched: fixed bug in plan_class_spec.cpp the resulting in GPU performance - not being included in scheduler or credit calculations. - - sched/ - plan_class_spec.cpp - -Charlie 12 Sep 2012 - - client: Don't support CUDA on dual-GPU MacBooks with automatic - GPU switching but continue to support OpenCL for NVIDIA GPUs. - This prevents forcing use of the discrete (NVIDIA) GPU, which - greatly decreases time the computer can run on battery power. - - client/ - hostinfo_unix.cpp - gpu_nvidia.cpp - gpu_opencl.cpp - lib/ - hostinfo.h - -David 12 Sept 2012 - - user web: fix bug when do forum search on Google - - html/user/ - forum_search_action.php - -David 13 Sept 2012 - - scheduler: fix logic error limited locality scheduling. - In LLS array pass, skip file-on-host check if host - doesn't have any sticky files. - TODO: it should actually be "any sticky files for this app". - But we currently don't have any way to know that. - - sched/ - sched_array.cpp - -Rom 13 Sept 2012 - - client: Initialize the total mem size_t. - - client/ - gpu_nvidia.cpp - -David 16 Sept 2012 - - client: enforce excluded app at startup - - win compile fix - - client/ - app.cpp - lib/ - filesys.h - -David 19 Sept 2012 - - scheduler: fix bug that cause NCI to be sent even when - client is not requesting work - - client: parse the option in cc_config.xml - - html/inc/ - util.inc - client/ - log_flags.cpp - sched/ - sched_send.cpp - -David 19 Sept 2012 - - Client/manager: if a GPU app is suspended because a GPU-exclusive - app is running, show an appropriate message. - - clientgui/ - sg_TaskPanel.cpp - MainDOcument.cpp - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 19 Sept 2012 - - client: message tweak - client/ - app.cpp - cs_prefs.cpp - -David 20 Sept 2012 - - client simulator compile fix - clientgui/ - MainDocument.cpp - client/ - makefile_sim - -David 20 Sept 2012 - - cancel_jobs tool: add --name option to cancel job by name. - From David Coss. - - tools/ - backend_lib.cpp,h - cancel_jobs.cpp - -David 20 Sept 2012 - - A bunch of tweaks from Steffen Moller, e.g. using MAXPATHLEN - - various files - -Charlie 21 Sep 2012 - - Mac: Fix build breaks introduced by above changes; path_to_error - arg is modified by CheckNestedDirectories() so can't be const. - - client/ - check_security.cpp - -David 21 Sept 2012 - - client: MAXPATHLEN tweak - - client/ - app.cpp - -David 21 Sept 2012 - - Manager: fix "exclusive GPU app running" message logic. - - clientgui/ - MainDocument.cpp - -David 22 Sept 2012 - - Unix startup script fixes, from Andrew Stevenson - - client/ - cs_statefile.cpp - script/ - boinc-client.in - -David 23 Sept 2012 - - web: add global prefs reset button - - change default disk prefs to: - - no absolute limit on disk usage (we need to work with future disks) - - keep 100 MB min free space - - use up to 90% of total space - - html/ - user/ - prefs_default.php (new) - prefs.php - inc/ - prefs.inc - lib/ - prefs.cpp - -Eric K 24 Sept 2012 (Date committed to git repository) - - sched: 2 bug fixes in credit.cpp - - It was possible if all results for a workunit were PFC_MODE_INVALID - that NaN pfc would be used causing database update errors. Solved - by using wu_estimated_pfc() as pfc in that case. - - Sanity check was comparing raw_pfc directly to rsc_fpops_bound. That - was causing problems GPUs with high performance estimates. Fixed by - including the app_version scale factor in the check. I thought I had - already committed this... - - Removed a few lines of commented out experimental code accidentally - comitted earlier. - - sched/ - credit.cpp - -David 30 Sept 2012 - - API: if get a resume message from client while in a critical section, - clear the suspend_request flag. - Otherwise we'll end up doing two suspends, - and on Win the app will be suspended forever. - - api/ - boinc_api.cpp - -David 10 Oct 2012 - - tweaks - - samples/nvopencl/ - nvopencl.cpp - vda/ - sched_vda.cpp - vda_lib2.cpp - -David 11 Oct 2012 - - client and API: improve the way an app checks for the death of the client - Old: heartbeat mechanism - Problem: if the client is blocked for > 30 secs - (e.g. because it takes a long time to write the state file, - of because it's stopped in a debugger) - then apps exit. - This is bad is the app doesn't checkpoint and has been - running for a long time. - New: the client passes its PID to the app. - The app periodically (10 sec) checks that the process still exists. - Notes: - - For backward compatibility (e.g. new API w/ old client, - or vice versa) the client still sends heartbeats, - and the API checks heartbeats if the client doesn't pass a PID. - - The new mechanism works only if the client's PID isn't assigned - to a new process within 10 secs of the client exiting. - Windows 2000 reuses PIDs immediately, so check for Win2K - and don't use this mechanism if so. - - TODO: For Unix multithread apps, - critical sections aren't currently being enforced. - Need to fix this by masking signals. - - api/ - boinc_api.cpp - client/ - hostinfo_win.cpp - app_start.cpp - lib/ - app_ipc.cpp,h - proc_control.cpp - -David 11 Oct 2012 - - Win compile fixes. - For now, include psapi.lib in various project properties. - Try to figure out a different way. - - api/ - boinc_api.cpp - client/ - app_start.cpp - lib/ - boinc_win.h - win_build/ - various .proj files - -David 15 Oct 2012 - - user web: show the right page/message after the following actions: - - rate a post - - moderate a post - - edit a post - - report a post - - sched/ - validator.cpp - tools/ - update_versions - html/user/ - forum_rate.php - forum_report_post.php - forum_moderate_post_action.php - forum_edit.php - -Charlie 15 Oct 2012 - - MGR: We don't save Simple View's width & height since it's - window is not resizable, so don't try to read them back. - - clientgui/ - BOINCGUIApp.cpp - -David 16 Oct 2012 - - scheduler: when adding a new HOST_APP_VERSION, check if there's already - one for that (host, app, platform, plan class). - If there is, use it and update the app version ID. - This way, when a new app version is released, - it will use the runtime and reliability statistics - of the previous one, instead of starting from scratch. - - add a script "stage_file" for staging an input file. - This checks for immutability violations, - moves or copies the file to the download hierarchy, - computes and stores its MD5, and makes a gzipped version if needed. - - add some files missing from git repo - - tools/ - dbcheck_files_exist - grep_logs - stage_file (new) - sched/ - credit.cpp - -Charlie 17 Oct 2012 - - MGR: Add Control-Shift_E shortcut (Command-Shift-E on Mac) to show Event - Log in Simple View, for the convenience of tech suppport volunteers. - - clientgui/ - sg_BoincSimpleFrame.cpp,.h - -David 17 Oct 2012 - - scheduler: debug the above - - add some files missing from git repo - - py/Boinc/ - boinc_db.py - configxml.py - sched_messages.py - util.py - sched/ - credit.cpp - validator.cpp - -David 17 Oct 2012 - - client: maintain current and previous uptime, - and include them in scheduler RPC request. - - scheduler: parse them - Note: this is to support a future feature where the scheduler will - send non-checkpointing jobs only clients likely to be able - to complete them. - - client/ - client_state.cpp,h - cs_scheduler.cpp - cs_statefile.cpp - lib/ - gui_rpc_client_ops.cpp - sched/ - sched_types.cpp,h - -David 17 Oct 2012 - - web: add "Validation inconclusive" state for task lists - - html/inc/ - result.inc - -David 17 Oct 2012 - - tweaks - - client/ - async_file.cpp - lib/ - filesys.cpp,h - samples/atiopencl/ - atiopencl.cpp - -David 17 Oct 2012 - - web: if showing a thread in oldest-first order, - default to showing the last page of posts. - - html/inc/ - forum.inc - -Charlie 18 Oct 2012 - - MGR: Fix bug which can cause Manager to quit when started in Simple View. - - lib: fix unmatched parentheses which confused source file editor. - - clientgui/ - sg_TaskPanel.cpp - lib/ - gui_rpc_client_ops.cpp - -Charlie 18 Oct 2012 - - lib: don't clear entire APP_VERSION struct in APP_VERSION::parse_coproc(). - - lib/ - gui_rpc_client_ops.cpp - -Rom 19 Oct 2012 - - Add missing references to psapi.lib for various build configurations. - - win_build\ - boinc_ss.vcproj - example_app_multi_thread.vcproj - sleeper.vcproj - uc2.vcproj - uc2_graphics.vcproj - vboxwrapper.vcproj - wrapper.vcproj - -David 19 Oct 2012 - - client: change work fetch policy to avoid starving GPUs - in situations where GPU exclusions are used. - - client: fix bug in round-robin simulation when GPU exclusions are used. - - Note: this fixes a major problem (starvation) - with project-level GPU exclusion. - However, project-level GPU exclusion interferes with most of - the client's scheduling policies. - E.g., round-robin simulation doesn't take GPU exclusion into account, - and the resulting completion estimates and device shortfalls - can be wrong by an order of magnitude. - - Furthermore, this fix only works for project-level exclusions. - If you use app-level exclusions, starvation is still possible. - - The only way I can see to fix this would be to model each - GPU instance as a separate resource, - and to associate each job with a particular GPU instance. - This would be a sweeping change in both client and server. - - client/ - log_flags.cpp - project.cpp,h - rr_sim.cpp - work_fetch.cpp,h - lib/ - coproc.h - -David 21 Oct 2012 - - remote job submission tweak - - html/user/ - submit_rpc_handler.php - -Rom 22 Oct 2012 - - SCR: Fix bug in X11 screensaver. - (From Michael Tughan) - - clientscr/ - screensaver_x11.cpp - -Rom 23 Oct 2012 - - SCR: Fix bug in X11 screensaver. - (From David Coss) - - clientscr/ - screensaver_x11.cpp - -Rom 24 Oct 2012 - - API: Remove the call to SendMessage(WM_QUIT, ...) after destroying the window. - There is no guarantee what order the event queue will be processed in and if - WM_QUIT is processed before WM_DESTROY something might linger around. - - api/ - graphics2_win.cpp - -David 23 Oct 2012 - - server: add stage_file to project setup; add error checking to stage_file - - py/Boinc/ - setup_project.py - tools/ - create_work_example - stage_file - -David 24 Oct 2012 - - client: if an app's finish file has existed for 10 seconds, kill it; - it must be hung in boinc_finish(). - This behavior has been seen with LHC@home and maybe other projects. - - client/ - app.cpp,h - cpp_control.cpp - -Rom 24 Oct 2012 - - Fix the db schema check functionality so that it will work with make_project - and upgrade correctly. We no longer rely on svnversion for this sort of - thing. - - db\ - init_db - html\ops\ - db_schemaversion.php - tools\ - make_project - upgrade - -David 24 Oct 2012 - - db_update.php is not executable, db_schemaversion.php is - NOTE: I suggest that we not use .php for executable scripts - - html/ops/ - db_update.php - -Rom 25 Oct 2012 - - API: Use CloseWindow() to respond to the API Defined WM_SHUTDOWNGFX event just - in case CloseWindow() does something more than just send the WM_CLOSE event - to the window proc. - - api/ - graphics2_win.cpp - -Rom 26 Oct 2012 - - WINSETUP: Add the account manager auth logic from the 6.8 installer to current - generation installers. - - WINSETUP: Make whether or not to create start menu items configurable via the - command line. Useful for mass deployment installs. - - win_build\installerv2\ - BOINC.ism - BOINCx64.ism - -Rom 27 Oct 2012 - - VBOX: Change the way elapsed_time is calculated in vboxwrapper. - - Previously: elapsed_time was just incremented with the value of the polling - period each iteraction through the main loop. This introduced issues - when vboxmanage lagged for whatever reason. This lag could go as high as 5 - seconds. Over the timespan of a day this could increase the wall clock time - of a task a great deal. - - Now: elapsed_time is incremented with the time it took to execute the main - loop. - - samples\vboxwrapper\ - vboxwrapper.cpp - -Rom 27 Oct 2012 - - VBOX: Increase elapsed_time if we were forced to sleep after executing the main loop - - samples\vboxwrapper\ - vboxwrapper.cpp - -Rom 28 Oct 2012 - - VBOX: Remove timeouts for creating and deleting snapshots. - - samples\vboxwrapper\ - vbox.cpp, .h - -David 28 Oct 2012 - - client: fix bug in handling proxy info in cc_config.file - - client/ - log_flags.cpp - -David 28 Oct 2012 - - client: if exiting because of exit_after_finished flag, - write state file before exiting so we don't restart the job later. - - client/ - app.cpp - app_control.cpp - -David 28 Oct 2012 - - client, Unix: make Curl sockets close-on-exec, - so that app processes don't inherit them. - - client: fix bug that makes client exit if a slot dir contains - finish file on startup - - client/ - app_control.cpp - http_curl.cpp - -David 28 Oct 2012 - - update_versions: get key directory from config file - - tools/ - update_versions - -David 29 Oct 2012 - - GUI RPC: expose TIME_STATS info (e.g. on_frac) in - the binding of the get_state() RPC - - client: move client_start_time and previous_uptime - from CLIENT_STATE to TIME_STATS, - so that these are also visible in GUI RPC - - scheduler RPC: move uptime and previous_uptime - into - - client: condition an RR simulation message on - - boinccmd: show TIME_STATS info in --get_state - - client/ - client_state.cpp,h - cs_prefs.cpp - cs_scheduler.cpp - cs_statefile.cpp - rr_sim.cpp - time_stats.cpp,h - lib/ - common_defs.h - gui_rpc_client.h - gui_rpc_client_ops.cpp - gui_rpc_client_print.cpp - -David 31 Oct 2012 - - wrapper: compile fix for new gcc - - samples/wrapper/ - wrapper.cpp - -Rom 31 Oct 2012 - - VBOX: Don't report any error messages when unregistering the VM. - - VirtualBox 4.2 no longer requires certain commands to be executed - to unregister a VM while older versions do. Just ignore any error - codes, if it becomes a problem we can always make it conditional - on what version of VirtualBox is installed. - - samples\vboxwrapper\ - vbox.cpp - -Eric K 31 Oct 2012 - - wrapper: Fix for likely compile problems due to including new header in - previous wrapper.cpp without checking for their existence. The macros - required already existed in config.h. - - samples/wrapper/ - wrapper.cpp - -Rom 31 Oct 2012 - - VBOX: Make deleting a snapshot a non-terminal event. - - Deleting stale snapshots now consists of enumerating the existing - snapshots and deleting all but the most recent snapshot. This fixes - the problem where, for one reason or another, a snapshot could not - be deleted at one point in time. The wrapper would just continue to - create new ones and was unable to successfully deal with the older - ones. Disk space would eventually run out. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - -David 31 Oct 2012 - - client: message tweaks for failed app startup - - client/ - app_start.cpp - client_state.cpp - -David 31 Oct 2012 - - Fix MinGW build: generate_svn_version.sh only works on top level - (from Bernd) - - lib/ - Makefile.mingw - -Rom 31 Oct 2012 - - VBOX: Remove extra arguments to the enumerate snapshot command. - - Copy and paste was not my friend. - - samples\vboxwrapper\ - vbox.cpp - -Rom 31 Oct 2012 - - VBOX: Cleanup all the snapshots before unregistering the VM. - - samples\vboxwrapper\ - vbox.cpp, .h - -Rom 1 Nov 2012 - - VBOX: Make adjustments to the clean-up procedure for Vbox 4.2. - - samples\vboxwrapper\ - vbox.cpp, .h - -David 1 Nov 2012 - - client/manager: move the conditional define of MAXPATHLEN - from boinc_win.h to filesys.h, - so that the client will hopefully build on Hurd, - which doesn't define MAXPATHLEN. - - client/ - http_curl.cpp - lib/ - boinc_win.h - common_defs.h - filesys.h - gui_rpc_client.h - -David 1 Nov 2012 - - fix a few unlikely but possible file-descriptor leaks (from RustyBSD) - - remote job submission: always compute fraction done when showing - batch list; check for nonexistent user - - client/ - cs_scheduler.cpp - html/user/ - submit.php - lib/ - cert_sig.cpp - mem_usage.cpp - sched/ - sched_timezone.cpp - -David 1 Nov 2012 - - client: in checking reasons for not requesting work, - look at backoff last. - Otherwise the user can get a misleading message if they - update a project that's backed off - - client/ - work_fetch.cpp - client/ - work_fetch.cpp - -Eric 1 Nov 2012 - - Found another missing file - - m4/ - ax_lang_compiler_ms.m4 - -Eric 1 Nov 2012 - - Allow sysconfdir to be specified rather than hardcoded at '$prefix/etc' - (submitted by Alexander Kruppa) - - Fix for compiles on os without xlocale.h - - configure.ac - client/ - scripts/ - Makefile.am - -Eric 1 Nov 2012 - - First fixes for out-of-source-tree configure and compile - - samples/example_app will no longer build by default. To build - person compile must run make in the example_app directory in-source-tree. - Thats because the Makefile is not and should not be generated by automake. - - Makefile.am - Makefile.incl - m4/ - sah_header_stdcxx.m4 - sah_largefile_breaks_cxx.m4 - sah_links.m4 - -David 2 Nov 2012 - - example app: get the graphics app to build on Fedora Core 14 - Note: this required installing various packages, - and tweaking the Makefile in various ways, - some of them FC14-specific ways - - html/ops/ - upgrade_db.php - samples/example_app/ - Makefile - uc2_graphics.cpp - sched/ - sched_send.cpp - tools/ - upgrade - -Rom 4 Nov 2012 - - VBOX: Do not count the sleep time as part of the elapsed time when - the VM is supposed to be suspended. - - samples\vboxwrapper\ - vboxwrapper.cpp - -Rom 5 Nov 2012 - - VBOX: Ugh, if sleep_time is greater than zero, increment elapsed_time by - the poll interval. - - samples\vboxwrapper\ - vboxwrapper.cpp - -David 7 Nov 2012 - - remote job submission: show 20 batches, with link to show all - - XML parser: make low-level functions inline, in an attempt - (unsuccessful, as far as I can tell) to boost performance - - html/user/ - submit.php - lib/ - cc_config.h - parse.cpp,h - proxy_info.h - sched/ - sched_main.cpp - -David 7 Nov 2012 - - scheduler: add separate log flag for locality sched lite - sched/ - sched_config.cpp,h - sched_array.cpp - - remote job submission: show 20 batches, with link to show all - -David 7 Nov 2012 - - scheduler: log message tweaks - - Some C++ files in clientgui/ had execute permissions (??). Clear them. - - sched/ - sched_array.cpp - sched_send.cpp - -David 7 Nov 2012 - - a bunch of skin files had execute permissions (??). Clear them. - - clientgui/skins/Charity Engine/graphic/* - -David 7 Nov 2012 - - scheduler: when resend jobs: - - don't use devices for which work is not being requested - - obey wu_is_infeasible_custom() - (e.g. don't send SETI@home VLAR jobs to GPUs) - - scheduler: add log flag for slot-level messages - - admin web: show and allow control of app.beta - - html/ops/ - manage_apps.php - sched/ - sched_array.cpp - sched_config.cpp,h - sched_resend.cpp - -David 8 Nov 2012 - - remove execute permissions from various files that shouldn't have them - -David 8 Nov 2012 - - add slide-show screensaver (from David Coss) - - samples/example_app/ - Makefile - slide_show.cpp (new) - -David 8 Nov 2012 - - user web: fix bug when showing last page of thread - - html/inc - forum.inc - -David 8 Nov 2012 - - scheduler: remove redundant call to wu_is_infeasible_custom() - introduced in yesterday's commit - - sched/ - sched_resend.cpp - -David 8 Nov 2012 - - scheduler: compile fix for wu_is_infeasible_custom() - sched/ - sched_customize.cpp - -Charlie 9 Nov 2012 - - Mac: update Xcode project for building boinc_zip. - - zip/ - boinc_zip.xcodeproj/ - project.pbxproj - -Charlie 9 Nov 2012 - - Mac: add slide-show screensaver to example_app Xcode project - and Mac example_app build scripts. - - example app: fix compiler warnings in slide_show.cpp. - - samples/ - example_app/ - MakeMacExample.sh - Makefile_mac - Makefile_mac2 - slide_show.cpp - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - -David 10 Nov 2012 - - fix typo in mass email script - html/ops/ - mass_email.php - -David 11 Nov 2012 - - remove job submission: fix SQL typo and error messages. - From Niclas Lockner. - - html/user/ - submit_rpc_handler.php - tools/ - manage_privileges - -David 12 Nov 2012 - - client: Win build fix - - add Visual Studio project for slide_show - NOTE: this currently doesn't build because boinc_zip is missing. - I'll fix this soon. - win_build/ - slide_show.vcproj - boinc.sln - client/ - client_types.h - -David 13 Nov 2012 - - client: fix bug where, when updating a project, we fail to request work - even though higher-priority projects are marked as no-new-tasks - or are otherwise ineligible for work fetch. - - client/ - cs_scheduler.cpp - work_fetch.cpp - -David 13 Nov 2012 - - build fixes for OpenBSD, from rustyBSD - - configure.ac - client/ - hostinfo_unix.cpp - -David 13 Nov 2012 - - web: update .pot file for project web site translations - - locale/templates/ - BOINC-Project-Generic.pot - -David 14 Nov 2012 - - client: TIME_STATS fields go in part of state file - - scheduler: parse TIME_STATS fields (e.g., uptime) - - admin web: small fix for manage_apps.php - - client/ - cs_statefile.cpp - time_stats.cpp - db/ - boinc_db_types.h - html/ops/ - manage_apps.php - sched/ - handle_request.cpp - sched_types.cpp - -Rom 14 Nov 2012 - - WIN: Introduce updated project files for the boinc_zip library used - by the slide_show project. - - WIN: Adjust the slide_show project so that it will build both 32-bit - and 64-bit versions and use the boinc_zip library. - - win_build\ - boinc.sln - slide_show.vcproj - libboincopencl_staticcrt.vcproj - libboinczip_staticcrt.vcproj (Added) - zip\ - boinc_zip.dsp (Deleted) - ziptest.dsp (Deleted) - ziptest.vcproj (Deleted) - boinc_zip.cpp - boinc_zip.vcproj (Deleted) - -Charlie 15 Nov 2012 - - boinc_zip: updated boinc_zip to use current info-zip source files - (info-zip 3.0 and info-unzip 6.0) and to build on Mac and Windows. - Added a vc project to build boinc_zip_test, not yet working. - Also update Makefile.am, but this has not been tested. - - zip/ - boinc_zip.cpp,.h - boinc_zip.xcodeproj/ - project.pbxproj - Makefile.am - test.cpp - zip/ - (many files) - unzip/ - (many files) - -David 15 Nov 2012 - - boinc_zip: fix Unix build - - zip/ - Makefile.am - zip/ - Makefile.am (add) - unix/ - unix.c -> z_unix.c - unzip/ - Makefile.am (add) - -Charlie 15 Nov 2012 - - boinc_zip: updated boinc_zip xCode project for unix.c -> z_unix.c. - - zip/ - boinc_zip.xcodeproj/ - project.pbxproj - -Rom 15 Nov 2012 - - ZIP: Use only one variant of the C Runtime Library - - ZIP: Remove test_boinczip from the default solution. - - win_build\ - boinc.sln - test_boinc_zip.vcproj - -Charlie 15 Nov 2012 - - boinc_zip: fixed boinc_zip and test_boinc_zip windows projects. - - win_build/ - boinc.sln - libboinczip_staticcrt.vcproj - test_boinc_zip.vcproj - -Charlie 16 Nov 2012 - - boinc_zip: minor cleanup of Xcode project. - - zip/ - boinc_zip.xcodeproj/ - project.pbxproj - -Rom 16 Nov 2012 - - ZIP: Add missing preprocessor symbols to the 64-bit build targets. - - win_build/ - libboinczip_staticcrt.vcproj - -Rom 16 Nov 2012 - - VBOX: Add the ability to specify both the type and model of disk - controller to use. It can be specified by adding the following - tags to vbox_job.xml: - - - - - Executing vboxmanage --help will list the available options in the - storeagectl section. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - -Charlie 16 Nov 2012 - - boinc_zip: Fix linker conflicts if zlib and boinc_zip are both used - in a project. - - win_build/ - boinc.sln - libboinczip_staticcrt.vcproj - test_boinc_zip_zlib_conflicts.vcproj (added) - zip/ - boinc_zip.xcodeproj/ - project.pbxproj - Makefile.am - testzlibconflict.cpp (added) - -David 18 Nov 2012 - - compile fix for FreeBSD - - lib/ - network.cpp - -David 19 Nov 2012 - - remove deprecated MAC address code - - lib/ - mac_address.cpp,h (removed) - -David 19 Nov 2012 - - client: if a project has 64 or more ready-to-report tasks, - report them. - 64 is chosen a bit arbitrarily, but the idea is to - limit the number of tasks reported per RPC, - and to accelerate the reporting of small tasks. - - client/ - client_state.h - cs_scheduler.cpp - project.h - -Charlie 19 Nov 2012 - - Mac: remove deleted files from Xcode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 19 Nov 2012 - - boinc_zip: Add teszlibconflict target to boinc_zip Xcode project. - - zip/ - boinc_zip.xcodeproj/ - project.pbxproj - -David 19 Nov 2012 - - wrapper: add source files for a regular expression library - (too be used soon) - - boinc_zip: add makefile for test program - samples/wrapper/ - regerror.c - regexp.c,h - regexp_custom.h - regexp_int.h - regexp_memory.c - regexp_report.c - regmagic.h - regsub.c - zip/ - makefile_test - -Charlie 20 Nov 2012 - - WIN: Fix Debug configuration which was corrupted. - - win_build\ - boinc.sln - -David 21 Nov 2012 - - wrapper: add feature for unzipping input files and zipping output files - - samples/wrapper/ - Makefile - job.xml - wrapper.cpp - -David 21 Nov 2012 - - Unix build: add configure option for minimal make output - - configure.ac - -David 22 Nov 2012 - - client: if a project is anonymous platform, - don't send list of alternate platforms in scheduler RPC. - - client/ - cs_platforms.cpp - -David 22 Nov 2012 - - scheduler: if primary platform is anonymous, ignore alternate platforms. - - sched/ - handle_request.cpp - -David 23 Nov 2012 - - client: fix uninitialized vars in CPU feature detection (from RustyBSD) - - client/ - hostinfo_unix.cpp - html/ - inc/ - submit.inc - user/ - sandbox.php - -David 25 Nov 2012 - - wrapper: compile fixes for Win - - samples/wrapper/ - regexp.c,h - -David 25 Nov 2012 - - scheduler: add extra check for not sending homogeneous app version - jobs to anonymous platform clients - - remote job submission: add DB table for keeping track of files - - db/ - schema.sql - contraints.sql - html/ - inc/ - submit_db.inc - ops/ - db_update.php - sched/ - sched_version.cpp - -David 26 Nov 2012 - - client: when reset a project, clear its scheduler URL list - (force a reload of the master page) - - client/ - app_start.cpp - client_state.cpp - html/inc/ - submit_db.inc - -David 26 Nov 2012 - - admin web: change revalidate function to revalidate - valid as well as invalid results - - html/ops/ - revalidate.php - -David 27 Nov 2012 - - server programs: allow config.xml to be a symlink - - lib/ - filesys.cpp,h - sched/ - sched_config.cpp - -Charlie 28 Nov 2012 - - Mgr: Fix Windows hangs and simplify code for notices display: - - Handle protocol-relative URLs which hung Manager on Windows. - RSS feeds and web pages may use protocol-relative (scheme- - relative) URLs, such as - Since the html comes from a web server via http, the scheme - is assumed to also be http. But we have cached the html in - a local file, so it is no longer associated with the http - protocol / scheme. Therefore all our URLs must explicity - specify the http protocol. - - The Manager would hang when trying to get data from web - servers if there was no Internet connection. This happened - on Windows only, not on Mac. (I don't have the hardware to - test on Linux, but I suspect it is OK as Mac uses UNIX.) I - fixed this by implementing asynchronous network I/O in - CBOINCHtmlListBox on Windows. - - Eliminate need for CBOINCVListBox class and greatly simplify - CBOINCHtmlListBox class. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp,.h - BOINCHtmlLBox.cpp,.h - BOINCInternetFSHandler.cpp,.h - BOINCVListBox.cpp,.h (removed) - Makefile.am - mac_build/ - boinc.xcodeproj/ - project.pbxproj - win_build/ - boincmgr.vcproj - -David 28 Nov 2012 - - client: add "client app configuration" feature; see - http://boinc.berkeley.edu/trac/wiki/ClientAppConfig - This lets users do the following: - 1) limit the number of concurrent jobs of a given app - (e.g. for WCG apps that are I/O-intensive) - 2) Specify the CPU and GPU usage parameters of GPU versions - of a given app. - Implementation notes: - - max app concurrency is enforced in 2 places: - 1) when building the initial job run list - 2) when enforcing the final job run list - Both are needed to avoid possible starvation. - - however, we don't enforce it during RR simulation. - Doing so could cause erroneous shortfall and work fetch. - This means, however, that work buffering will not work - as expected if you're using max concurrency. - - client/ - app_config.cpp,h (new) - Makefile - client_state.cpp - client_types.h - cpu_sched.cpp - file_names.h - project.h - result.h - -David 28 Nov 2012 - - client: add the above to VS project - - win_build/ - boinc_cli.vcproj - -David 28 Nov 2012 - - user web: don't show fraction done in list of batches. - It slows things down too much. - - html/user/ - submit.php - -David 28 Nov 2012 - - fix mysterious problems in Windows build - - win_build/ - boinc.sln - wrapper.vcproj - -David 28 Nov 2012 - - client: bug fixes for app config feature - - client/ - client_state.cpp - client_types.h - -Charlie 28 Nov 2012 - - client: add new files app_config.cpp,h to Xcode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 29 Nov 2012 - - client (Win) preallocate large files to avoid file fragmentation - when you write to them incrementally - (workaround for shoddy filesystem design) - - admin web: remove line that limited mass emails to 10 - client/ - async_file.cpp - file_xfer.cpp - gui_http.cpp - http_curl.cpp,h - scheduler_op.cpp - lib/ - filesys.cpp,h - html/ops/ - mass_email.php - -David 30 Nov 2012 - - server: fix create_forums.php - - html/ops/ - create_forums.php - -David 30 Nov 2012 - - lib: Win compile fix for boinc_allocate_file() - - lib/ - filesys.cpp - -Charlie 30 Nov 2012 - - Mgr: Fix some rare issues on Windows (including a possible memory - leak) when switching to a client on a different computer after - trying to display notices without an Internet connection. - - clientgui/ - BOINCHtmlLBox.cpp,.h - BOINCInternetFSHandler.cpp - NoticeListCtrl.cpp,.h - -David 30 Nov 2012 - - client: if is set, - don't check file existence at startup - - wrapper: open files in shared mode - so you can look at them while wrapper is running - - client/ - cs_files.cpp - lib/ - procinfo.cpp - samples/wrapper/ - wrapper.cpp - -David 30 Nov 2012 - - Mac installer: add missing pclose() (from RustyBSD) - - mac_installer/PostInstall.cpp - -David 30 Nov 2012 - - scheduler: use HOST_USAGE::uses_gpu() function where appropriate - - sched/ - sched_customize.cpp - -David 30 Nov 2012 - - scheduler: build fixes for FreeBSD. From RustyBSD. - - vda/ - sched_vda.cpp - vda_lib2.cpp - -David 2 Dec 2012 - - web: add hook for "science info" link in result lists (for CAS@home) - - html/inc/ - result.inc - util.inc - -Charlie 4 Dec 2012 - - OpenCL: Add a second API for boinc_get_opencl_ids() which is - compatible with older clients (before BOINC 7.0.12). - - api/ - boinc_opencl.cpp,h - -Rom 4 Dec 2012 - - VBOX: Add the ability to read a fraction done file from the shared - directory. Use the same semantics as the regular wrapper. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - -Charlie 5 Dec 2012 - - OpenCL: Add definition of GPU_TYPE_INTEL to match definitions of - GPU_TYPE_ATI and GPU_TYPE_NVIDIA. - - OpenCL: Change type argument of new boinc_get_opencl_ids() API from - char* to int; it now accepts PROC_TYPE_NVIDIA_GPU, PROC_TYPE_AMD_GPU - or PROC_TYPE_INTEL_GPU. - - api/ - boinc_opencl.cpp,h - lib/ - coproc.h - -Charlie 5 Dec 2012 - - OpenCL: First pass at adding support for Intel Ivy Bridge GPUs. - The following files still need updating: - ProjectInfoPage.cpp,.h, ProjectListCtrl.cpp,.h - client/ - acct_mgr.cpp - client_state.cpp - cpu_sched.cpp - cs_account.cpp - cs_scheduler.cpp - cs_statefile.cpp - gpu_detect.cpp,.h - gpu_opencl.cpp - log_flags.cpp - project.cpp - scheduler_op.cpp - clientgui/ - AdvancedFrame.cpp - AsyncRPC.cpp - BOINCTaskBar.cpp - DlgItemProperties.cpp - lib/ - cc_config.cpp,.h - coproc.cpp,.h - gui_rpc_client.h - gui_rpc_client_ops.cpp - -David 7 Dec 2012 - - lib: add size info to messages when realloc() fails in MFILE - lib/ - mfile.cpp - -Rom 5 Dec 2012 - - MGR: Fix two potential security issues with browser.cpp where the - query to the cookie database could have been abused. At present - neither of the two parameters originate as user input so using it - as an attack vector isn't very high. Prevent the functions from - being exploited in the future in case the routines were ever used - in a different way. - - clientgui/ - browser.cpp - -Rom 5 Dec 2012 - - VBOX: Fix build break introduced by the previous vbox commit. - - samples/vbox/ - vboxwrapper.cpp - -Rom 5 Dec 2012 - - client: strcasestr doesn't exist on Windows. - - client/ - gpu_opencl.cpp - -Charlie 5 Dec 2012 - - client: strcasestr does exist on Windows in lib/str_replace.cpp, - but I just needed to #include "str_replace.h". This is - preferable because it handles INTEL as well as Intel and intel. - - client/ - gpu_opencl.cpp - -David 5 Dec 2012 - - fix typo in GUI RPC - - check in some code for multi-user job prioritization - - db/ - boinc_db.cpp,h - boinc_db_types.h - sched/ - Makefile.am - adjust_user_priority.cpp (new) - sched_shmem.h - lib/ - gui_rpc_client_ops.cpp - tools/ - backend_lib.cpp - -Charlie 6 Dec 2012 - - OpenCL: Add peak FLOPS computation for Intel Ivy Bridge GPUs. - - lib/ - coproc.cpp - -David 7 Dec 2012 - - adjust_user_priority: scale FLOP count by app's min_avg_pfc - to account for systematic errors in FLOP count - - adjust_user_priority: get total project RAC by summing RAC - of app versions where RAC has been updated in past week - - feeder: add --priority_asc option - (for when wu.priority is a logical time) - - sched/ - adjust_user_priority.cpp - feeder.cpp - tools/ - backend_lib.cpp,h - -David 7 Dec 2012 - - Manager: compile fixes for OpenBSD. From RustyBSD. - - clientgui/ - AsyncRPC.cpp - stdwx.h - -David 7 Dec 2012 - - client (unix): rename() doesn't work between filesystems. - If the user has set things up so that slots/ is a symlink - to a different filesystem, things won't work when the client - moves output files from the slot to project dir. - Solution: if rename() fails, try system("mv ...") - since mv works across filesystems - - lib/ - filesys.cpp - -Charlie 7 Dec 2012 - - Manager: Fix Mac bug introduced by recent OpenBSD compile fixes. - - clientgui/ - mac/ - config.h - -Rom 7 Dec 2012 - - MGR: Minor fix to the OpenCL output for Intel GPUs. - - client/ - gpu_detect.cpp - -Rom 8 Dec 2012 - - client: Hook up the XML portion of the Intel GPU detection code so - the server scheduler knows about it. - - client: Print out the peak flops for the Intel GPU, the regular - OpenCL descriptions do not show peak flops. - - NOTE: At this point we should be supporting Intel GPUs as far as - detection and reporting its presence to the server goes. I don't - know about scheduling though. - - Thanks Tank Master for the interactive debug session in IRC. - - client/ - gpu_intel.cpp (Added) - client_state.cpp - cs_scheduler.cpp - cs_statefile.cpp - gpu_detect.cpp, .h - gpu_opencl.cpp - log_flags.cpp - lib/ - cc_config.cpp, .h - coproc.cpp, .h - -Rom 8 Dec 2012 - - client/server: fix build breaks I introduced last night with a variable - rename. - - client/ - acct_mgr.cpp - cpu_sched.cpp - gpu_detect.cpp - clientgui/ - AdvancedFrame.cpp - AsyncRPC.cpp - BOINCTaskBar.cpp - DlgItemProperties.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - sched/ - plan_class_spec.cpp - sched_send.cpp - sched_types.cpp - -Rom 8 Dec 2012 - - client/server: Make sure the GPU Type field is really classified as an Intel - GPU. - - lib/ - coproc.cpp - -David 8 Dec 2012 - - client/manager: tweaks to Intel GPU code - client/ - acct_mgr.cpp - cs_account.cpp - cs_scheduler.cpp - cs_statefile.cpp - gpu_opencl.cpp - project.cpp - scheduler_op.cpp - lib/ - coproc.cpp - procinfo.cpp - -David 8 Dec 2012 - - client: win compile fix - client/ - gpu_detect.cpp - -Charlie 8 Dec 2012 - - client: add new file gpu_intel.cpp to Xcode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 8 Dec 2012 - - client: replace ignore_nvidia_dev etc. with an array. - PRINCIPLE: AVOID PER-GPU-TYPE VARIABLES - - get rid of alloca() stuff in gutil.cpp; almost certainly not needed - - don't include malloc.h; it doesn't exist on BSD systems - - api/ - gutil.cpp - client/ - client_state.cpp - gpu_detect.cpp - gpu_opencl.cpp - log_flags.cpp - lib/ - cc_config.cpp,h - coproc.h - mfile.cpp - vda/ - vdad.cpp - -David 8 Dec 2012 - - minor code cleanup from RustyBSD - client/ - check_security.cpp - gui_rpc_server.cpp - clientgui/ - sg_ProjectPanel.cpp - sg_TaskPanel.cpp - clientscr/ - screensaver_x11.cpp - -Charlie 10 Dec 2012 - - client: clean up redundant and confusing GPU descriptions. - Problems: - COPROC_NVIDIA::description() is really description of CUDA GPUs. - COPROC_ATI::description() is really description of CAL GPUs. - On Windows and Linux, AMD OpenCL and CAL always coexist, and - NVIDIA OpenCL and CUDA always coexist. - But on the Mac, AMD OpenCL always exists without CAL and NVIDIA - OpenCL often exists without CUDA. Therefore, BOINC has never - shown peak-flops on the Mac for AMD or for NVIDIA without CUDA - because it does not display COPROC_ATI::description() and may - not display COPROC_NVIDIA::description(). - - On all OS's, INTEL GPU OpenCL will always exist without any - vendor-proprietary GPU computation framework, so - COPROC_INTEL::description() would never show COPROC_USED. - - Solutions: - [1] Instead of adding "(OpenCL only)" to these descriptions just - to show peak-flops for these cases, show peak_flops in all OpenCL - descriptions. - [2] Preface COPROC_NVIDIA::description() with "CUDA: " and - preface COPROC_ATI::description() with "CAL: " to match the - "OpenCL: " preface in OPENCL_DEVICE_PROP::description(). - [3] Eliminate useless COPROC_INTEL::description(). - - client/ - gpu_detect.cpp - gpu_opencl.cpp - lib/ - coproc.cpp,.h - -Charlie 10 Dec 2012 - - client: COPROC_NVIDIA, COPROC_ATI and COPROC_INTEL constructors - must initialize the entire struct, not just the GPU type field. - - lib/ - coproc.h - -David 10 Dec 2012 - - client: re-apply app configuration after each scheduler RPC; - otherwise the changes get overwritten - client/ - cs_scheduler.cpp - -David 10 Dec 2012 - - lib: the XML tag for the description of an Intel GPU is - , not - - lib/ - coproc.cpp - -David 10 Dec 2012 - - lib: the XML type field for an Intel GPU is INTEL_GPU, not INTEL - - lib/ - coproc.cpp - -David 10 Dec 2012 - - lib: actually let's make it "intel_gpu". - - lib/ - coproc.cpp - sched/ - sched_customize.cpp - -Charlie 11 Dec 2012 - - Manager: remove sqlite3.c from Xcode project; add build script to - build libsqlite3.a from source files downloaded from sqlite3.org. - - clientgui/ - sqlite3.c (deleted) - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildsqlite3.sh (added) - HowToBuildBOINC_XCode.rtf - setupforBOINC.sh - -Rom 11 Dec 2012 - - server: Add a default plan class for the Intel GPUs. - (opencl_intel_gpu_101) - - sched/ - sched_customize.cpp - - -David 11 Dec 2012 - - Win process control (affects API and wrapper): - Since Win doesn't have an API for process suspend/resume, - we were suspending processes by - 1) enumerating all the threads in the system - (typically several thousand) - 2) suspending those belonging to the given process - The problem: for each thread, the code was calling a function - in diagnostics_win.cpp to see if the thread - was exempted from suspension. - This check (which is unnecessary anyway if we're - suspending another process) - was surrounded by a semaphore acquire/release. - The result: performance problems. - It could take a minute to suspend the threads. - Solution: - 1) do the check for exemption only if we're suspending threads - in our own process (i.e. from the API) - 2) if we're suspending multiple processes, enumerate the threads - only once, and see if each one belongs to any of the processes - 3) have the wrapper elevate itself to normal priority. - Otherwise it can get preempted for long periods, - sometimes in the middle of scanning the threads. - Note: post-9x versions of Win have a process group API - that includes suspend/resume. - We'll switch to this soon. - - api/ - boinc_api.cpp - client/ - gpu_detect.cpp - lib/ - proc_control.cpp,h - procinfo.cpp - util.h - samples/wrapper/ - wrapper.cpp - -Rom 12 Dec 2012 - - ZIP: Make sure output files end up in the 'build' directory structure - so they will be ignored by Git tools. - - win_build/ - libboinczip_staticcrt.vcproj - -Rom 12 Dec 2012 - - wrapper: Fix 64-build targets on Windows. - - win_build/ - wrapper.vcproj - -David 12 Dec 2012 - - fix compile warning - - Git can ignore Unix compile outputs - - .gitignore - client/ - gpu_detect.h - -David 12 Dec 2012 - - client: show Intel GPU memory size as integer - lib/ - coproc.cpp - -David 12 Dec 2012 - - scheduler: attempted performance enhancement. - Old: each scheduler process holds a semaphore - while scanning the shared-mem job array. - On machines with many CPUs - there seems to be contention for this semaphore, - causing slow scheduler response and possibly connection failures. - New: Don't hold the semaphore while scanning array. - Instead, if find a job that passes quick_check(), - acquire the semaphore and recheck that the job is present in array - and passes quick_check(). - - client: show messages if app_config.xml has unrecognized tags - - sched/ - sched_array.cpp - client/ - app_config.cpp,h - -David 12 Dec 2012 - - restore 2 commits erased by Charlie's Dec 10 commit - clientgui/ - sb_TaskPanel.cpp - clientscr/ - screensaver_x11.cpp - lib/ - mfile.cpp - vda/ - vdad.cpp - -Charlie 13 Dec 2012 - - wrapper: Fix build script and Makefile on Mac. - - samples/wrapper/ - BuildMacWrapper.sh - Makefile_mac - -Rom 13 Dec 2012 - - Apply RustyBSD's patch for selectively disabling the detection of the - X screensaver framework in configure.ac - - / - configure.ac - -Rom 13 Dec 2012 - - SCR: Include the compiled X11 screensaver app in the self extracting - archive distro of the client software. - - packages\generic\sea\ - Makefile.am - -David 14 Dec 2012 - - server (start script and server_status.php): - Support projects (e.g. Einstein@home) in which server components run on - machines with no shared filesystem. - From Bernd. - - html/user/ - server_status.php - sched/ - start - tools/ - upgrade - -Charlie 14 Dec 2012 - - Mgr: Fix delay displaying notices. - - clientgui/ - NoticeListCtrl.cpp - -Charlie 14 Dec 2012 - - OpenCL: Eliminate spurious error message when an OpenCL platform exists - but the computer has no corresponding devices. - - Mac: Fix linker warning. - - client/ - gpu_opencl.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 18 Dec 2012 - - client simulator: fix build errors - - client/ - app.cpp - makefile_sim - sim.cpp - -Charlie 18 Dec 2012 - - Mgr: Fix potential crashes displaying notices asynchronously on Windows. - - clientgui/ - BOINCHtmlLBox.cpp,.h - BOINCInternetFSHandler.cpp - -Charlie 18 Dec 2012 - - Mgr: Fix bad line endings. - - clientgui/ - ViewNotices.cpp,.h - -Charlie 18 Dec 2012 - - Mgr: More robust way to display "No notices" message. - - clientgui/ - NoticeListCtrl.cpp,.h - ViewNotices.cpp,.h - -Charlie 18 Dec 2012 - - Mgr: Shorten Internet timeout for notices on Windows to 5 seconds. - Fix license info. - - clientgui/ - BOINCInternetFSHandler.cpp,.h - -David 18 Dec 2012 - - web: use · instead of | as a separater - - html/ - inc/ - forum.inc - host.inc - pm.inc - team.inc - user.inc - util.inc - user/ - forum_user_posts.php - pm.php - submit.php - team_manage.php - top_hosts.php - top_teams.php - top_users.php - -Rom 19 Dec 2012 - - VBOX: Perform a quick check that the wrapper can communicate with - vboxsvc via vboxmanage before attempting anything else. If it - fails, get BOINC to reschedule task execution in 5 minutes. - - NOTE: After a reboot it might take a few moments before everything - is in working order. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - win_build\ - vboxwrapper.vcproj - -Charlie 20 Dec 2012 - - Mgr: fix license declaration in file derived from wxWidgets. - - Mgr: Windows only: If OpenURL fails, we probably don't have an Internet - connection so use a shorter timeout for subsequent calls to OpenURL - until one succeeds; otherwise notices takes takes too long to display - if there are multiple notices with images. - - Mgr: Display the fetching notices message until we have notices to - display or have determined that there are no notices. - - Mgr: Don't call get_notices RPC before previous one is processed to - prevent multiple display of notices. - - Mgr: Display "Fetching notices..." instead of "There are no notices" - while getting notices. Display "There are no notices" only if we - have actually determined there are no notices. - - Mgr: Add code to reload notices with images / items missing due to - problems accessing their URLs. - - clientgui/ - MainDocument.cpp,.h - BOINCInternetFSHandler.cpp - NoticeListCtrl.cpp,.h - ViewNotices.cpp,.h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -Rom 20 Dec 2012 - - VBOX: Initialize the PATH variable before attempting to check to see if - the system is ready. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - win_build\ - vboxwrapper.vcproj - -Charlie 21 Dec 2012 - - Mgr: If network activity is suspended, don't retrieve URL references within - notices unless they are already in our cache or in the Windows cache. - - Mgr: Clear our internal Internet cache when selecting a different computer. - - Mgr: Display a message and "Retry now" button if some images or other items - within notices failed to load from the Internet; if network activity is - suspended, say so in the message. - - clientgui/ - BOINCInternetFSHandler.cpp,.h - events.h - NoticeListCtrl.cpp,.h - ViewNotices.cpp,.h - -David 21 Dec 2012 - - web: add advisory text to "Export as Notice" balloon - - scheduler: make max # of CPUs a #define, default 4096 - - client/ - client_state.cpp - html/user/ - forum_thread.php - sched/ - edf_sim.cpp - sched_send.cpp,h - -Charlie 22 Dec 2012 - - Mgr: When removing entries from our hash table, delete data to avoid memory - leaks. - - Mgr: Allow existing notices to retrieve images or other items from the - Internet even if network activity is suspended. (But client won't get - new notices.) - - Mgr: Reset Internet timeout when retrying notices. - - clientgui/ - BOINCInternetFSHandler.cpp - ViewNotices.cpp,.h - -Charlie 23 Dec 2012 - - Mgr: Bug fixes for Windows Async Internet access, including closing the - WinINet handle when aborting due to timeout, etc. to prevent crashes. - - Mgr: Add all the new notices features to the Simple View notices dialog. - - clientgui/ - BOINCInternetFSHandler.cpp,.h - NoticeListCtrl.cpp - sg_DlgMessages.cpp,.h - -David 24 Dec 2012 - - file upload handler: in FCGI version, check for trigger file - each time through loop (from Bernd). - - validator: fix bug that zeroed result.random - - db/ - boinc_db.cpp - boinc_db_type.h - sched/ - file_upload_handler.cpp - sched_array.cpp - tools/ - backend_lib.cpp - -David 24 Dec 2012 - - client: improved log messages for work fetch - - client/ - work_fetch.cpp - -Charlie 26 Dec 2012 - - Mgr: When closing Simple View notices, wait for all Async Internet access - to complete before calling the notices panel destructor. - - clientgui/ - BOINCBaseFrame.cpp - BOINCInternetFSHandler.cpp,.h - NoticeListCtrl.cpp - sg_DlgMessages.cpp,.h - -David 26 Dec 2012 - - eliminate use of alloca() and strdupa(). - - don't include malloc.h - - fix compile warnings - - configure.ac - clientscr/ - screensaver_x11.cpp - lib/ - str_util.cpp - sched/ - hr_info.cpp - -David 27 Dec 2012 - - client: processor identification for ARM - (from Evandro Menezes and Joachim Fritzsch) - - client/ - hostinfo_unix.cpp - hostinfo_unix_test.cpp - -David 27 Dec 2012 - - API: fix Unix bug when checking if client is alive based on PID. - Can't use waitpid() here; works only for children. - Use kill(pid, 0) instead. - - api/ - boinc_api.cpp - -Rom 28 Dec 2012 - - VBOX: On *nix systems, force the wrapper into sandbox mode if the - HOME environment variable is missing. Without the HOME environment - variable VirtualBox attempts to write log files and other state - information in root's home directory. +Rom 2 Jan 2013 + - VBOX: Clean up VirtualBox version information for all platforms. samples\vboxwrapper\ vbox.cpp - -Rom 28 Dec 2012 - - VBOX: Record what version of VirtualBox was used, as well as whether - anonymous platform was specified for the project. - - samples\vboxwrapper\ - vbox.cpp, .h - vboxwrapper.cpp - -Rom 28 Dec 2012 - - VBOX: On *nix systems, if the vboxdrv kernel module isn't loaded declare - it a temp error and reschedule execution at a later date. - - samples\vboxwrapper\ - vbox.cpp - -Rom 28 Dec 2012 - - VBOX: Clean up version string. - - samples\vboxwrapper\ - vbox.cpp - -David 29 Dec 2012 - - API: improve log messages when detect dead client - - api/ - boinc_api.cpp - -David 29 Dec 2012 - - client: disable remote access if - - gui_rpc_auth.cfg is empty, or - - it doesn't exist and we can't open it for writing, or - - the write to it fails - (from RustyBSD) - - client/ - gui_rpc_server.cpp - -David 29 Dec 2012 - - client: don't crash if GUI RPC password is too long - (from RustyBSD) - - client/ - gui_rpc_server_ops.cpp - -David 29 Dec 2012 - - Condor: initial checkin of BOINC GAHP framework - - samples/condor/ - boinc_gahp.cpp - Makefile diff --git a/checkin_notes_2012 b/checkin_notes_2012 new file mode 100644 index 0000000000..fcab8ec83d --- /dev/null +++ b/checkin_notes_2012 @@ -0,0 +1,7991 @@ +David 1 Jan 2012 + - remote job stuff + + html/ + inc/ + sandbox.inc + user/ + lammps.php + submit.php + +Rom 1 Jan 2012 + - OPS: Update failure_result_summary_by_platform.php to include + plan class information. + - OPS: Update error code translation table + + html/inc + result.inc + html/ops + failure_result_summary_by_platform.php + +David 2 Jan 2012 + - ops: fix link in index page + + html/ + ops/ + index.php + user/ + sandbox.php + +Rom 2 Jan 2012 + - VBOX: If VirtualBox reports an error snag both the hypervisor system + log as well as the VM execution log. Maybe the hypervisor log + will tell us what is up with the virtual floppy device. + - VBOX: Don't retry commands that are expected to fail in normal use + cases. It slows down getting the VM up and running. + - VBOX: After starting the VM, use a timed loop waiting for the initial + VM state change instead of just waiting for 5 seconds. Older + machines can take longer than 5 seconds to switch from poweroff + to starting. If we hit the main poll loop in that state the wrapper + thinks we have crashed. + - VBOX: Strip carriage returns from all the vboxmanage output on + Windows. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +David 2 Jan 2012 + - client: compute projects' disk share (based on resource share). + Report it (along with disk usage) in scheduler request messages. + This will allow the scheduler to send file-delete commands + if the project is using more than its share. + - client: add log flag + - create_work: add --help, show --command_line option + + tools/ + create_work.cpp + html/ + inc/ + util.inc + user/ + sandbox.php + lib/ + cc_config.cpp,h + client/ + client_types.h + client_state.h + cs_prefs.cpp + cs_scheduler.cpp + cpu_sched.cpp + +David 2 Jan 2012 + - upgrade script: + - prompt user for DB user/passwd if DB updates needed + - error out immediately if any DB update fails + Fixes #1169, #1170 + - create_work: check for duplicate s in input template + NOTE: the input template syntax is pretty clunky + + tools/ + process_input_template.cpp + html/ + ops/ + upgrade_db.php + inc/ + util_ops.inc + +Rom 2 Jan 2012 + - VBOX: Fix crashing issue I introduced last night attempting to + extract the hypervisor system log. + - VBOX: Report the hypervisor system log with any failed vboxmanage + command that happens during the phase where we setup the VM. + + samples/vboxwrapper/ + vbox.cpp, .h + +David 3 Jan 2012 + - remote job submission: show input file links + - ops: fix message: app.min_version applies to HR app versions, + not client version + + html/ + ops/ + manage_apps.php + user/ + submit.php + sandbox.php + +David 3 Jan 2012 + - LAMMPS + + html/user/ + lammps.php + +David 3 Jan 2012 + - client: calculate disk share for zero-priority projects correctly + + client/ + cs_prefs.cpp + +Rom 3 Jan 2012 + - client: Remove scaling factor for AMD OpenCL devices. Latest + generation of drivers now report the correct memory size. + They didn't wait for the next OpenCL spec change. + + client/ + coproc_detect.cpp + +Rom 3 Jan 2012 + - VBOX: Per tester feedback, at an hourly status report to track + network usage. + - VBOX: For errors where an error code is specified in the output, + use that value when returning from vbm_open(). Make it easier + to track failure rates by problem type in the ops pages. + (Windows Only) + - VBOX: Try making the process of extracting the hypervisor system + log more robust, make a temp copy of it in the slot directory. + Avoid exclusive file lock issues since VboxSvc will still be + logging to it. + - VBOX: Change the session lock text to make it clearer that the + use of other VirtualBox management tools can cause a problem. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +Rom 3 Jan 2012 + - VBOX: Restore the elapsed time from the checkpoint file instead of + aid.starting_elapsed_time. It appears some older client versions + are giving erratic results. + + samples/vboxwrapper/ + vboxwrapper.cpp + +Rom 4 Jan 2012 + - VBOX: Use strtol instead of atol to parse Vbox error codes from + stderr/stdout output. + - VBOX: Undo my reorg yesterday with regards to report_vm_pid and + report_net_usage. + - VBOX: Only report network usage in the status report if + aid.global_prefs.daily_xfer_limit_mb is non-zero + - VBOX: Add the VM log to the list of things reported on a start + failure. Hypervisor log suggests that it launched the VM but + it failed unexpectedly. So there might be cases where it + actually exists. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +Rom 4 Jan 2012 + - VBOX: Move start state change detection code from run() function to + start() function and use similar code to handle stop as well. + + Weird stuff happens when people start/stop BOINC quickly, + it looks as though the previous VM instance isn't shutdown before we + attempt to start it again. Hopefully enough of a wait is in there + for the VM to fully halt before the wrapper is terminated. + + samples/vboxwrapper/ + vbox.cpp + +Rom 4 Jan 2012 + - VBOX: Fix a crash bug if multiple virtual NICs are defined for a VM. + I'm not sure what the heck happened. It probably has something to + do with my \r removal code on Windows. Bugs hidden by other bugs + I suppose. + + samples/vboxwrapper/ + vbox.cpp + +Rom 5 Jan 2012 + - VBOX: Extract the various logs before attempting to cleanup if the + registration process fails. + + samples/vboxwrapper/ + vboxwrapper.cpp + +David 5 Jan 2012 + - GUI RPC: use new XML parser + + lib/ + gui_rpc_client_ops.cpp + +Charlie 5 Jan 2012 + - client: Restore scaling factor for AMD OpenCL devices on Macs with + OpenCL version < 1.2. + + client/ + coproc_detect.cpp + +Charlie 6 Jan 2012 + - Mac Installer: Changes for integrated BOINC+VirtualBox Mac installer. + + clientgui/ + mac/ + SetVersion.cpp + mac_installer/ + Description.plist + Installer.cpp + release_boinc.sh + +Rom 6 Jan 2012 + - MGR: Remove sash window divider between the task panel and list panel + in the advanced view. Retain the ability to dynamically adjust the + width of the task panel based on widest button. + - LIB: Use parse string instead of copy contents for messages RPC. + + clientgui/ + BOINCBaseView.cpp, .h + ViewNotices.cpp + ViewResources.cpp + ViewStatistics.cpp + lib/ + gui_rpc_client_ops.cpp + +Rom 6 Jan 2012 + - VBOX: Use sscanf instead of strtol to convert a hex string. + - VBOX: Use new FloppyIO implementation that reports image + creation errors. + + samples/vboxwrapper/ + floppyio.cpp, .h + vbox.cpp + +David 6 Jan 2012 + - manager: parse message contents with XML_PARSER::element_content(). + + lib/ + gui_rpc_client_ops.cpp + +David 6 Jan 2012 + - validator: for credit_from_runtime, + use result.flops_estimate rather than host.p_fpops; + otherwise it doesn't work for multicore apps. + TODO: cheat-proofing + + sched/ + validator.cpp + html/user/ + forum_thread.php + +Rom 6 Jan 2012 + - MGR: Derive from the correct base class to make the sizers work + properly. + + clientgui/ + BOINCBaseView.cpp, .h + ViewNotices.cpp + ViewResources.cpp + +Rom 7 Jan 2012 + - VBOX: Sleep for the remainder of the polling period and not the + whole poll period. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp, .h + +David 7 Jan 2012 + - scheduler: change vbox_mt app plan function to use 1, 2 or 3 CPUs + depending on how many the host has, + and whether CPU VM extensions are present + (this reflects the requirements of CernVM). + + db/ + boinc_db.h + sched/ + sched_types.h + sched_customize.cpp + validator.cpp + +Rom 8 Jan 2012 + - VBOX: Fix regression where the ERR_CPU_VM_EXTENSIONS_DISABLED error + message wasn't being written to stderr when the VM extensions + were disabled via the BIOS. + + samples/vboxwrapper/ + vboxwrapper.cpp + +David 8 Jan 2012 + - scheduler: change vbox_mt plan function to use at most 2 cores, not 3 + (CERN doesn't actually need 3) + + sched/ + sched_customize.cpp + +David 8 Jan 2012 + - client: reset ACTIVE_TASK::bytes_sent and bytes_received + when the task is started or restarted + + client/ + app_start.cpp + +Charlie 9 Jan 2012 + - client: OpenCL 1.1 has no API for determining available GPU RAM, so if + CAL is not present for ATI / AMD GPU or if CUDA is not present for + NVIDIA GPU, set available GPU RAM equal to total GPU RAM. + + client/ + coproc_detect.cpp + +Rom 9 Jan 2012 + - VBOX: Fix one last regression related to failed start detection. If + only one CPU is allocated, manually disable VM hardware acceleration. + + samples/vboxwrapper/ + vbox.cpp + +David 9 Jan 2012 + - scheduler: the p_fpops value reported by clients can't be trusted. + Some credit cheats (e.g. with credit_by_runtime) can be done + by reporting a huge value. + Fix this by capping the value at 1.1 times the 95th percentile + of host.p_fpops, taken over active hosts. + + db/ + boinc_db.cpp,h + sched/ + census.cpp + sched_types.cpp,h + sched_shmem.cpp,h + sched_util.cpp,h + sched_customize.cpp + feeder.cpp + sched_version.cpp + hr_info.cpp,h + +Charlie 10 Jan 2012 + - client: Fix idle detection for Apple Remote Desktop and screen sharing + (VNC) under Mac OS 10.7. See comments in HOST_INFO::users_idle() for + details. + + client/ + hostinfo_unix.cpp + +David 10 Jan 2012 + - first stab at improving Disk View colors + + clientgui/ + ViewResources.cpp + +Charlie 11 Jan 2012 + - Mgr: When launching Mac client as a daemon, allow time for it to start. + + clientgui/ + BOINCClientManager.cpp + +David 11 Jan 2012 + - vboxwrapper: add element to config file. + Specifies host port # for port forwarding. + If absent or zero, assign a port. + + samples/vboxwrapper + vbox.cpp,h + floppyio.cpp,h + vboxwrapper.cpp + +David 11 Jan 2012 + - API: respect direct_process_action even if multi_process is set + + api/ + boinc_api.cpp + +David 12 Jan 2012 + - LAMMPS job submission: improve completion estimate + + html/ + inc/ + boinc_db.inc + user/ + lammps.php + +Rom 12 Jan 2012 + - VBOX: Enable remote desktop functionality for a VM that has + specified in its vbox_job.xml file. + + NOTE: It does require the VirtualBox extension pack, but that + is freely available on the VirtualBox download page. + + samples/vboxwrapper + vbox.cpp, .h + vboxwrapper.cpp, .h + +Rom 12 Jan 2012 + - VBOX: Report the remote desktop connection information to the + core client. Next commit will create an extra "VM Console" + button in the manager when detected. Volunteers will just have + to click the button to see what is going on with the VM. + + api/ + boinc_api.cpp, .h + samples/vboxwrapper + vbox.cpp, .h + vboxwrapper.cpp, .h + +Rom 12 Jan 2012 + - client: Add plumbing to support passing the remote desktop + connection information to the manager + - MGR: Add a "Show VM Console" button for those tasks which + report a remote desktop port number. + + client/ + app.cpp, .h + app_control.cpp + clientgui/ + Events.h + MainDocument.cpp, .h + ViewWork.cpp, .h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +Rom 12 Jan 2012 + - VBOX: Make sure the configured port numbers persist across + restarts of the client software. Remote desktop stopped + working if the client software was restarted. + + samples/vboxwrapper + vboxwrapper.cpp + +Charlie 13 Jan 2012 + - client: Due to my changes of 10 Jan 2012, idle detection did not work + when BOINC was run as a pre-login daemon. So use the old method + when running as a daemon. This means that idle detection for Apple + Remote Desktop and screen sharing (VNC) under Mac OS 10.7 works only + when not running BOINC as a daemon. + + client/ + hostinfo_unix.cpp + +Rom 13 Jan 2012 + - VBOX: Cleanup a few messages stating port numbers in the stderr spew. + - VBOX: Send configuration settings in one message instead of piece meal. + + api/ + boinc_api.cpp, .h + samples/vboxwrapper + vboxwrapper.cpp + +Rom 13 Jan 2012 + - VBOX: It helps to remove the older send msg routines. Oooops. + + samples/vboxwrapper + vboxwrapper.cpp + +David 13 Jan 2012 + - API: fix queueing problem for graphics-related messages + (web graphics URL and remote desktop addr) + - GUI RPC and API: + change "remote_desktop_connection" to "remote_desktop_addr" everywhere. + It's an address, not a connection. + - vboxwrapper: log message cleanup + + api/ + boinc_api.cpp,h + client/ + app.cpp,h + app_control.cpp + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + app_ipc.cpp,h + samples/ + vboxwrapper.cpp + +Rom 13 Jan 2012 + - MGR: Add RDP client support for Linux. + + clientgui/ + MainDocument.cpp + +David 13 Jan 2012 + - file deleter: improved logging; from Oliver + + sched/ + file_deleter.cpp + +Rom 13 Jan 2012 + - MGR: Launch the RDP client on Windows in full-screen mode to avoid + a bug where the screen doesn't refresh and keyboard/mouse events + don't manifest until you close down the client and restart it. + + clientgui/ + MainDocument.cpp + +Charlie 13 Jan 2012 + - MGR: Add RDP client support for the Mac. I have found no reliable way + to pass the IP address and port to Microsoft's Remote Desktop + Connection application for the Mac, so I'm using CoRD. Unfortunately, + CoRD does not seem to be as reliable as I would like either. + + clientgui/ + MainDocument.cpp + +Rom 13 Jan 2012 + NOTE: Some previously experimental features in the client software are + now important to have for the 7.0 release. The existing 7.0 branch + will no longer be maintained, we'll create a new branch for the 7.0 + client line at a later date. + + - Tag for 7.0.8 release, all platforms + boinc_core_release_7_0_8 + + / + configure.ac + version.h + +David 13 Jan 2012 + - The zip library was moved to a directory (project_depends) + outside of BOINC, but the build files weren't made to work. + Move the library back where it was before. + + configure.ac + Makefile.am + zip/* + +David 13 Jan 2012 + - GUI RPC: add tag to the start of HTTP replies. + + client/ + gui_rpc_server_ops.cpp + +David 14 Jan 2012 + - client: identify ATI 97x0 GPUs (from Jord) + + client/ + coproc_detect.cpp + +David 14 Jan 2012 + - GUI RPC client: don't write spurious messages to stderr + + lib/ + gui_rpc_client_ops.cpp + +Rom 14 Jan 2012 + - VBOX: Fix regression where the vm_name wasn't reset back to the + current wu name after deregistering a stale VM. + + samples/vboxwrapper + vbox.cpp, .h + vboxwrapper.cpp + +Rom 15 Jan 2012 + - VBOX: Add User ID and Host ID to the CERN data format. + + samples/vboxwrapper + vboxwrapper.cpp + +Rom 15 Jan 2012 + - MGR: Use rdesktop-vrdp on Linux, it is included with VirtualBox + and meant for what we are trying to do. + - MGR: Remove the fullscreen flag on Windows. It might only be + my machine which has refresh problems when launching in + windowed mode. + + clientgui/ + MainDocument.cpp + +David 15 Jan 2012 + - optimize strip_whitespace(); from Steffen Moller + - storage simulator: generalize so you can use different + coding parameters at different levels + + lib/ + str_util.cpp + ssim/ + ssim.cpp + +David 15 Jan 2012 + - storage simulator: compute fault tolerance correctly + + ssim/ + ssim.cpp + +Charlie 16 Jan 2012 + - client, lib: Improve available GPU RAM detection, include it in + display of GPU description. + + client/ + coproc_detect.cpp + lib/ + coproc.cpp,.h + +Charlie 16 Jan 2012 + - client: Add logging message for insufficient GPU RAM details to + coproc_debug flag. + + client/ + cpu_sched.cpp + +Rom 16 Jan 2012 + - Tag for 7.0.9 release, all platforms + boinc_core_release_7_0_9 + + / + configure.ac + version.h + +Charlie 17 Jan 2012 + - Mac: In permissions error alert: show branded name; if permissions + error is in a subdirectory, show path to bad file or subdirectory. + + client/ + check_security.cpp + sandbox.h + clientgui/ + BOINCGUIApp.cpp + mac_installer/ + PosInstall.cpp + +Charlie 17 Jan 2012 + - client: Save all CUDA and CAL GPU info until done with OpenCL detection + so we have available GPU RAM for all OpenCL GPU descriptions. + + client/ + coproc_detect.cpp + +Charlie 17 Jan 2012 + - Tag for 7.0.10 release, all platforms + boinc_core_release_7_0_10 + + / + configure.ac + version.h + +Rom 17 Jan 2012 + - VBOX: Fix a regression I introduced on Saturday, is_vm_registered shouldn't + be called when vm_name is empty. Change it so that is references + vm_master_name instead to get the correct name of the VM. + - VBOX: Fix the logic that scan for the CR character and removes it. Also fix + the partial line inclusion when the various log files are greater than 16k. + string.erase returns what the iterator value should be. + + samples/vboxwrapper + vbox.cpp + +David 17 Jan 2012 + - storage simulator work + - lib: recent checkin broke strip_whitespace(string&). + + ssim/ + ssim.cpp + plot + ssim.php + lib/ + str_util.cpp + +David 18 Jan 2012 + - web: link between LAMMPS job submission page and file sandbox page + + html/user/ + lammps.php + sandbox.php + +Charlie 18 Jan 2012 + - client: add debugging aids to coproc_detect logic. + + client/ + coproc_detect.cpp + +Charlie 18 Jan 2012 + - Tag for 7.0.11 release, all platforms + boinc_core_release_7_0_11 + + / + configure.ac + version.h + +Charlie 18 Jan 2012 + - client: ATI available RAM is in bytes, not MB; if no CAL, don't divide + OpenCL global_mem_size by MEGA to fill in ATI available RAM. + (Checked in to 7.0.11 tag.) + + client/ + coproc_detect.cpp + +Rom 18 Jan 2012 + - VBOX: Fix another issue that was a result of Saturdays commit. Make + sure that the vm_name variable is populated with something useful if + resuming from a previous execution of the wrapper. + + samples/vboxwrapper + vbox.cpp + +David 18 Jan 2012 + - WAP interface to credit info: return correct timestamp, + and don't bother with caching. + + html/ + inc/ + wap.inc + user/ + userw.php + +Rom 18 Jan 2012 + - VBOX: Use the documented way to reset the UUID of a virtual hard + disk. Thanks Daniel. + + samples/vboxwrapper + vbox.cpp + +David 18 Jan 2012 + - Manager: in project web links, use "Home Page" instead of the + project name (which could be very long) + + clientgui/ + BOINCBaseView.cpp + +David 19 Jan 2012 + - client: parse HOST_INFO::p_vm_extensions_disabled correctly + + lib/ + hostinfo.cpp + proxy_info.cpp + gui_rpc_client_ops.cpp + coproc.cpp + version.h + ssim/ + ssim.php + +Charlie 19 Jan 2012 + - Mac installer: If installing under OS 10.4, create users and groups + boinc_master and boinc_project at first available UserIDs and + GroupIDs starting at 25 instead of 501 to prevent problems with + Accounts pane of System Preferences. + + clientgui/ + mac/ + SetupSecurity.cpp + +David 19 Jan 2012 + - storage simulator work + + ssim/ + ssim.cpp + ssim.php + +Charlie 20 Jan 2012 + - client: Show GPU number in "GPU is OpenCL-capable" message. + + client/ + client_state.cpp + +Charlie 20 Jan 2012 + - OpenCL: + Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned + by CUDA. Since there is no CAL for Mac, this is not an issue + for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers + also provide OpenCL support, so we don't expect the problem there. + + Solution: I believe that CUDA and OpenCL return identical GPU + model names for the same GPU, and that both return the GPUs in the + same order (but with some possibly omitted from the OpenCL sequence.) + We use that information to correlate the OpenCL data with CUDA data. + We use our internal CUDA device_num for the corresponding OpenCL + device, but add a new field opencl_device_index; the two fields are + equal unless we have CUDA devices not recognized by OpenCL. We + add a new array opencl_device_indexes[] to the COPROC struct, + corresponding to the entries in device_nums[]. + + The init_data.xml file now has a new field gpu_opencl_device_index. + If this field exists, the boinc_get_opencl_ids() API uses this to + find the cl_device_id and cl_platform_id, otherwise it continues + to use the value in gpu_device_num. + + api/ + boinc_opencl.cpp + client/ + app_start.cpp + coproc_detect.cpp + lib/ + app_ipc.cpp,.h + coproc.h + +David 20 Jan 2012 + - volunteer data archival stuff + + ssim/ + vda.cpp,h (new) + ssim.cpp + makefile + +David 20 Jan 2012 + - client: add a mechanism for restartable download of compressed files. + (It turns out that the compression schemes supported by + Apache and libcurl, suprisingly, aren't restartable.) + + if a from the server contains tags, + use those instead of the tags, + and flag the file as "download_gzipped". + If this is the case, download NAME.gz and save it as NAME.gzt. + When the download is complete, rename NAME.gzt to NAME.gz, + and uncompress it to NAME. + (this ensures that if NAME.gz is present, it's complete). + Also do the uncompression, if needed, in verify_file(). + This ensures that the uncompression will eventually get done + even if the client quits are crashes in the middle. + + - update_versions: if is present in a , + add a gzipped copy in the download directory + and add a elements to the app version's xml_doc. + + client/ + client_types.cpp,h + file_xfer.cpp + cs_files.cpp + tools/ + update_versions + +David 20 Jan 2012 + - feeder: if we're rereading the DB because of trigger file, + do PERF_INFO::get_from_db() also. + From Teemu Mannermaa. + + sched/ + feeder.cpp + +David 20 Jan 2012 + - admin web: if change app or app version params, + advise user to stop/restart the project + + html/ops/ + manage_apps.php + manage_app_versions.php + +Rom 21 Jan 2012 + - VBOX: Enable the wrapper to handle fractional CPU usage. If + the server specifies 1.1 CPUs used, allocate 2 CPUs to be used + in VirtualBox. + + samples/vboxwrapper + vboxwrapper.cpp + +Rom 21 Jan 2012 + - sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead + of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough + whole CPUs for Virtualbox. Ideally this will cause the BOINC + client-side scheduler to use the remaining fraction of the CPU + for GPU data transfer which will then free up one whole CPU for + another job. All without over-commiting anything. + + sched/ + sched_customize.cpp + +David 22 Jan 2012 + - GUI RPC: switching to the new XML parser + (which won't parse a double as an int) + revealed a type mismatch in FILE_TRANSFER::next_request_time + between client and server. + + db/ + boinc_db.cpp,h + schema_vda.sql (new) + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + ssim/ + vda.cpp + vda_lib.cpp,h + vda_transitioner.cpp + makefile + client/ + net_stats.cpp + +David 22 Jan 2012 + - client: fix divide-by-zero bug in calculation of priority + of projects with zero resource share + + client/ + cpu_sched.cpp + +Rom 23 Jan 2012 + - MGR: Tweak the z-order of BOINC Manager owned windows a little bit. + Image a case where BOINC Manager and the BOINC Manager event log + live side-by-side or only slightly overlapped, and the user wants + to use a full screen/maximized window. If the bring the BOINC + manager window back into focus while that app is still running + make sure the event log comes forward as well. The event log + should appear behind the main window in the case they are + overlapped. + + clientgui/ + BOINCGUIApp.cpp, .h + +Rom 23 Jan 2012 + - client - Remove Mac OSX 10.3.9 hack, it is no longer needed. + + client/ + http_curl.cpp + +David 23 Jan 2012 + - scheduler: initialize COPROC_ATI::version to zero; + avoid sending spurious "update driver" messages + + lib/ + coproc.cpp + db/ + boinc_db.cpp,h + schema_vda.sql + vda/ + vdad.cpp + makefile + +Charlie 23 Jan 2012 + - Mac: If permissions error because unable to opendir() a subdirectory, + show path to that subdirectory. + + client/ + check_security.cpp + +Rom 23 Jan 2012 + - VBOX: Demote the priority level of the VM process to try and prevent + latency issues for volunteers. + - VBOX: If the port forwarding preferred port isn't usable, try asking + the OS for one. + - VBOX: On a failure, get the VM process exit code and report it with + the rest of the stderr spew. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +David 23 Jan 2012 + - web: use et_n instead of pfc_n for #jobs completed + in host app details page + (pfc_n is not populated for hosts running old clients) + + html/user/ + host_app_versions.php + +Rom 24 Jan 2012 + - client: treat the gzt file extension like we do for the gz file extension. + Disable libcurls ability to decompress on-the-fly and let the CC decompress + it after it has been fully downloaded. + + client/ + http_curl.cpp + +David 24 Jan 2012 + - client: when deleting a file, check for .gzt and .gz variants as well + + client/ + client_types.cpp + +David 24 Jan 2012 + - client: bug fixes in gzipped download code + + client/ + client_types.cpp + cs_files.cpp + +Rom 24 Jan 2012 + - client: undo my previous commit. We request .gz from the server and write + the contents to a .gzt file. + + client/ + http_curl.cpp + +Rom 24 Jan 2012 + - VBOX: Fix build breaks for Linux and Mac. + + samples/vboxwrapper/ + vbox.cpp + +Rom 24 Jan 2012 + - client: Fix long standing issue with the .gz extension automatically being + decompressed on-the-fly when it wasn't supposed to be. + + client/ + http_curl.cpp + +David 24 Jan 2012 + - volunteer storage + client/ + client_types.h + vda/ + vdad.cpp + +Charlie 25 Jan 2012 + - VBOX: Fix compiler warnings on Mac. + + samples/vboxwrapper/ + vboxwrapper.cpp + +Charlie 25 Jan 2012 + - MGR: Make the task pane in the advanced view and its buttons fixed sizes; + ellipse the button contents if needed; show full button text plus + description in button tooltips; don't set button labels if unchanged. + + clientgui/ + BOINCBaseView.cpp, .h + BOINCTaskCtrl.cpp, .h + stdwx.h + +David 26 Jan 2012 + - update_versions: for gzipped files, + send the size of the compressed file as well. + - client: parse and write the compressed size (FILE_INFO::gzipped_nbytes). + For get_transfer GUI RPCs, if it's a compressed download send + the compressed size. + That way the manager will show the fraction done correctly. + + tools/ + update_versions + lib/ + gui_rpc_client.h + vda/ + vdad.cpp + client/ + client_types.cpp,h + acct_setup.cpp + +Charlie 26 Jan 2012 + - client: disable temporary debugging aids in coproc_detect logic. + + client/ + coproc_detect.cpp + +David 26 Jan 2012 + - client: fix write of gzipped_nbytes + + client/ + client_types.cpp + +Rom 26 Jan 2012 + - Tag for 7.0.12 release, all platforms + boinc_core_release_7_0_12 + + / + configure.ac + version.h + +David 26 Jan 2012 + - client: after a gzipped file is downloaded, + we uncompress it and then verify it. + The latter involves computing its MD5, which reads the entire file. + Combine these 2 steps so that the MD5 is computed + as the file is uncompressed, + eliminating the need to read the file again. + + lib/ + crypt.cpp,h + crypt_prog.cpp + client/ + client_types.cpp,h + cs_files.cpp + +Charlie 26 Jan 2012 + - Mac: Update the build instructions with the current URL for c-ares-1.7.4. + + mac_build/ + HowToBuildBOINC_XCode.rtf + +Charlie 27 Jan 2012 + - MGR: If CPU or GPU is suspended from Activity Menu, change "Snooze" items + to "Resume" in system tray menu. + - client: Always remember previous CPU and GPU activity settings. + + client/ + client_types.cpp,h + cs_statefile.cpp + clientgui/ + BOINCTaskBar.cpp,.h + mac/ + MacSysMenu.cpp + +David 27 Jan 2012 + - manager: in Disk View, try to make colors more distinct. + In addition to varying the hue, + cycle through 3 different luminance values (.5, .7, .9) + - web: update the wording of buffer-size preferences + + clientgui/ + ViewResources.cpp + html/inc/ + prefs.inc + +David 27 Jan 2012 + - manager: in tooltips for Project/Task buttons, + don't prepend "button name: "; + add a tooltip for Home Page button. + + clientgui/ + BOINCBaseView.cpp + BOINCTaskCtrl.cpp + +Charlie 27 Jan 2012 + - MGR: Disable new "Resume" items in system tray menu if modal dialog is open. + + clientgui/ + BOINCTaskBar.cpp + +David 28 Jan 2012 + - web: msg tweak + - screensaver coordinator: use new XML parser + + clientscr/ + screensaver.cpp + html/user/ + forum_report_post.php + +Charlie 30 Jan 2012 + - client: because available GPU RAM value is unreliable, don't defer + scheduling a task based on insufficient GPU RAM. For now, the + relevant code is guarded by a "#define DEFER_ON_GPU_AVAIL_RAM 0" + so we can easily restore it if we find a reliable way to get the + value of available GPU RAM periodically. + + NOTE: we are still sending this unreliable value to project + servers in the sched_request file. Does it make sense to do so? + + client/ + cpu_sched.cpp + lib/ + coproc.h + +David 30 Jan 2012 + - manager: change text for buffer-size fields in advanced prefs dialog + + clientgui/ + DlgAdvPreferencesBase.cpp + +David 30 Jan 2012 + - server: revamp the "assigned job" mechanism. + This now supports two main use cases: + 1) there's a job that you want to run once on all hosts, + present and future + (or all hosts belonging to a user, or to a team). + The job is never transitioned, validated, or assimilated. + 2) There's a normal job for which you want to use only + hosts belonging to a specific user (e.g. cluster or cloud hosts). + This restriction can be made either when the job is created, + or on the fly, + e.g. as part of a scheme for accelerating batch completion. + For the latter purposes we now provide a function + restrict_wu_to_user(DB_WORKUNIT&, int userid); + + The job goes through the standard + transitioner/validator/assimilator path. + + These cases are enabled by config flags + + + respectively. + + Assignment of type 2) are no longer stored in shared mem, + so there is no limit on their number. + + There is no longer a rule that assigned job names must contain "asgn". + + NOTE: this requires a database update. + + db/ + boinc_db.cpp,h + constraints.sql + schema.sql + sched/ + sched_util.cpp,h + sched_shmem.cpp + transitioner.cpp + sched_assign.cpp + tools/ + backend_lib.cpp + create_work.cpp + html/ops/ + db_update.php + lib/ + common_defs.h + +David 30 Jan 2012 + - admin web: improvements to the pages for investigating result failures + (though considerable funkiness remains) + + html/ + ops/ + failure_result_summary_by_platform.php + failure_result_summary_by_host.php + index.php + pass_percentage_by_platform.php + inc/ + db_ops.inc + +David 31 Jan 2012 + - admin web: fixes and clarifications to failure summaries + + html/ + ops/ + failure_result_summary_by_platform.php + failure_result_summary_by_host.php + index.php + pass_percentage_by_platform.php + inc/ + boinc_db.inc + db_ops.inc + user/ + apps.php + +David 31 Jan 2012 + - create_work tool: change option names for assigned jobs + - admin web: show actual platform name in result summary page + + tools/ + create_work.cpp + html/ops/ + pass_percentage_by_platform.php + +David 31 Jan 2012 + - web: fix the user search feature + - scheduler: parse d_project_share + - scheduler: if vbox and vbox_mt are both available, + use vbox for a 1-CPU machine + + db/ + boinc_db.h + sched/ + sched_customize.cpp + sched_types.cpp + html/user/ + user_search.php + +David 1 Feb 2012 + - scheduler: add log messages to show VM-related request items + - fix typos in db_update script + + sched/ + sched_send.cpp + html/ops/ + db_update.php + +Charlie 2 Feb 2012 + - Tag for 7.0.13 release, all platforms + boinc_core_release_7_0_13 + + / + configure.ac + version.h + +David 2 Feb 2012 + - client: fix job scheduler problem: + old: RR simulation marks some jobs as missing their deadline, + and the job scheduler runs those jobs as "high priority". + problem: those generally aren't the ones we should run. + E.g. if the client has a lot of jobs from a project, + typically the ones with later deadlines are the ones + whose deadlines are missed in the simulation. + But in this case the EDF policy says we should run + the ones with earliest deadlines. + new: if a project has N deadline misses, + run its N earliest-deadline jobs, + regardless of whether they missed their deadline in the sim. + Note: this is how it used to be (as designed by John McLeod). + I attempted to improve it, and got it wrong. + + client/ + cpu_sched.cpp + +Rom 2 Feb 2012 + - MGR: Fix cookie detection problem when using the + IEGetProtectedModeCookie API. Function prototype changed from the + InternetGetCookieEx function. HRESULT != BOOL. + + clientgui/ + browser.cpp + +Rom 2 Feb 2012 + - Tag for 7.0.14 release, all platforms + boinc_core_release_7_0_14 + + / + configure.ac + version.h + +David 3 Feb 2012 + - client: first pass at async file copy feature. + When a large file is copied from a project dir to a slot dir, + it's copied in chunks, + interleaved with other polling activities such as GUI RPCs. + That way the manager doesn't freeze while large copies + (e.g. VM images) are happening + + client/ + async_file.cpp,h (new) + client_types.h + client_state.cpp + app.cpp,h + app_start.cpp + Makefile.am + +Rom 3 Feb 2012 + - client: add async file copy stuff to Windows project file. + + client/ + async_file.cpp + win_build/ + boinc_cli.vcproj + +David 3 Feb 2012 + - client: debug async file copy. Seems to be working. + + client/ + app.cpp + app_start.cpp + async_file.cpp + lib/ + common_defs.h + +Charlie 3 Feb 2012 + - client: add async file copy stuff to Xcode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 3 Feb 2012 + - transitioner: fix bug that cause invalid SQL query + + db/ + boinc_db.cpp + +Charlie 3 Feb 2012 + - SCR: Fix Xcode editor problems from recent screensaver.cpp changes. + + clientscr/ + screensaver.cpp + +David 5 Feb 2012 + - client: intermediate checkin for async file verification + + lib/ + crypt.cpp,h + crypt_prog.cpp + client/ + client_types.cpp,h + async_file.cpp,h + pers_file_xfer.cpp + cs_apps.cpp + cs_scheduler.cpp + acct_mgr.cpp + cs_files.cpp + +Charlie 6 Feb 2012 + - client: Fix compiler warning generated by above checkin. + + client/ + pers_file_xfer.cpp + +Rom 6 Feb 2012 + - client: Undo my change of 24 Jan 2012 which broke WCG's use of the + .gzb file extension. I was wrong in how I read the conditional and + it turns out that libcurl does not attempt to honor the content-encoding + if it was disabled as part of the request. My bad. + + client/ + http_curl.cpp + +David 6 Feb 2012 + - client: tweaks to AMD GPU detection msgs + - client: async file stuff + + client/ + async_file.cpp + coproc_detect.cpp + cs_files.cpp + +David 6 Feb 2012 + - client: async file stuff + + client/ + async_file.cpp,h + cs_files.cpp + lib/ + crypt.cpp,h + crypt_prog.cpp + +David 6 Feb 2012 + - client: async file stuff + + client/ + client_types.cpp,h + app_start.cpp + async_file.cpp + cs_files.cpp + +David 6 Feb 2012 + - client: async file stuff. + async decompress/verify seems to be working + + client/ + async_file.cpp,h + gui_http.cpp + +Charlie 6 Feb 2012 + - client: remove "GPU n is OpenCL-capable" messages. They were + redundant with new OPENCL_DEVICE_PROP::description() and were + confusing because they only listed the "best" CUDA / CAL GPUs. + + client/ + client_state.cpp + +David 7 Feb 2012 + - client: HTTP range request errors are permanent. + + client/ + http_curl.cpp,h + pers_file_xfer.cpp + file_xfer.cpp + lib/ + gui_rpc_client_ops.cpp + error_numbers.h + str_util.cpp + html/ops/ + bolt_refresh.php + +David 7 Feb 2012 + - async file stuff. mostly working. still a few bugs + + client/ + cs_apps.cpp + http_curl.cpp + clientgui/ + AccountManagerPropertiesPage.cpp + ProjectPropertiesPage.cpp + lib/ + str_util.h + +David 7 Feb 2012 + - client: async file stuff + - set threshold at 10 MB for doing things asynchronously + - don't count VERIFY_PENDING as failure + + client/ + async_file.h + client_state.cpp + client_types.cpp,h + cs_apps.cpp + +Charlie 7 Feb 2012 + - client: Fix bug in setting opencl_device_index. + + client/ + coproc_detect.cpp + +David 7 Feb 2012 + - client/Manager/GUI RPC: clean up RPC stuff involving + resource-specific backoff and exclusion + + Old: client writes + + + + + + in GUI RPC entries for projects. + Manager (GUI RPC client): PROJECT struct has + cpu_backoff_time + cpu_backoff_interval + ... cuda, ati + no_cpu_pref + ... cuda, ati + and it parses tags of these names. + In other words, no information is being conveyed + from client to Manager. + + New: + manager parses both forms + + clientgui/ + DlgItemProperties.cpp + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 8 Feb 2012 + - client: fix bug in async file verify. + File verify is done in 4 places: + - after a download finishes + - transition result to DOWNLOADED + - if project->verify_files_on_app_start, on app start + Use asynchrony only in the first 2 cases, + since the async logic is set up to mark the file as PRESENT + when done, not to restart a task + + client/ + client_types.h + app_start.cpp + pers_file_xfer.cpp + cs_apps.cpp + cs_files.cpp + +Rom 8 Feb 2012 + - VBOX: Remove the renaming of the vm disk image code. It isn't needed + and it complicates things in the CC. + + samples/vboxwrapper/ + vboxwrapper.cpp + +David 8 Feb 2012 + - client: bug fix for async file ops: + set up files in slot dir when starting an app, + whether or not it's the first time + + client/ + app.h + app_control.cpp + app_start.cpp + async_file.cpp,h + +David 8 Feb 2012 + - client: on startup, check file size as well as existence + - client: add log flag + - client: do decompress (both sync and async) to a temp file, + then rename + - client: if a file's status is VERIFY_PENDING on startup, + set it to NOT_PRESENT; that will trigger a verify + - client: do async copy only if size is above threshold + + lib/ + cc_config.cpp,h + client/ + client_state.cpp + async_file.cpp,h + sim.cpp + app_start.cpp + client_types.cpp + cs_files.cpp + +David 8 Feb 2012 + - client: fixed a bug in procinfo_app() that would cause processes + to be treated as non-BOINC when they actually are, + thus falsely triggering CPU-busy suspensions + + lib/ + procinfo.cpp + +David 9 Feb 2012 + - client: only check file size if the FILE_INFO specifies it. + + client/ + cs_files.cpp + +David 9 Feb 2012 + - scheduler: don't send "update GPU driver" messages if + the client didn't report a driver version # + + sched/ + sched_customize.cpp + file_upload_handler.cpp + +Rom 9 Feb 2012 + - Tag for 7.0.15 release, all platforms + boinc_core_release_7_0_15 + + / + configure.ac + version.h + +David 9 Feb 2012 + - client (Unix): don't print misleading "task exited with no finish file" + message if task actually called boinc_temporary_exit(). + + client/ + app_start.cpp + app_control.cpp + +David 9 Feb 2012 + - storage stuff + + vda/ + vdad.cpp + vdad_lib.cpp,h + ssim.cpp + makefile + +Charlie 10 Feb 2012 + - client: If OpenCL but no CAL or no CUDA, copy GPU model name from OpenCL so + it will apppear in the host table's serialnum attributes (requested by + Oliver Bock.) + + client/ + coproc_detect.cpp + +Charlie 11 Feb 2012 + - MGR: Fix a bug which pushed modal dialogs (Attach Wizard) to rear when + Manager process was brought to front from behind (Mac only.) This + bug was probably introduced in Z-order tweak of 23 Jan 2012. + + clientgui/ + BOINCGUIApp.cpp + +David 12 Feb 2012 + - client: zero PROJECT::last_upload_start on reset, + so that we can fetch work immediately + - client: in PERS_FILE_XFER::create_xfer(), + check for already-existing file before seeing we're allowed to start a new xfer + - client: in PERS_FILE_XFER::create_xfer(), + if an async verify is in progress, mark PERS_FILE_XFER as done. + + client/ + client_state.cpp + log_flags.cpp + pers_file_xfer.cpp + +David 12 Feb 2012 + - storage stuff + - client: message tweak + + lib/ + crypt_prog.cpp + susp.cpp (deleted) + vda/ + vda_lib2.cpp (new) + vda_lib.h + ssim.cpp + makefile + client/ + cpu_sched.cpp + +Charlie 13 Feb 2012 + - MGR: Fix bad in Progress Through Processor's + skin files provided by Matt Blumberg on 9 December 2011. + + clientgui/skins/Progress Thru Processors/ + skin.xml + +Charlie 13 Feb 2012 + - client: Try to fix incorrect NVIDIA device number in OpenCL descriptions. + + client/ + coproc_detect.cpp + +Charlie 13 Feb 2012 + - MGR: Update tags in 3 branded skins (GR, PtP, CE) to + new values from Matt Blumberg. + + clientgui/skins/ + GridRepublic/ + skin.xml + Progress Thru Processors/ + skin.xml + Charity Engine/ + skin.xml + +Charlie 13 Feb 2012 + - Mac sandbox: In initial permissions check when launching Manager or Client, + don't check project-created subdirectories under project or slot + directories because we have not told projects these must be readable and + executable by group. + + client/ + check_security.cpp + +David 14 Feb 2012 + - scheduler: fix bug that broke broadcast jobs (from Kevin) + + sched/ + sched_shmem.cpp + +David 14 Feb 2012 + - assimilator: when enumerating results for a WU, check retval. + Otherwise we might get a partial list, + which screws up assimilation logic. + + sched/ + assimilator.cpp + lib/ + hostinfo.h + +David 14 Feb 2012 + - admin web: fix error when showing unsent results + + html/inc/ + db_ops.inc + +Charlie 14 Feb 2012 + - API: Remove apparently unnecessary include of carbon.h (requested + by Bernd Machenschalk.) + + api/ + boinc_api.h + clientscr/ + gfx_switcher.cpp + +David 14 Feb 2012 + - storage stuff + + vda/ + vdad.cpp + vda_lib.h + +David 14 Feb 2012 + - client: instead of saying "comm deferred", + say "project backoff XXX.XX". + + client/ + work_fetch.cpp + +David 14 Feb 2012 + - client: more tweaks to work-fetch messages + + client/ + work_fetch.cpp + +David 15 Feb 2012 + - web: in user search, show most recent rather than oldest users + - web: don't show URL in account page if expavg_credit < 1. + This discourages a type of spam. + + html/ + inc/ + user.inc + user/ + user_search.php + +David 15 Feb 2012 + - client: msg tweak + + client/ + work_fetch.cpp + +David 15 Feb 2012 + - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf); + use strcat instead + - client: don't use get_mac_address() to create host CPIDs + (we have plenty of other info to make them unique) + - storage stuff + + db/ + schema_vda.sql + lib/ + mac_address.cpp + Makefile.am + vda/ + vda_lib2.cpp + vda_lib.h + client/ + hostinfo_network.cpp + +David 16 Feb 2012 + - client: fetch work from backup (zero resource share) projects + only if a device instance is idle + + client/ + work_fetch.cpp + +David 16 Feb 2012 + - web: change wording of buffer-size prefs + + html/inc/ + prefs.inc + sched/ + sched_types.h + vda/ + sched_vda.cpp + +Charlie 16 Feb 2012 + - client: Remove some temporary debugging code. + + client/ + coproc_detect.cpp + +David 16 Feb 2012 + - storage stuff (work in progress) + - small code shuffle + + db/ + boinc_db.h + sched/ + delete_file.cpp + tools/ + backend_lib.cpp,h + lib/ + str_util.h + vda/ + sched_vda.cpp + makefile + +Charlie 16 Feb 2012 + - client: Always use GPU model name from OpenCL if available for ATI / AMD + GPUs because (we believe) it is more reliable and user-friendly. + + client/ + coproc_detect.cpp + +David 17 Feb 2012 + - client: fix bug where WCG downloads were getting wrong size errors. + To be honest, I don't know that the problem was or why my change fixed it. + client/ + http_curl.cpp + +Charlie 17 Feb 2012 + - client: Prevent an unlikely but possible crash. + + client/ + coproc_detect.cpp + +Charlie 17 Feb 2012 + - MGR: Fix a Mac-only bug which showed Event Log if About BOINC is selected + from task bar menu when BOINC is hidden. + + clientgui/ + BOINCGUIApp.cpp + BOINCTaskBar.cpp + +Rom 17 Feb 2012 + - Tag for 7.0.16 release, all platforms + boinc_core_release_7_0_16 + + / + configure.ac + version.h + +David 17 Feb 2012 + - db_purge: when deleting a workunit record, + delete any assignments that refer to it + + db/ + db_base.cpp,h + sched/ + db_purge.cpp + +David 17 Feb 2012 + - server: add volunteer data archival to the build system + + sched/ + sched_config.cpp,h + Makefile.am + configure.ac + Makefile.am + vda/ + Makefile.am new + makefile (renamed to makefile_orig) + +Charlie 17 Feb 2012 + - Mac: Fix back trace to work under OS > 10.5. + (Checked in to boinc_core_release_7_0_16 tag) + + lib/ + mac/ + mac_backtrace.cpp + +Charlie 18 Feb 2012 + - client: Fix OpenCL NVIDIA GPU detection when CUDA is not present. + + client/ + coproc_detect.cpp + +David 18 Feb 2012 + - client: tweak to work-fetch policy: + if we're making a scheduler RPC to a project for reasons + other than work fetch, + and we're deciding whether to ask for work, ignore hysteresis; + i.e. ask for work even if we're above the min buffer + (idea from John McLeod). + + client/ + work_fetch.cpp,h + cs_scheduler.cpp + sched/ + feeder.cpp + vda/ + vdad.cpp + +David 19 Feb 2012 + - client: fix bug in notices where, after a notice is deleted, + the notices tab refreshes once/second forever after + + client/ + cs_notice.cpp + +Rom 20 Feb 2012 + - Tag for 7.0.17 release, all platforms + boinc_core_release_7_0_17 + + / + configure.ac + version.h + +David 20 Feb 2012 + - client: message tweaks + - scheduler: fix crash when use + + sched/ + db_purge.cpp + sched_assign.cpp + client/ + work_fetch.cpp + +David 20 Feb 2012 + - Manager/Client: fix bugs in GUI RPC that prevented + updates to proxy info from being saved by client + + lib/ + gui_rpc_client_print.cpp + gui_rpc_client_ops.cpp + gui_rpc_client.h + client/ + boinc_cmd.cpp + +David 20 Feb 2012 + - Manager: compile fix + + clientgui/ + MainDocument.cpp + +David 20 Feb 2012 + - scheduler: fix a couple of assigned-job bugs + (need "where" at start of enumerate() clause!) + + sched/ + sched_util.cpp + sched_assign.cpp + +David 20 Feb 2012 + - client: define a "arrived-first" order on results + in which the tiebreaker is MD5 of name. + That way the order is stable + (it doesn't change from one run of the client to the next) + and it doesn't grep results with similar names + (and hence for the same app). + This ordering is used for + 1) the order of display in the manager + 2) the job scheduler's notion of FIFO + + client/ + client_types.h + cs_statefile.cpp + cpu_sched.cpp + +Charlie 20 Feb 2012 + - client: Fix OpenCL NVIDIA GPU enumeration bug I introduced + with last checkin. + + client/ + coproc_detect.cpp + +Charlie 20 Feb 2012 + - Tag for 7.0.18 release, all platforms + boinc_core_release_7_0_18 + + / + configure.ac + version.h + +Charlie 20 Feb 2012 + - Mac installer: Update copyright notice from 2009 to 2012. + + clientgui/ + mac/ + SetVersion.cpp + +David 21 Feb 2012 + - storage stuff + + db/ + schema_vda.sql + py/Boinc/ + setup_project.py + vda/ + vda.cpp + vda_lib.cpp,h + vda_lib2.cpp + vdad.cpp + ssim.cpp + +Rom 21 Feb 2012 + - Vbox: Include date component in log messages to ease debugging long + running VM tasks. + + samples/vboxwrapper/ + vbox.cpp + vboxwrapper.cpp, .h + +David 22 Feb 2012 + - scheduler: in version selection, when deciding which version is fastest, + we multiple projected FLOPS by a normal random var + with mean 1 and stddev 0.1. + Make the stddev configurable; in particular it can be zero. + + db/ + boinc_db.h + schema_vda.sql + sched/ + sched_config.cpp,h + sched_version.cpp + vda/ + vdad.cpp + +David 22 Feb 2012 + - client: change the job scheduling policy for MT jobs. + The old policy avoided running an N-CPU job unless N CPUs were free. + This could result in idle CPUs for long periods; for example: + on a 4-CPU machine, suppose you have a long 1-CPU job in EDF mode, + and some 4-CPU jobs. + 3 CPUs will be idle until the 1-CPU job finishes. + Furthermore, the work fetch mechanism won't try to get + jobs (possibly non-MT) from other projects, + because the RR simulation doesn't reflect the scheduling + policy's exclusion principle. + + The change: schedule jobs until ncpus_used >= ncpus. + E.g. in the above situation run the 1- and 4-CPU jobs together. + In extreme cases we might run 3 1-CPU jobs and the 4-CPU job. + This will degrade the performance of the 4-CPU job, + but that's probably better than having idle CPUs. + + client/ + cpu_sched.cpp + +David 22 Feb 2012 + - scheduler: tell the user if we're not sending work because + VirtualBox is not installed + + sched/ + sched_customize.cpp + +David 22 Feb 2012 + - scheduler and create_work: fix bugs that caused targeted jobs + to be sent to non-targeted hosts. + The feeder was erroneously putting targeted jobs + in the shared mem cache. + Changes: + - The feeder only enumerates jobs for which + workunit.transitioner_flags is zero. + NOTE: this field is nonzero iff the job is assigned. + - create_work: when creating an assigned jobs, + set workunit.transitioner_flags appropriately + + db/ + boinc_db.cpp,h + schema.sql + sched/ + sched_array.cpp + tools/ + create_work.cpp + +David 22 Feb 2012 + - API, client, and Manager: add an optional "reason" argument to + boinc_temporary_exit(), + explaining why the app is exiting. + Convey this to the client, and then to the Manager, + and display it there and in the log. + + clientgui/ + MainDocument.cpp + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + api/ + boinc_api.cpp,h + client/ + client_types.cpp,h + app.h + app_control.cpp + +David 22 Feb 2012 + - client: fix an instance of + sprintf(buf, "%s...", buf) + on Unix + + client/ + hostinfo_unix.cpp + +Charlie 22 Feb 2012 + - API: fix compile error on Mac. + + api/ + macglutfix.m + +Charlie 22 Feb 2012 + - client: When available, use total RAM value from CAL for all ATI + OpenCL GPUs, not only for the "best" GPU, so the descriptions + show this value. + + client/ + coproc_detect.cpp + +David 22 Feb 2012 + - server: split out the "antique file deletion" feature of + file_deleter.cpp into a separate program, + since it blocks normal file deletion while it's running. + From Bernd. + - storage stuff + + db/ + boinc_db.cpp,h + schema_vda.sql + sched/ + file_deleter.cpp + antique_file_deleter.cpp (new) + Makefile.am + vda/ + vdad.cpp + vda_lib.cpp + vda_lib2.cpp + vda.cpp + +David 22 Feb 2012 + - install antique file deleter as periodic task (24 hours) + when create new project + + sched/ + antique_file_deleter.cpp + tools/ + make_project + py/Boinc/ + setup_project.py + +Charlie 23 Feb 2012 + - MGR: Update in Progress Through Processor's + skin file again as requested by Matt Blumberg on 17 February 2012. + + clientgui/skins/Progress Thru Processors/ + skin.xml + +Charlie 24 Feb 2012 + - Mac installer: Create RealName field for users boinc_master and + boinc_project and set it to empty string (following new advice from + Apple Developer technical Suport.) + + clientgui/ + mac/ + SetupSecurity.cpp + +Rom 24 Feb 2012 + - MGR: Rename the "Remaining" column to "Remaining (Estimated)" in the + Advanced GUI/Work view. + + clientgui/ + ViewWork.cpp + +David 24 Feb 2012 + - client: amend checkin of 18 Feb to not request work if + work buffer is above upper limit + + client/ + work_fetch.cpp + +David 24 Feb 2012 + - storage stuff + + vda/ + vdad.cpp + vda.cpp + vda_lib2.cpp + vda_lib.h + +David 24 Feb 2012 + - storage stuff + + db/ + boinc_db.h + schema_vda.sql + sched/ + delete_file.cpp + put_file.cpp + get_file.cpp + tools/ + backend_lib.cpp,h + vda/ + vda.cpp + vda_policy.cpp,h (new) + vda_lib.cpp,h + Makefile.am + ssim.cpp + +David 24 Feb 2012 + - scheduler: when choosing the best app version, + by default we skip app versions that use a resource + for which work has not been requested. + This is determined by the "check_req" arg to get_app_version(). + This flag is cleared whenever we want to send a job + regardless of whether a requested resource can be used: + namely, when resending lost jobs, and when sending assigned jobs. + + Fix a bug that could skip unrequested versions even + when check_req is false. + + NOTES: + + 1) The current semantics aren't right. + When check_req is false, we selected the fastest of all app versions, + including those for which no work is requested. + Instead, we should select the fastest of the versions + for which work is requested if there are any; + otherwise, select the fastest version. + + 2) The mechanism isn't implemented for anonymous platform. + It should be. + + 3) If we've cached an answer (including NULL) for a given + value of check_req, that answer may be wrong for a different value. + + sched/ + sched_version.cpp + +Bernd 27 feb 2012 + - db_purge: record result and workunit name in index file + + sched/ + db_purge.cpp + +Bernd 27 feb 2012 + - validator: output the version string even when not in project directory + + sched/ + validator.cpp + +Bernd 27 feb 2012 + - scheduler: allow to configure userids for which the scheduler should + not scan the host table. This was previously hardcoded for + Einstein@home to prevent some users with many (identical) hosts + from flooding the DB with slow queries. Now add + userid + to the project config (in config.xml) for each such userid. + + sched/ + sched_config.h + sched_config.cpp + handle_request.cpp + +Bernd 27 Feb 2012 + - scheduler: fix typo in previous commit (patch was using old parser) + + sched/ + sched_config.cpp + +Bernd 27 Feb 2012 + - scheduler: the scheduler (stderr) log is buffered to keep the output of + one instance together in the scheduler.log when multiple instances are + running. Currently the buffer has a fixed size of 32768 charaters. + On one hand with much debug output this buffer may turn out to be + too small. OTOH the log of this instance is completely lost in case + of a crash, which doesn't help with debugging. Thus make the + scheduler log buffer size configurable using the tag + in project config. The default value is + still the old size (32768), set it to 0 to disable buffering + completely, e.g. for debugging. + + sched/ + sched_config.h + sched_config.cpp + sched_main.cpp + +Bernd 27 Feb 2012 + - scheduler: Another feature for debugging the scheduler. + Previously (little known) the scheduler could be hacked to preserve + the sched_request.xml and sched_reply.xml in own directories + (you had to modify the initial value of use_files in sched_main.cpp). + This feature could now be switched on and off on the fly just by + changing the project config. + When there is an (existing) directory configured as + , each schduler instance will write three + files in there: PID_C_sched.log, PID_C_sched_request.xml and (if all + goes well) PID_C_sched_reply.xml. PID is the process id of this + scheduler instance, C is an internal counter within the process if + FCGI is used. The sched.log will contain nothing else than the + pid and the IP address of the client. This should allow for + identifying the scheduler instance responsible for a given + apache error log message ("premature end of script headers") when + a scheduler crashed. sched_request.xml (obviously) is the scheduler + request, and if the scheduler doesn't crash in between, there will + also be the reply to the client kept in sched_reply.xml + Remove the tag from the project config + to turn this feature off. + + sched/ + sched_config.h + sched_config.cpp + sched_main.cpp + +Rytis 27 Feb 2012 + - change antique_file_deleter logic not to delete files that still have + workunit records + + sched/ + antique_file_deleter.cpp + +David 27 Feb 2012 + - VDA: add some log messages + - scheduler: add VDA + - client, web: change default prefs to min_buf=.1 days, max_buf=.5 days + - scheduler: app plan function for vbox requires 7.0+ client + + Makefile.incl + sched/ + antique_file_deleter.cpp + sched_config.cpp,h + sched_customize.cpp + handle_request.cpp + html/inc/ + prefs.inc + lib/ + prefs.cpp + vda/ + vda.cpp + sched_vda.cpp,h + +Charlie 28 Feb 2012 + - MGR: Change strings in Simple View to match changes in Advanced View: + "Remaining" -> "Remaining (Estimated)", "Home page" instead of project + name in web links. + + clientgui/ + sg_ProjectWebSitesPopup.cpp + sg_TaskPanel.cpp + +David 28 Feb 2012 + - storage stuff + + db/ + boinc_db.cpp,h + schema_vda.sql + sched/ + sched_types.cpp,h + vda/ + sched_vda.cpp + +David 28 Feb 2012 + - storage stuff. Getting there. + + db/ + boinc_db.cpp + sched/ + handle_request.cpp + vda/ + vdad.cpp + vda_policy.h + sched_vda.cpp + vda.cpp + +David 29 Feb 2012 + - wrapper: compute final CPU time correctly for multi-process apps + - storage stuff + + db/ + boinc_db.cpp,h + schema_vda.sql + samples/wrapper/ + wrapper.cpp + vda/ + vda_lib.cpp,h + sched_vda.cpp + vda.cpp + ssim.cpp + +Charlie 29 Feb 2012 + - client: On Mac only, get ATI RAM sizes from OpenGL. + + client/ + coproc_detect.cpp + lib/ + coproc.h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 29 Feb 2012 + - VBOX: Implement an exponential backoff scheme of sleeping between + commands if a session lock error has been detected. Cap the overall + delay to 30 seconds total for a single command. + + Experiments performed by jujube(T4T) suggest changing the sleep interval + to an exponential style backoff would increase our chances of recovering in + situations where the previous lock is held by a previous instance of + vboxmanage whos instance data hasn't been cleaned up within vboxsvc yet. + + client/ + vbox.cpp + +David 1 Mar 2012 + - client: fix crashing bug when there is 1 instance of a resources. + I'm not sure how this ever worked. + + client/ + work_fetch.h + sched/ + feeder.cpp + vda/ + storage.txt + +Rom 2 Mar 2012 + - Tag for 7.0.19 release, all platforms + boinc_core_release_7_0_19 + + / + configure.ac + version.h + +Charlie 3 Mar 2012 + - Mac installer: Utility shell script creates users & groups boinc_master + and boinc_project with IDs at 501 or above; also creates RealName field + for users boinc_master and boinc_project and sets it to empty string + (following advice from Apple Developer technical Suport.) + + mac_build/ + Mac_SA_Secure.sh + +David 3 Mar 2012 + - Manager: small code cleanup + client/ + client_state.cpp + clientgui/ + DltItemProperties.cpp,h + +David 3 Mar 2012 + - Manager: in Project Properties page, + show if a GPU type is excluded by configuration + - client: don't fetch work for a resource type if all instances + of that type are excluded + - web: don't use filter_var(, FILTER_SANITIZE_STRING) + to strip HTML tags from a string. + This escapes singles quotes also. + Use strip_tags() instead. + + clientgui/ + DltItemProperties.cpp + html/inc/ + util.inc + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 3 Mar 2012 + - LAMMPS job submission: set rsc_fpops_bound to 20 times rsc_fpops_est + html/user/ + lammps.php + +David 4 Mar 2012 + - web: open BBCode instructions in new window (or tab). + Otherwise, on IE, you lose the text you already entered + when you go back. + + html/inc/ + util.inc + +Bernd 5 Mar 2012 + - scheduler: fix/augment file_deleter usage message + + sched/ + file_deleter.cpp + +David 5 Mar 2012 + - LAMMPS: fix code formatting + + html/user/ + lammps.php + +Rom 6 Mar 2012 + - Tag for 7.0.20 release, all platforms + boinc_core_release_7_0_20 + + / + configure.ac + version.h + +David 8 Mar 2012 + - API: fix various bugs related to process control and critical sections. + - client: code cleanup (no functional change) + + api/ + boinc_api.cpp + windows_opengl.cpp + client/ + app.cpp + app_control.cpp + vda/ + * + +Rom 8 Mar 2012 + - VBOX: Parse the vboxmanage error code for *nix as well. + - VBOX: Switch to using status.suspend_request instead of status.suspend + when determining when to suspend/resume a VM. status.suspended is + now only changed when direct_process_action is set to true. + + samples/vboxwrapper/ + vboxwrapper.cpp + vbox.cpp + +David 9 Mar 2012 + - API: remove BOINC_STATUS::suspend_request; + it's an implementation thing, not intended for export. + Fix a related bug. + + samples/vboxwrapper/ + vboxwrapper.cpp + api/ + boinc_api.cpp + vda/ + vda_lib.cpp + +Rom 9 Mar 2012 + - VBOX: Setting the CPU Execution Cap should be done with the controlvm + command after the VM has entered a running state instead of using + modifyvm. + + samples/vboxwrapper/ + vbox.cpp + +David 9 Mar 2012 + - web: allow a project to specify 2 stylesheets + + html/ + inc/ + util.inc + project.sample/ + project.inc + +Rom 9 Mar 2012 + - VBOX: Allow the CPU execution cap to be set back to 100% after it had + alreadly been set lower. + + samples/vboxwrapper/ + vbox.cpp + vboxwrapper.cpp + +David 10 Mar 2012 + - storage: add some code + + vda/ + vda_lib.cpp,h + ssim.cpp + vdad.cpp + +David 10 Mar 2012 + - forgot to add files + + vda/ + stats.cpp,h (new) + +Bernd 12 Mar 2012 + - scheduler: remove lock file when scheduler caught SIGTERM + + sched/ + handle_request.h + sched_main.cpp + +Rom 12 Mar 2012 + - VBOX: Only attempt to reset throttle values if the VM is in + a running state, otherwise controlvm throws an error. + + samples/vboxsamples/ + vboxwrapper.cpp + +Rom 12 Mar 2012 + - VBOX: If a VM fails to start because the machine is low on memory, + temporarily exit so BOINC can reschedule it for a later time. + If the problem doesn't go away it'll just time out eventually anyway. + + samples/vboxsamples/ + vboxwrapper.cpp + +David 12 Mar 2012 + - server: allow to include a :port + + db/ + db_base.cpp + +David 12 Mar 2012 + - client: msg tweak and fix compile warnings + + client/ + client_types.cpp + coproc_detect.cpp + work_fetch.h + lib/ + coproc.h + str_util.cpp + +Charlie 12 Mar 2012 + - client: fix compile errors. + + client/ + client_types.cpp + +Charlie 12 Mar 2012 + - client: In COPROCS::get_ati_mem_size_from_opengl() on Mac, compare ATI + model names from OpenGL with those from IOKit only if coproc_debug + flag is set. + + client/ + coproc_detect.cpp + +Charlie 12 Mar 2012 + - VBOX: Fix typo in Mac wrapper name (1686 -> i686). + + samples/vboxwrapper/ + vboxwrapper.xcodeproj + project.pbxproj + +David 13 Mar 2012 + - scheduler: do homogeneous app version check before rereading WU + as well as after. + + sched/ + sched_send.cpp,h + +David 13 Mar 2012 + - transitioner: don't clear a WU's HR and HAV class if there are + timed-out instances; they could still be returned. + + sched/ + transitioner.cpp + +Charlie 14 Mar 2012 + - MGR: fix French translations of Remaining (estimated). + + locale/fr/ + BOINC_Manager.po + +Charlie 14 Mar 2012 + - client: When comparing ATI model names from OpenCL and IOKit on a + Mac, substitute "AMD" for "ATI" because sometimes one API returns + "ATI" but the other API returns "AMD". + + client/ + coproc_detect.cpp + +Rom 14 Mar 2012 + - VBOX: Use the boinc_temporary_exit API properly. Wait for 5 minutes + before allowing another attempt to start the VM when the hypervisor + cannot allocate enough memory. + - VBOX: Print out a trace statement about the suspend/resume directive + from the vboxwrapper perspective. This in conjuction with the + BOINC API trace statements should provide a better idea with + what is going on. + + samples/vboxwrapper + vboxwrapper.cpp + +David 14 Mar 2012 + - scheduler: add an alternative way of defining app plan functions + that uses an XML configuration file; + see http://boinc.berkeley.edu/trac/wiki/AppPlanConfig + From Bernd. + + sched/ + sched_customize.cpp + plan_class_spec.cpp,h + Makefile.am + +David 14 Mar 2012 + - scheduler: code cleanup for the above + + sched/ + plan_class_spec.cpp,h + +Charlie 14 Mar 2012 + - client: On Mac only, update ATI available RAM after getting ATI total + RAM size from OpenGL. + + client/ + coproc_detect.cpp + +David 14 Mar 2012 + - scheduler: fix FCGI compile + + vda/ + sched_vda.cpp + +David 14 Mar 2012 + - client: on each scheduler RPC, + make sure that files flagged as executable in the reply, + and that are present, are actually executable. + + client/ + client_types.cpp + +David 15 Mar 2012 + - client: when killing a task, don't delete its shmem or change its state. + These mess up the logic for dealing with exited processes, + resulting in incorrect log messages. + + client/ + app.cpp + app_control.cpp + +David 15 Mar 2012 + - scheduler: when HR is being used, + make per-HR slot allocation an option rather than the default. + Kevin reported that slot allocation wasn't working for WCG. + The default is now no slot allocation, + and use the regular result enumeration function + rather than the once that scans the entire table. + The config flag for enabling slot allocation is . + + sched/ + sched_config.cpp,h + feeder.cpp + hr_info.cpp + +Rom 15 Mar 2012 + - VBOX: Give the VM process a short priority boost when responding + to a quit request. On older XP machines it might speed up the memory + dump to disk. + - client: Increase the quit request timeout from 10 seconds to 60 seconds for + machines running VMs and slow disk drives. It should give the VM enough + time to gracefully shutdown and not give boinc reason to kill the wrapper. + + client/ + app.h + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +Rom 16 Mar 2012 + - Moving trunk back into a development branch, further stabilization of the 7.0.x + client is now in the boinc_core_release_7_0a branch. + + / + configure.ac + version.h + version.h.in + +David 16 Mar 2012 + - client: small changes to make client compile on Android, + and to report the platform as "arm-android". + From Carl Christensen. + - Add a script for building BOINC and library dependencies on Android + From Peter Hanappe. + + lib/ + mac_address.cpp + client/ + android/ + AndroidBuild.sh (new) + cs_platforms.cpp + hostinfo_unix.cpp + +David 17 Mar 2012 + - client: use %g to format job resources (#CPUs, #GPUs). + This suppresses trailing zeroes and (if integer) the . + + client/ + client_types.cpp + +David 17 Mar 2012 + - client: changes to job scheduling policy: + - fix bug that could greatly overcommit CPUs + if there are several EDF jobs and several non-EDF GPU jobs. + - don't overcommit CPUs if any job is MT (MT means avg_ncpus > 1). + For example, on a 4-CPU machine we will run: + a 0.5-CPU GPU job and 4 1-CPU jobs + but not + a 0.5-CPU GPU job and 1 4-CPU job + client/ + cpu_sched.cpp + +Charlie 18 Mar 2012 + - MGR: Fix a Mac-only bug which sometimes failed to show the suspended + icon after closing and opening the Manager windows. This was caused + by having a second instance of CTaskBarIcon. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp,.h + mac/ + MacSysMenu.cpp + +David 19 Mar 2012 + - client: job scheduling policy tweak: + if CPUs are fully committed (e.g. with EDF jobs) + allow GPU jobs but only up to CPU usage of ncpus+1 + + client/ + cpu_sched.cpp + +David 19 Mar 2012 + - client: Don't include VBox executive processes as non-BOINC CPU time. + On some systems they use significant CPU time while VMs are running. + TODO: do this only if we're actually running a VBox app + + lib/ + procinfo.cpp + +David 19 Mar 2012 + - wrapper: fix bug that reported wildly wrong CPU time + + lib/ + procinfo.cpp + +David 19 Mar 2012 + - scheduler: fix a bug in assigning deadlines to resent jobs. + From Kevin. + NOTE: Kevin also reported a bug that resulted in + way too large (e.g. year) deadlines. + + sched/ + sched_send.cpp + +David 19 Mar 2012 + - client: if an app process exits because of a signal, + don't show the "no finish file" message; + not sure why this was there in the first place. + - client: if an app process exits because of a signal, + show the signal correctly + + client/ + app_control.cpp + +David 19 Mar 2012 + - scheduler: if we can't resend a job (e.g. it's for an app + for which the anonymous-platform client doesn't have a version) + mark it as sent so the transitioner can do its thing + + sched/ + sched_resend.cpp + +Rom 20 Mar 2012 + - VBOX: Make it explicitly clear what the result of a start/stop + request was. Hopefully this will give us insight into whether + the core client is terminating the wrapper or something else is + going on. + - VBOX: Shorten the command execution timeout to 45 seconds. + - VBOX: Don't attempt to re-execute the close/savestate commands. + + samples/vboxwrapper/ + vbox.cpp + +Rom 20 Mar 2012 + - VBOX: On successful completion, create the same output file that + the CernVMWrapper would. This allows both wrapppers to work with + the same BOINC job generation system. + + samples/vboxwrapper/ + vbox.cpp + +David 20 Mar 2012 + - client: report completed results if a time-of-day network suspend is + scheduled within the next 30 minutes + + client/ + app.h + client_state.h + cs_prefs.cpp + cs_scheduler.cpp + app_control.cpp + lib/ + prefs.cpp,h + +Rom 20 Mar 2012 + - client: Initialize buffer which is used to hold the temporary exit reason. + If somebody didn't populate the reason when calling boinc_temporary_exit + the buffer contained junk. + + client/ + app_control.cpp + +Bernd 21 Mar 2012 + - scheduler: fix hu.peak_flops and hu.projected_flops caclculation + in plan_class_spec by using coproc_pref() and capped_host_fpops() + (moved coproc_perf() to sched_customize.h to make it available + in plan_class_spec.cpp, and cleaned up includes) + + sched/ + sched_customize.cpp,h + plan_class_spec.cpp,h + +David 21 Mar 2012 + - client: set file ownership and permissions after an async verify. + This was presumably the cause of the recent Einstein@home problem. + - client: set file ownership and permissions after an async copy. + - client: set file ownership and permissions after a + regular (non-async) copy. + + The latter 2 bugs would affect a VM app that copies + its executable to slot/x/shared + + client/ + client_types.cpp,h + async_file.cpp,h + app_start.cpp + +Rom 21 Mar 2012 + - VBOX: Introduce the use of VM snapshots as a form of checkpoint. + - Perform snapshots at most once every ten minutes. + - Client suspend/resume messages behave the same. + - Client no heartbeat/quit messages cause the wrapper to just + poweroff the VM. + + On startup check to see if the last checkpoint time is greater than 0, + if so, start from the most recent snapshot. + - VBOX: If we receieve the status message of no heartbeat or quit, set + the temporary delay to 5 minutes. If the wrapper is terminated during + the middle of a snapshot, hopefully this will give VirtualBox enough + time to complete the snapshot. Restarting the BOINC job should then + poweroff the VM and restore from the last snapshot. + + samples/vboxwrapper/ + vbox.cpp, .h + vboxwrapper.cpp + +David 21 Mar 2012 + - client: change timeout for job quit/abort from 60 back to 15 + (time between sending app a quit/abort message + and, if not exited yet, killing it) + - client: if app has reported an "other PID" + (e.g., vboxwrapper reports the VBoxHeadless PID) + then include it (along with descendants) in the + list of processes we kill when killing the job. + + client/ + app.h + app_control.cpp + +Rom 21 Mar 2012 + - VBOX: We don't need to display the state of the VM before startup. + - VBOX: Change the snapshot naming scheme by removing the quotes and + prefixing the checkpoint time with 'boinc_'. Hopefully this will + prevent the VM from asserting during the snapshot process. + + samples/vboxwrapper/ + vbox.cpp, .h + +Rom 21 Mar 2012 + - VBOX: Before attempting to take the snapshot for a VM, pause it first. + This changes the snapshot type from a live snapshot to an online + snapshot. Presumably difference might make it easier to do and + prevent the VM from asserting. + + samples/vboxwrapper/ + vbox.cpp, .h + +Rom 22 Mar 2012 + - VBOX: Detect another form of out of memory error from VirtualBox. + Reschedule the job for some time in the future when there might + be enough memory. + - VBOX: Resume the VM's execution after the creation of the snapshot + but before we attempt to delete the previous, now stale, snapshot. + - VBOX: Treat the 'livesnapshotting', 'deletingsnapshotlive', and + 'deletingsnapshotlivepaused' states as online states. + + samples/vboxwrapper/ + vbox.cpp + vboxwrapper.cpp + +Rom 22 Mar 2012 + - VBOX: Do not treat the timeout error as a fatal error when attempting + to delete stale snapshots. Slower machines can take longer than + 45 seconds to complete the deletion of old snapshots. + + samples/vboxwrapper/ + vbox.cpp + +David 22 Mar 2012 + - client/server: add optional to schedule reply. + If set, client won't use DCF for this project. + Make this the default in server code; + we now do runtime estimation entirely on the server side, + and the client-side mechanism is counterproductive. + + sched/ + sched_types.cpp,h + client/ + client_types.cpp,h + scheduler_op.cpp,h + work_fetch.cpp + cs_scheduler.cpp + cpu_sched.cpp + +David 23 Mar 2012 + - server: is_project_dir() was checking that cgi-bin is a directory. + This doesn't work if it's a symlink to a dir. + Check for that too. + + lib/ + filesys.cpp,h + sched/ + sched_config.cpp + +David 23 Mar 2012 + - client: if a job calls boinc_temporary_exit() 100 times, abort it. + Otherwise it could keep doing it forever + (e.g. if there's not ever enough available GPU RAM) + + client/ + app.h + app_control.cpp + +David 23 Mar 2012 + - scheduler: fix bug that could cause zero credit for + the first few jobs of a new application + (in wu_estimated_pfc(), only multiply by app.min_avg_pfc + if it's nonzero). + + sched/ + credit.cpp + +David 23 Mar 2012 + - client/server: estimate FLOPS for NVIDIA GPUs with + compute capability 3.x. + Not sure if the parameters are right + (128 cores/proc, 2 flops/clock) + but they're better than nothing. + - web: don't allow user names that have leading or trailing white space, + or HTML tags, or are empty + + html/ + inc/ + user.inc + user/ + openid_login.php + create_account_action.php + edit_user_info_action.php + create_account.php + lib/ + coproc.cpp + error_numbers.h + client/ + coproc_detect.cpp + +Rytis 24 Mar 2012 + - web: fix previous commit. + + html/ + inc/ + user.inc + +David 25 Mar 2012 + - compile fix for redhat, from Steffen Moller + + clientgui/gtk/ + taskbarex.cpp,h + +David 26 Mar 2012 + - scheduler: enforce app_version.max_core_version + + sched/ + sched_version.cpp + +David 26 Mar 2012 + - client: report results if CPU suspend pending in next 30 min + + client/ + cs_scheduler.cpp + +David 26 Mar 2012 + - client: set PROJECT::last_upload_start whenever an upload starts, + not just when a result becomes ready to upload. + Fix bug where a scheduler RPC to report results is done + even though uploads are active. + - client: cpu_sched_debug enables messages about not scheduling jobs + because of insufficient RAM + + client/ + pers_file_xfer.cpp + cpu_sched.cpp + +David 26 Mar 2012 + - web: add script for replacing blank user names with the user ID + + html/ops/ + fix_blank_user_names.php + +David 26 Mar 2012 + - client/server: set cores/proc for NVIDIA compute capability 3.0 to 192 + Why can't NVIDIA provide an API for this????? + + lib/ + coproc.cpp + +David 27 Mar 2012 + - client: fix typo that prevented GPU jobs from running + if CPUs were filled with EDF jobs + + client/ + cpu_sched.cpp + +David 27 Mar 2012 + - client: fix bug where if we sent app a message, + and it timed out and we killed it, we'd treat it as a job error. + (This was a major bug). + - API: remove BOINC_STATUS::suspend_request. + I meant to do this before. + + api/ + boinc_api.h + client/ + app_control.cpp + +David 27 Mar 2012 + - client: fix bug in reading reason for temporary exit + - lib: fix a valgrind warning + + lib/ + parse.cpp + client/ + app_control.cpp + +David 27 Mar 2012 + - scheduler: zero host.nsame_ip_addr if IP addr differs from previous + + sched/ + handle_request.cpp + +David 27 Mar 2012 + - client/scheduler: fix error in NVIDIA peak flops calculation + + lib/ + coproc.cpp + +David 27 Mar 2012 + - scheduler: ignore app_version.max_core_version if it's zero + + sched/ + sched_version.cpp + vda/ + vda.cpp + vdad.cpp + sched_vda.cpp + +Charlie 29 Mar 2012 + - Mac installer: When checking for duplicate group membership entries, + count only whole words (preceded and followed by white space) so + that if we have both 'jon' and 'jones' we don't count 'jon' twice. + - Mac uninstaller: Use Directory Services to find the user names of + all human users instead of stepping through the entries in the + /Users directory. + + mac_installer/ + PostInstall.cpp + Uninstall.cpp + +Charlie 29 Mar 2012 + - client: Fix idle detection during fast user switching. See comments + in HOST_INFO::users_idle() for details. + + client/ + hostinfo_unix.cpp + +David 30 Mar 2012 + - scheduler: don't max with min_work_buffer() in estimating + job turnaround time. + min_work_buffer doesn't necessarily reflect network disconnect periods + - client simulator: compile fixes + + sched/ + sched_send.cpp + vda/ + vdad.cpp + client/ + sim.cpp + sim_util.cpp + client_types.cpp + cs_scheduler.cpp + app.cpp + +Charlie 31 Mar 2012 + - MGR: Revert my changes of 18 March to Mac Task Bar Icon because the + second instance is needed to handle our Dock menu. Fix the earlier + problem of losing the suspended icon by ensuring that we always + call the same instance of CTaskBarIcon::SetIcon(). + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp,.h + BOINCTaskBar.cpp,.h + mac/ + MacSysMenu.cpp,.h + +David 2 Apr 2012 + - client: change some unsigned int to size_t in our versions + of NVIDIA APIs. This apparently caused crashes + (in app, not client, which I don't understand) for Einstein@Home. + From Steffen Moller. + + html/ops/ + db_update.php + lib/ + coproc.h + client/ + coproc_detect.cpp + +David 2 Apr 2012 + - client: don't write deviceHandle to NVIDIA XML description. + Um, pointers don't have any meaning outside the process + + lib/ + coproc.cpp + +David 5 Apr 2012 + - admin web: when resetting app statistics, + clear elapsed time stats as well as PFC stats + + db/ + boinc_db.h + sched/ + sched_version.cpp + html/ops/ + app_reset.php + +David 9 Apr 2012 + - server: create a harness for testing validator code. + If you link your functions (init_result(), compare_results(), + cleanup_result()) with validate_test.cpp, + you'll get a program that you can run as + validate_test file1 file2 + and it will compare the two files + (this works only for validators that expect 1 file per result). + + I added a makefile, sched/makefile_validator_test, + that you can use for this. + - server: shuffle code so that the above doesn't need to + link MySQL libraries + - client: if we fetch a master file and it contains no scheduler URLs, + show a message of class INTERNAL_ERROR + - client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double, + and remove dtotalGlobalMem. + Although NVIDIA reports RAM size as a size_t, + there's no reason to store it as an integer after that. + + db/ + boinc_db.h + boinc_db_types.h + sched/ + validate_util2.h + validate_util.h + makefile_validator_test + plan_class_spec.cpp + sched_send.cpp + validator_test.cpp + validator.cpp + html/inc/ + stats_sites.inc + lib/ + coproc.cpp,h + client/ + coproc_detect.cpp + scheduler_op.cpp + +David 9 Apr 2012 + - API: fix C compile error + - initial checkin of remote job stuff for app from ICT + + tools/ + tt_boinc + api/ + boinc_api.h + html/user/ + tree_threader.php + +David 12 Apr 2012 + - CAS@home stuff + tools/ + tt_boinc.cpp + html/user/ + tree_threader.cpp + +David 12 Apr 2012 + - add script for canceling jobs + - CAS@home stuff + + tools/ + tt_boinc + html/ + ops/ + cancel_wu_action.php + cancel_wus.php + inc/ + util_ops.inc + user/ + tree_threader.php + +Charlie 12 Apr 2012 + - web: separate Intel-only from Universal (PowerPC & Intel) clients + on download-all page so that PowerPC clients don't tell users + to upgrade to intel-only version. + + doc/ + versions.inc + +David 13 Apr 2012 + - CAS@home stuff + + tools/ + tt_boinc + html/user/ + tree_threader.php + +David 13 Apr 2012 + - wrapper: when reading fraction-done file, read the last line + (or at least the last double). + This accommodates a particular application (LAMMPS) + that can only append to this file. + - CAS@home stuff + + sched/ + sched_util.cpp + sched_send.cpp + tools/ + tt_boinc + html/user/ + submit.php + tree_threader.php + samples/wrapper/ + wrapper.cpp + +David 13 Apr 2012 + - client: add PID to random stuff used to make host CPID, + in case running multiple clients on same host + + client/ + hostinfo_network.cpp + +David 17 Apr 2012 + - scheduler: fix bug in assigned-job logic (from Derrick Kondo) + - client: only send active tasks in get_simple_gui_info GUI RPC + + sched/ + sched_assign.cpp + client/ + client_types.h + gui_rpc_server_ops.cpp + +David 17 Apr 2012 + - scheduler: add a program that targets remaining jobs in a batch + to a particular user (e.g. for cloud execution). + From Derrick Kondo. + + sched/ + target_batch.cpp + +David 17 Apr 2012 + - scheduler: handling of allow_multiple_clients flag from client + was wrong. From Bernd. + + sched/ + handle_request.cpp + +David 19 Apr 2012 + - web: don't show account keys on account page; + rewrite the page explaining and showing account keys. + - client: remove log flag + - client: remove config option + + html/ + inc/ + user.inc + user/ + weak_auth.php + lib/ + cc_config.cpp,h + client/ + log_flags.cpp + +David 19 Apr 2012 + - fix many problems with validator_test + + sched/ + sched_util.h + makefile_validator_test + sample_dummy_assimilator.cpp + single_job_assimilator.cpp + sched_util.cpp + sample_bitwise_validator.cpp + validate_util.cpp,h + validator_test.cpp + sample_assimilator.cpp + +Rom 19 Apr 2012 + - Update copyrights. + + client/win/ + boinc_cli.rc + boinc_cmd.rc + boinc_log.rc + clientctrl/ + boincsvcctrl.rc + clientgui/ + BOINCGUIApp.rc + DlgAbout.cpp + clientscr/ + boinc_ss.rc + boinc_ss_opengl.rc + clienttray/ + boinc_tray.rc + +David 20 Apr 2012 + - back end: print error messages instead of numbers in several places + + tools/ + dir_hier_move.cpp + backend_lib.cpp + process_input_template.cpp + dir_hier_path.cpp + create_work.cpp + +David 20 Apr 2012 + - client: add log flag + + lib/ + cc_config.cpp,h + +David 20 Apr 2012 + - client: add log flag + + client/ + cs_prefs.cpp + +David 20 Apr 2012 + - client/server: remove assert()s from message log code + + lib/ + msg_log.cpp + +Rom 20 Apr 2012 + - MGR: Show() does not restore the window state from a minimized state. Use + maximize(false) to handle that situation. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp + +David 20 Apr 2012 + - client: if we're contacting a project to ask it for work + of a particular processor type, + ask it for work of other types only if we're below + max buffer for those types. + + client/ + work_fetch.cpp + cs_prefs.cpp + +David 21 Apr 2012 + - client: fix bug that could erroneously cause a GPU to + be "blocked by config file". + + client/ + work_fetch.cpp + coproc_detect.cpp + +Rom 23 Apr 2012 + - client: fix function prototypes for CUDA detection. + + client/ + coproc_detect.cpp + +David 23 Apr 2012 + - client: fix bug that caused a project's jobs to all be run EDF + if the project has the flag set. + + client/ + cpu_sched.cpp + +Rom 24 Apr 2012 + - WINSETUP: Fix long standing installer bug where we were attempting + to add the boinc_master account to the boinc_admins group when + installing in the non-service install mode. boinc_master is only + created during service installs. This was causing a setup failure + on Windows 8. As far as I can tell it should have also been failing + on Win7 and WinVista. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateBOINCGroups.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 24 Apr 2012 + - update_versions: eliminate PHP warnings when no version.xml file + + tools/ + update_versions + +David 25 Apr 2012 + - scheduler: fix bug that tried to open plan class spec file + on each request. + - client: when showing how much work a scheduler request returned, + scale by availability (as is done to show the amount of the request) + - client in account manager request, and + are in wall time, not run time + (i.e. scale them by availability) + + Note: there's some confusion in the code between runtime and wall time, + where in general wall time = runtime / availability. + New convention: let's use "runtime" for the former, + and "duration" for the latter. + + sched/ + sched_customize.cpp + client/ + client_types.cpp,h + time_stats.h + work_fetch.cpp + rr_sim.cpp + cs_scheduler.cpp + cpu_sched.cpp + +David 25 Apr 2012 + - client: fix crashing bug that happened when a scheduler reply + had a parse error, and it included project files. + While parsing the scheduler reply we'd add FILE_REFs to + PROJECT::project_files, + but wouldn't link them to FILE_INFOs since this is done + only if the reply parses correctly. + The next garbage_collect() would dereference these NULL pointers. + + Solution: parse the FILE_REFS into SCHEDULER_REPLY::project_files. + Copy this to PROJECT::project_files only if the reply parses. + + client/ + client_types.cpp,h + scheduler_op.cpp,h + cs_scheduler.cpp + cs_statefile.cpp + +David 25 Apr 2012 + - Bad logic in Win code: + if you have + *pbuf = HeapAlloc(...) + then you need + if (*pbuf == NULL) + not + if (pbuf == NULL) + - various code cleanups + - Makefile.am: don't include clientgui/res; nothing to make there + + from Steffen Moeller + + sched/ + file_upload_handler.cpp + lib/ + diagnostics_win.cpp + procinfo_win.cpp + Makefile.am + client/ + coproc_detect.cpp + client_types.cpp + +David 26 Apr 2012 + - client: enforce in config file not just at startup, + but also when config file is re-read. + + client/ + log_flags.cpp + +David 26 Apr 2012 + - A first attempt to fix the bug where apps die with exit(1) + (whereas they didn't do this w/ older clients). + On Windows, the client uses TerminateProcess(h, 1) to kill processes; + the 1 is the exit code the process will appear to have. + + So instead, add a "will_restart" bool arg to the various kill + functions, and if set use 0 (= STATUS_SUCCESS), + otherwise use EXIT_ABORTED_BY_CLIENT. + + Note: in principle this shouldn't make any difference + for quitting tasks, + since handle_exited_app() checks for task state QUIT_PENDING + and ignores the exit code in that case. + The only place I can see where it would make any difference + is when we kill a process because it hasn't been handling + queued shared-memory messages for 180 seconds. + + - client: add more info to the message about an exited app + + - client: function return values (ERR_*) are different from + process exit codes (EXIT_*). + But in many places we were using return values as exit codes. + Fix these. + Also, break out the different types of limits a job can exceed + (time, disk, memory) into difference exit codes. + + lib/ + error_numbers.h + client/ + client_state.cpp + app.h + gui_rpc_server_ops.cpp + cs_apps.cpp + client_types.cpp + cs_scheduler.cpp + app_control.cpp + +David 27 Apr 2012 + - compile fix + + lib/ + str_util.cpp + +David 27 Apr 2012 + - scheduler: call get_reliability_and_trust() and get_prefs_info() + in send_work_setup(), so that they run before lost jobs are resent. + Otherwise lost jobs could get sent using an app version + that's prohibited by prefs + + sched/ + sched_send.cpp + +David 27 Apr 2012 + - web: put around username | log in + + html/inc/ + util.inc + +David 27 Apr 2012 + - scheduler: change ET_RATIO_LIMIT to 250 + + sched/ + sched_version.cpp + +Rom 27 Apr 2012 + - WINSCR: Use the DefProcHandler function when processing WM_CLOSE/WM_DESTROY + window messages. In effect, let Windows do the default thing. This removes + the hacks which kept the screensaver running with old versions of + Microsoft's keyboard/mouse driver software installed. + + clientscr/ + screensaver_win.cpp, .h + +David 30 Apr 2012 + - web RPC: include rpc_time in XML host description + - client: if acct mgr sends us an account with no authenticator, + show an error message instead of trying to attach + + html/ + inc/ + xml.inc + user/ + show_user.php + client/ + acct_mgr.cpp + +David 30 Apr 2012 + - client: code cleanup. Move RESULT and PROJECT to separate files + + client/ + project.cpp,h (new) + result.cpp,h (new) + *.cpp + +David 30 Apr 2012 + - client: minor code shuffle + + client/ + project.cpp + result.cpp + client_state.h + cs_scheduler.cpp + cpu_sched.cpp + +David 30 Apr 2012 + - client: if an app version needs OpenCL/CUDA/CAL, + make sure that the GPU supports it + (fix bug where sometimes, e.g. CUDA detection fails + but OpenCL succeeds, and we have a CUDA app). + + client/ + client_types.cpp + +Charlie 30 Apr 2012 + - lib: Fix compile break on Mac. + + lib/ + str_replace.h + +Charlie 30 Apr 2012 + - Mac: Update XCode project with new source files. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 1 May 2012 + - Manager: message tweak + - add new files to Win project + + clientgui/ + MainDocument.cpp + win_build/ + boinc_cli.vcproj + +Charlie 3 May 2012 + - Mac installer: changes for OS 10.8 compatibility. + + mac_installer/ + PostInstall.cpp + Uninstall.cpp + +Charlie 6 May 2012 + - Mac installer: changes for OS 10.8 compatibility. + + mac_installer/ + PostInstall.cpp + Uninstall.cpp + +David 6 May 2012 + - client: fix bug where coproc name could be set incorrectly when: + a) there are multiple GPU vendors + b) one of them is detected via OpenCL but not "native" (CUDA/CAL) + + client/ + coproc_detect.cpp + +David 7 May 2012 + - web: if user.has_profile = 0 but there actually is a profile, + update user.has_profile + + html/user/ + view_profile.php + +Bernd 7 May 2012 + - lib: added function secs_to_hmsf() which converts (double) seconds + to a string 0h00m00s00 + + lib/ + str_util.cpp, .h + +Bernd 8 May 2012 + - scheduler: no functional change, just got rid of DOS linebreaks + + sched/ + plan_class_spec.cpp,h + +Bernd 8 May 2012 + - scheduler: don't override avg_ncpus per default + + sched/ + plan_class_spec.cpp + +Bernd 9 May 2012 + - scheduler: get app_version info for validator items + + db/ + boinc_db.cpp + + +David 9 May 2012 + - C++ code: use MAXPATHLEN for char arrays that hold paths + + (many .cpp files) + +David 9 May 2012 + - compile fix + + api/ + boinc_opencl.cpp,h + +David 9 May 2012 + - Win compile fixes + + lib/ + boinc_win.h + filesys.cpp + samples/vboxwrapper/ + vboxwrapper.cpp + +Rom 9 May 2012 + - lib: Fix a bug where information that was meant for stdout was + being written to stderr instead. + - lib: Keep track of the rough estimate of stdout and stderr by + incrementing internal variables instead of doing a stat on + each log write. stat() on Windows is converted to a FindFirstFile() + call which in turn looks up the file size information in the + directory structure file system entry. The directory structure + information is only updated periodically. This lead to larger + than expected log file for both the manager and core client. + + This has the added advantage of reducing the overall number of + file I/O operations when logging information. + + lib/ + diagnostics.cpp + +Charlie 10 May 2012 + - MGR: Eliminate QuickDraw calls for OS 10.8 compatibility. + + clientgui/ + BOINCGUIApp.cpp + DlgEventLog.cpp + DlgitemProperties.cpp + sg_DlgMessages.cpp + mac/ + MacGUI.cpp,.h + +David 10 May 2012 + - diagnostics lib: + - store file sizes as double rather than int + - if we're appending to log files, initialize the + size variables to the current size + - check return value of fprintf, only increment size if it's + + - when rotate log file, reset size var to zero + + lib/ + diagnostics.cpp + +Bernd 11 May 2012 + - scheduler: don't try to send_file_deletes() with an incomplete request + + sched/ + handle_request.cpp + + +Rom 11 May 2012 + - VBOX: When the system confirms our port number request or assigns us a + new port number to work with convert it from network byte order + (big endian) to the host byte order (little endian on x86/x64 processors). + + samples/vboxwrapper/ + vbox.cpp + +David 11 May 2012 + - web: use gmdate() instead date() to avoid time zone warning + html/ + inc/ + uotd.inc + translation.inc + user/ + cert_team.php + cert1.php + uotd.php + cert_all.php + project.sample/ + project.inc + +David 13 May 2012 + - LAMMPS script: chdir back to html/user, else page_head() breaks + + html/user/ + lammps.php + +David 14 May 2012 + - scheduler: revision of app_plan_spec mechanism. + Not debugged, but it compiles now. + + sched/ + plan_class_space.cpp,h + +Rom 15 May 2012 + - MGR: Add OpenCL icon to the ProjectInfo wizard page. + + clientgui/ + ProjectInfoPage.cpp, .h + clientgui/res/ + openclicon.xpm + clientgui/res/templates/ + openclicon.png + lib/ + diagnostics.cpp + +Rom 15 May 2012 + - Normalize the way E@H returns OpenCL information to the client + software. + + doc/ + get_platforms.inc + +Rom 15 May 2012 + - MGR: Fix the icon we use to represent OpenCL. + - client: Update the stock all_project_list.xml file we send out + with new client software. + + clientgui/res/ + openclicon.xpm + win_build/installerv2/redist/ + all_projects_list.xml + +David 18 May 2012 + - client/API/vboxwrapper: add an optional element + to cc_config.xml. + If present, run VMs without the --headless option. + + client/ + app_start.cpp + lib/ + app_ipc.cpp,h + cc_config.cpp,h + samples/vboxwrapper/ + vbox.cpp,h + vboxwrapper.cpp + +David 18 May 2012 + - web: show "run beta apps?" project pref if the project + has any beta applications + (don't require project to specify this in project_specific_prefs.inc) + + html/project.sample/ + project_specific_prefs.inc + +David 18 May 2012 + - web: fix PHP warnings by calling date_default_timezone_set(). + Set it to the timezone specified by the constant TIMEZONE + (in project.inc) or "UTC" if none specified. + - web: fix bugs in submit.php + html/ + inc/ + submit_util.inc + util.inc + user/ + submit.php + +David 18 May 2012 + - scheduler: add a lot more debug messages if is set + + sched/ + sched_array.cpp + +David 18 May 2012 + - vboxwrapper: don't run headful if client is sandboxed (it won't work). + samples/vboxwrapper/ + vboxwrapper.cpp + +Rom 18 May 2012 + - MGR: Remove the visuals in the wizard for multi-core and opencl. This area + will get a bunch of work in a future commit. + + clientgui/ + ProjectInfoPage.cpp, .h + clientgui/res/ + openclicon.xpm (deleted) + multicore.xpm (deleted) + +David 18 May 2012 + - client: show option in log, + and give warning if include this while in sandbox mode + - web: update URLs for BOINCstats + html/inc/ + stats_sites.inc + client/ + log_flags.cpp + +Charlie 18 May 2012 + - VBOX: Fix Mac compiler warnings (deprecated conversion from string constant + to 'char*'). + + samples/vboxwrapper/ + vboxwrapper.cpp + +Rom 18 May 2012 + - MGR: Fix build breaks + + clientgui/ + AccountManagerInfoPage.cpp + clientgui/ + ProjectListCtrl.cpp, .h + +David 20 May 2012 + - API: add boinc_network_usage(); + lets an application report its network usage to BOINC, + and hence take it into account with monthly limits etc. + - API: get rid of deprecated boinc_ops_per_cpu_sec(), + boinc_ops_cumulative(), and + boinc_set_credit_claim(); + - admin web: update manage_apps.php; + add the ability to set homogeneous app version + + html/ops/ + manage_apps.php + api/ + boinc_api.cpp,h + +Rom 21 May 2012 + - MGR: Fix menu redraw issue under Ubuntu's new interface. + fixes #1180 + (From Huibert) + + clientgui/ + AdvancedFrame.cpp + +David 22 May 2012 + - add script to repair damaged user.global_prefs fields + - compile warning fixes + + sched/ + delete_file.cpp + sched_version.cpp + html/ops/ + fix_venue.php + vda/ + stats.cpp + ssim.php + +David 23 May 2012 + - server daemons: add daemon_sleep(n), which sleeps for n secs + but checks for the "stop_daemons" trigger file every 1 sec. + Use this instead of sleep() in daemons. + This will speed up bin/stop. + + sched/ + sched_util.cpp,h + (daemons).cpp + +David 23 May 2012 + - get rid of BOINC_SOCKLEN_T stuff; just use socklen_t + + configure.ac + lib/ + network.h + +David 23 May 2012 + - server: make fix_venue.php work faster + + html/ + inc/ + boinc_db.inc + ops/ + fix_venue.php + +David 25 May 2012 + - server: rename fix_venue.php to fix_prefs.php + + html/ops/ + fix_prefs.php + +David 25 May 2012 + - admin web: add a function for "revalidating" a given set of jobs. + This reruns validation for instances that are successful + but marked as invalid or inconclusive. + Use this if you changed your validator to be more permissive, + and you want to grant credit for instances that were + originally marked as invalid. + + html/ops/ + index.php + revalidate.php (new) + db/ + boinc_db_types.h + +David 25 May 2012 + - fix typos in two PHP scripts + + html/ops/ + repair_forums.php + notify.php + +David 26 May 2012 + - web: don't truncate thread titles + + html/user/ + forum_forum.php + +David 26 May 2012 + - web: increase size of thread title input field to 80 + + html/user/ + team_forum.php + forum_post.php + +David 26 May 2012 + - web RPC: make am_set_info available by POST as well as GET, + since its args can be too long for a URL + + html/user/ + am_set_info.php + +David 26 May 2012 + - admin web: fix revalidated script + + html/ops/ + revalidate.cpp + +David 26 May 2012 + - web RPC: in am_set_info, if both GET and POST args are present, use POST + + html/user/ + am_set_info.php + +David 28 May 2012 + - user web: job submission home page has + 1) links to job submission pages for relevant apps + 2) links to Admin pages for relevant apps + + html/user/ + submit.php + +David 28 May 2012 + - fix tools/manage_privileges script + + html/ + inc/ + submit_db.inc + user/ + manage_project.inc + +David 28 May 2012 + - web: allow users with admin privileges to abort or retire batches + + html/user/ + submit.php + +David 28 May 2012 + - feeder: if we purge a stale job, and it's commited to an HR class, + un-commit it since that's probably the reason why it's stuck + (and it may never get unstuck) + + sched/ + feeder.cpp + +Rom 30 May 2012 + - MGR: Wait until there is valid data in the list box before processing + the OnProjectSelected() event. + + clientgui/ + ProjectInfoPage.cpp + +David 3 June 2012 + - scheduler: various fixes to plan_class_spec.cpp; from Bernd + - admin web: don't include the project's stylesheet, + which may assume a layout not used by admin pages + + sched/ + plan_class_spec.cpp + html/inc/ + util.inc + util_ops.inc + +David 4 June 2012 + - scheduler: if we truncate the # of results accepted + (like we're doing in SETI@home) + don't resend lost results since we don't know what they are + + sched/ + handle_request.cpp + sched_types.cpp,h + +David 4 June 2012 + - DB: add project_state and description fields to batch table. + Both are for use by project. + - job submission file sandbox: don't delete physical file + when delete sandbox entry. + We'll have to figure out how to garbage-collect physical files. + - LAMMPS job submission: + use the 50th-percentile host,not 0th + + html/ + user/ + sandbox.php + lammps.php + ops/ + db_update.php + db/ + schema.sql + boinc_db_types.h + +Wenjing 5 June 2012 + - web: don't allow a sandbox file to be deleted if it's used + by an in-progress batch. + NOTE: this logic checks only 1 job from the batch, + so it assumes that all jobs have the same input files. + + html/ + user/ + sandbox.php + inc/ + sandbox.inc + +David 5 June 2012 + - scheduler: debug plan_class_spec a little. + Add an #ifdef'd main program in plan_class_spec.cpp, + and a makefile, for testing purposes. + + sched/ + sched_main.cpp + plan_class_spec.cpp,h + makefile_plan_class_spec + sched_types.cpp + client/ + coproc_detect.cpp + lib/ + coproc.cpp + +David 5 June 2012 + - scheduler: add Vbox stuff to plan_class_spec + + sched/ + plan_class_spec.cpp,h + +David 5 June 2012 + - scheduler: add example plan_class_spec.xml + - scheduler: change gpu_type from "ati" to "amd" in plan class spec + + sched/ + plan_class_spec.cpp + plan_class_spec.xml.sample + +Bernd 6 Jun 2012 + - scheduler: moved client version check to be last of the checks + performed for a particular app version. It is not necessary + to tell the user to upgrade the client just to suite the needs of + a particular app version if this app version requires resources + that the host dosn't have or didn't request work for. + + Actually I don't think it's good to tell the user he needs to + upgrade the client if there is only one particular app version + that requires a more recent one than he has. I think that the + purpose of the g_wreq->outdated_client flag was checking the + min_core_version in the project configuration. For this the + flag and the notice/message that it triggers is still ok. But + in the app version checks setting this flag leads to misleading + messages in most cases, so I commented that out for now. + + I'm not sure, though, that both of these measurements are needed. + + sched/ + sched_version.cpp + +Bernd 6 Jun 2012 + - scheduler: minor fixes to plan_clas_spec: + - consistently accept both 'ati' and 'amd' for AMD/ATI plan classes + - in OpenCL plan classes always use device memory reported via OpenCL + (might be different e.g. from what's available/reported via CUDA) + - comment formatting + + sched/ + plan_class_spec.cpp + +David 6 June 2012 + - scheduler: add option + + sched/ + plan_class_spec.cpp,h + handle_request.cpp + sched_config.h + +David 7 June 2012 + - scheduler: add max_results_accepted config option. + Limits mem usage by the scheduler, can prevent crashes. + + sched/ + sched_config.cpp,h + sched_types.cpp + +David 7 June 2012 + - scheduler: add , + to plan class XML spec options; + lets you specify a range of ATI GPU models to use + + sched/ + plan_class.cpp,h + sched_config.cpp,h + +David 9 June 2012 + - fixes of various (non-critical) fd and memory leaks. + Fixes #1188. From Julien. + - fix bugs in setting scheduler output buffer size + - code formatting + + client/ + hostinfo_unix_test.cpp + apps/ + concat.cpp + api/ + make_app_icon_h.cpp + texfont.cpp + texture.cpp + tgalib.cpp + vda/ + vdad.cpp + vda_policy.cpp + sched/ + sched_driver.cpp + feeder.cpp + credit_test.cpp + sched_main.cpp + +Bernd 10 Jun 2012 + - API: fix for C-mode compilation of boinc_api.h + moved app_ipc.h inclusion outside __cplusplus + since it contains important C mode prototypes + (boinc_resolve_filename() etc.) + + api/ + boinc_api.h + +Bernd 11 Jun 2012 + - API: fix #2 for C-mode compilation of boinc_api.h + app_ipc.h didn't cleanly compile in C-mode either, + had to fix this, too. + + lib/ + app_ipc.h + +Rom 12 Jun 2012 + - Make things build again on Mac OSX 10.8 using the autoconf + framework. + (From Oliver Bock) + + / + configure.ac + +David 13 June 2012 + - scheduler: remove from scheduler reply for now; + the 7.0.25 client has a bug that causes jobs + to run EDF if this flag is present. + + sched/ + sched_types.cpp + +Charlie 13 June 2012 + - client: Reverse my logic of 16 Feb 2012: we now always use GPU model + name determined from CAL TargetID (if available) for OpenCL model + name of ATI / AMD GPUs because (we believe) it is more user-friendly. + + client/ + coproc_detect.cpp + +David 14 June 2012 + - scheduler: send only if client is 7.0.28 or later. + + sched/ + sched_types.cpp + vda/ + ssim.cpp + vdad.cpp + des.h + stats.cpp,h + vda_lib.cpp,h + +David 14 June 2012 + - client: + - added the definitions for the new Windows 7/2008r2 preSP1 + and Windows 8/2012 SKUs based on the winnt.h + from the Windows 8 RC SKD (also added as proof) + - added the detection for some more Windows SKU + - Updates provided by Teamwork of Planet3Dnow.de to coproc_detect.cpp + - added CAL_TARGET_ID 21 as : AMD Radeon HD 78x0 series (Pitcairn) + (from [P3D] Crashtest) + + client/ + coproc_detect.cpp + hostinfo_win.cpp + +David 14 June 2012 + - client, GUI RPC: detect and export the PCI bus, device, and domain #s. + - scheduler: increase #GPU limit from 8 to 64 + + lib/ + coproc.cpp,h + client/ + coproc_detect.cpp + sched/ + sched_send.cpp + vda/ + vda_lib.cpp,h + ssim.cpp + +Charlie 16 June 2012 + - Mac installer: Fix bugs I introduced on May 3 and May 6. + + mac_installer/ + PostInstall.cpp + Uninstall.cpp + +Charlie 18 June 2012 + - Mac installer: Create or delete Login Items and set screensaver + properly when installing for multiple users on OS 10.7, 10.8. + + mac_installer/ + PostInstall.cpp + Uninstall.cpp + +David 18 June 2012 + - client: it's possible for a host to get app versions for + a given app that have different platforms and different version #s. + The client was erroneously deleting the one w/ the lower version + when it was no longer in use. + Fix: in garbage collection, consider one version to supercede another + only if they have the same platform + + client/ + client_state.cpp + vda/ + ssim.cpp + +David 18 June 2012 + - client: split GPU detection code into separate files + + lib/ + coproc.h + client/ + gpu.h (new) + gpu_opencl.cpp (new) + gpu_amd.cpp (new) + gpu_nvidia.cpp (new) + coproc_detect.cpp + Makefile.am + +David 18 June 2012 + - client: rename coproc_detect.cpp to gpu_detect.cpp + + client/ + gpu_detect.cpp,h + Makefile.am + +David 18 June 2012 + - client: compile fixes + + client/ + gpu_opencl.cpp + gpu_amd.cpp + gpu_nvidia.cpp + lib/ + coproc.cpp,h + +David 18 June 2012 + - win compile fixes + + client/ + gpu_nvidia.cpp + win_build/ + boinc_cli.vcproj + +David 18 June 2012 + - client: for NVIDIA, make an array of the PCI info + for all usable GPUs + + client/ + gpu_nvidia.cpp + +David 19 June 2012 + - client: AMD GPU detection addition (from [P3D] Crashtest) + + client/ + gpu_amd.cpp + +Charlie 20 June 2012 + - Mac: Update XCode project with new source files. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 20 June 2012 + - fix configure error on Linux. + I think the AC_PROG_OBJCXX should be limited to Mac somehow + + configure.ac + +David 20 June 2012 + - web: fix BOINCStats link for host details + + html/inc/ + stats_sites.inc + +David 20 June 2012 + - API, Linux: increase timer thread stack size from 16K to 32K. + Apparently new use of MAXPATHLEN can cause overflow. + Fixes #1191 + + api/ + boinc_api.cpp + +Charlie 21 June 2012 + - Mac: Fix displayed names of BOINC installer, uninstaller, etc. + + clientgui/ + mac/ + SetVersion.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 21 June 2012 + - web: server status page should show elapsed time, not CPU time + + html/user/ + server_status.php + +Charlie 22 June 2012 + - Mac: Code sign the BOINC installer and uninstaller if we have a + valid code signing identity. Code signing using a registered + Apple Developer ID is necessary for GateKeeper with default + settings to allow running downloaded applications under OS 10.8. + + mac_installer/ + release_boinc.sh + +David 22 June 2012 + - client: AMD GPU detection addition (from [P3D] Crashtest) + + client/ + gpu_amd.cpp + +David 25 June 2012 + - scheduler: add support for Intel GPUs, and restructure things + to make it easier to add other GPU types in the future + + sched/ + sched_customize.cpp,h + sched_shmem.cpp + plan_class_spec.cpp + sched_types.cpp,h + sched_version.cpp + sched_send.cpp + lib/ + coproc.cpp,h + +David 25 June 2012 + - Unix build: fix typo + + configure.ac + +David 25 June 2012 + - Unix build: fix for Mac OS X (from Oliver) + + configure.ac + +Charlie 26 June 2012 + - Mac client: Upgrade to curl 7.26.60 and c-ares 1.9.1. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildc_ares.sh + buildcurl.sh + HowToBuildBOINC_XCode.rtf + setupforBOINC.sh + +Charlie 26 June 2012 + - Mac client: build libssl.a and libcrypto.a from openssl 1.0.1c and + do static links instead of a dynamic links with Apple-supplied + dynamic libraries. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildopenssl.sh (new) + HowToBuildBOINC_XCode.rtf + setupforBOINC.sh + +David 26 June 2012 + - client: keep track of the fraction of time that + 1) a network connection is available and + 2) network communication is allowed and + 3) CPU computation is allowed + - If an app version is marked as needs_network, + use the above fraction in estimating its rate of progress + - replace "core client" with "client" in comments. + - scheduler: message tweaks + + client/ + client_state.h + cs_files.cpp + rr_sim.cpp + app_start.cpp + gui_rpc_server_ops.cpp + boinc_cmd.cpp + app_control.cpp + time_state.cpp,h + boinc_log.cpp + sandbox.cpp + check_state.cpp + main.cpp + work_fetch.cpp + gui_rpc_server.cpp + sched/ + sched_send.cpp + lib/ + coproc.cpp + +David 26 June 2012 + - Unix build tweaks. Fixes #1193 (I think) + + m4/ + boinc_check_fcgi.m4 + libcurl.m4 + + +David 26 June 2012 + - Unix build: remove "if" around AC_PROG_OBJCXX; + apparently this is needed for Gentoo build. + You may need a recent automake for this to work. + Fixes #1193. + + configure.ac + +David 26 June 2012 + - Unix build tweak + + configure.ac + +Charlie 28 June 2012 + - Mac client: Update wxMac build script for partial compatibility + with OS 10.8 and XCode 4.5. See comments in script for details. + + mac_build/ + buildWxMac.sh + +David 28 June 2012 + - client: when estimating FLOPS for an anonymous-platform app version + for which no estimate has been supplied by user, + use (CPU speed)*(cpu_usage + 10*gpu_usage) + (add the 10*) + + lib/ + common_defs.h + str_util.cpp + client/ + client_state.cpp + sched/ + transitioner.cpp + +David 28 June 2012 + - web: when showing a batch, recompute and update its fraction done + - feeder: don't enumerate results for WUs with nonzero error_mask + - scheduler: in slow_check(), make sure the WU error_mask is still zero + + html/user/ + submit.php + db/ + boinc_db.cpp + sched/ + sched_array.cpp + +David 29 June 2012 + - client: add missing end tag for . Doh! + - validator: add some sanity-checking for credit, + to prevent granting 1e38 credit. + max_granted_credit now defaults to the equivalent of 1 TeraFLOP-year. + Instances that exceed this are not counted in the credit + calculation, and a critical-mode log message is written + - wrapper: remove wall_cpu_time; not used anymore + + html/user/ + host_app_versions.cpp + samples/wrapper/ + wrapper.cpp + sched/ + validator.cpp + credit.cpp + lib/ + coproc.cpp + +David 1 July 2012 + - When the client makes a scheduler RPC without requesting work, + and there's a simple reason + (e.g. the project is suspended, no-new-tasks, downloads stalled, etc.) + show it in the event lot. + If the reason is more complex, don't try to explain. + + client/ + work_fetch.cpp,h + scheduler_op.cpp + +David 2 July 2012 + - client: in the job scheduler, there's a check to prevent + overcommitting the CPUs if an MT is scheduled. + Skip this check for GPU jobs. + + client/ + cpu_sched.cpp + +David 2 July 2012 + - Compile fixes for Fedora core 17. From Christian B. Fixes #1194. + - Fix various #include issues. + + CODING STYLE LAW (minimal inclusion principle): + If foo.cpp requires , + #include in foo.cpp, NOT foo.h + + various/ + various + +David 2 July 2012 + - more code cleanup + + vda/ + ssim.cpp + sched/ + plan_class_spec.cpp + lib/ + various + +David 2 July 2012 + - Unix build: fix problem with Debian automated builds; from Steffen M + + configure.ac + +Charlie 3 July 2012 + - Mac: fix build break. + + client/ + cpu_sched.cpp + +Charlie 3 July 2012 + - Mac client: Update Xcode project for compatibility with Xcode 4.3.2 + and Xcode 4.5. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 3 July 2012 + - Client (Win): in file_size(), use _stat64() instead of stat(). + Otherwise it doesn't work for files >= 2GB + - Client: TIME_STATS::trim_stats_log() wasn't working because + it's called in the constructor of TIME_STATS, + which is called before we've done a chdir() to the data dir. + + Note: for this reason, no disk access should be done in constructors + of global objects. A quick scan found no instances of this. + + client/ + client_state.cpp + time_stats.cpp,h + lib/ + filesys.cpp + +Charlie 5 July 2012 + - Mac: update script which builds our installer to work with Xcode 4.3 + for Lion and later. Because PackageMaker is now distributed + separately from Xcode, we emulate it using low-level tools. + + mac_installer/ + release_boinc.sh + +David 5 July 2012 + - client: remove "device" entry from CUDA_DEVICE_PROP, + and change types of mem-size fields from int to double. + These fields are size_t in NVIDIA's version of this; + however, cuDeviceGetAttribute() returns them as int, + so I don't see where this makes any difference. + - client: fix bug in handling of element. + - scheduler: message tweaks. + Note: [foo] means that the message is enabled by . + + + lib/ + coproc.cpp,h + client/ + gui_nvidia.cpp + work_fetch.cpp + scheduler_op.cpp + db/ + boinc_db_types.h + boind_db.h + vda/ + sched_vda.cpp + sched/ + plan_class_spec.cpp + sched_types.cpp + +Charlie 5 July 2012 + - Mac: update build scripts to work with Xcode 4.3 for Lion and later. + Xcode and the Mac OS X SDKs are no longer installed at fixed locations. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildc_ares.sh + buildcurl.sh + buildopenssl.sh + BuildMacBOINC.sh + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + +David 7 July 2012 + - distributed storage: move chunk_size to VDA_FILE. + Add some missing code. + + sched/ + sched_types.cpp,h + db/ + boinc_db_types.h + boinc_db.cpp + schema_vda.sql + vda/ + vda_lib.cpp,h + vda.cpp + vdad.cpp + ssim.cpp + sched_vda.cpp + html/user/img/ + star.gif + +Charlie 10 July 2012 + - Mac: update build scripts, source files and Xcode project to allow + building with Xcode 4.3 under OS 10.7.x Lion and Xcode 4.5 under + OS 10.8 Mountain Lion. + + clientgui/ + mac/ + MacBitmapCompboBox.cpp + MacSysMenu.cpp + clientscr/ + Mac_Saver_ModuleView.m + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildc_ares.sh + buildcurl.sh + buildopenssl.sh + BuildMacBOINC.sh + HowToBuildBOINC_XCode.rtf + +David 10 July 2012 + - Unix: include db/boinc_db_types.h in installed headers + - client: small code cleanup, no functional change + + db/ + Makefile.am + client/ + time_stats.cpp + +David 10 July 2012 + - web: show job status correctly for new exit codes + + html/inc/ + result.inc + +David 10 July 2012 + - user web: add "posts per page" pref for message boards; + get rid of existing funky page-limit prefs + + html/ + inc/ + forum.inc + user/ + edit_forum_preferences*.php + forum_reply.php + forum_thread.php + +Charlie 11 July 2012 + - Mac: update sample code to allow building with Xcode 4.3 and + to eliminate compiler warnings. + + samples/ + example_app/ + MakeMacExample.sh + Makefile_mac + Makefile_mac2 + uc2_graphics.cpp + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + vboxwrapper/ + BuildMacVboxWrapper.sh (new) + Makefile_mac (new) + vboxwrapper.xcodeproj/ + project.pbxproj + wrapper/ + BuildMacWrapper.sh + +David 11 July 2012 + - web: improve forum pagination + + client/ + client_msgs.cpp + html/ + inc/ + forum.inc + user/ + forum_forum.php + forum_reply.php + forum_threads.php + +David 11 July 2012 + - web: forum fixes + + html/ + inc/ + forum.inc + user/ + forum_forum.php + +Charlie 12 July 2012 + - Mac: update sample code to allow building with Xcode 4.4 GM seed + under OS 10.8 GM seed. + + samples/ + example_app/ + MakeMacExample.sh + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + vboxwrapper/ + BuildMacVboxWrapper.sh + vboxwrapper.xcodeproj/ + project.pbxproj + wrapper/ + BuildMacWrapper.sh + +David 12 July 2012 + - web: make "jump to first unread" work with pagination + + html/ + inc/ + forum.inc + user/ + forum_thread.php + +David 12 July 2012 + - web: make links to specific posts work with pagination + + html/ + inc/ + forum.inc + user/ + forum_thread.php + +David 12 July 2012 + - web: don't try to update thread last-read-time if not logged in + + html/inc/ + forum.inc + +David 13 July 2012 + - web: when posting to a thread, show a page of its most recent posts + - feeder: add --by_batch option: interleaves jobs from different batches. + From Jack Harris. + + sched/ + feeder.cpp + html/user/ + forum_reply.php + forum_user_posts.php + +David 13 July 2012 + - web: after post to a thread, show a page of the most recent posts + (but don't change user's sort prefs) + + html/user/ + forum_thread.php + forum_reply.php + +David 13 July 2012 + - web: use · instead of | as a separator + + html/inc/ + result.inc + +David 16 July 2012 + - lib: treat MINGW32 like CYGWIN32 (in 1 place - should do everywhere?) + from Oliver + + lib/ + filesys.cpp + db/ + schema_vda.sql + sched/ + Makefile.am + html/ops/ + manage_apps.php + vda/ + sched_vda.cpp + +David 16 July 2012 + - web: make "jump to first unread" work for threads that + haven't been viewed before + + html/inc/ + forum.inc + +Charlie 17 July 2012 + - Mac: Minor corrections to documentation and sample code. + + mac_build/ + HowToBuildBOINC_XCode.rtf + samples/ + example_app/ + Makefile_mac2 + +David 17 July 2012 + - compile fix (from Oliver) + + api/ + boinc_api.h + +David 17 July 2012 + - client: delete sticky files when reset project + + client/ + client_state.cpp + +David 17 July 2012 + - client: if we get a job for which a GPU is missing, + keep the RESULT record so that we can report it to the scheduler. + Otherwise we'll keep getting the same job if the project has + set. + + client/ + cs_scheduler.cpp + +Charlie 18 July 2012 + - lib: Adjust #include files as requested by Oliver Bock. + + lib/ + procinfo_mac.cpp + + +Bernd 18 July 2012 + - API: fix Makefile.mingw + - allow to augment CFLAGS and CXXFLAGS + - allow to at least set DEBUG flags externally, such that + backtrace flags can be used + - minor textual fixes (whitespace error, typo in comment) + + lib/ + Makefile.mingw + +Rom 18 July 2012 + - client: Re-introduce the WM_QUERYENDSESSION window message handler to + the power management window proc, it was removed during one of the Win9x + code scrubs. When we see it, inform the client it is time to shutdown. + + client/ + sysmon_win.cpp + +David 21 July 2012 + - lib: fix typo + + lib/ + coproc.cpp + +David 21 July 2012 + - client simulator: fix build breaks + + client/ + makefile_sim + sim.cpp + sim_util.cpp + +David 21 July 2012 + - client: don't request work for backup project for a processor type + unless there are idle instances of that type + + client/ + work_fetch.cpp + +David 23 July 2012 + - volunteer storage: implement "vda status" command + + vda/ + vda_lib.cpp,h + vda_lib2.cpp (new) + vdad.cpp + vda.cpp + Makefile.am + db/ + boinc_db_types.h + +David 23 July 2012 + - client: improve "new version available" notice + + client/ + current_version.cpp + +David 25 July 2012 + - volunteer data storage: intermediate checkin + + vda/ + vda.cpp + ssim.cpp + vdad.cpp + sched_vda.cpp + vda_lib2.cpp + db/ + boinc_db_types.h + boinc_db.cpp + schema_vda.sql + +Charlie 26 July 2012 + - Mac: fix a typo in build script. + + mac_build/ + setupForBOINC.sh + +Charlie 27 July 2012 + - Mac: create build scripts for FreeType-2.4.10 and FTGL-2.1.3-rc5 + libraries; eliminate extra output from wxMac build script. + + mac_build/ + buildfreetype.sh (new) + buildFTGL.sh (new) + buildWxMac.sh + setupforBOINC.sh + +Rom 30 July 2012 + - MGR: Use the same fix for the simple gui that we used on the advanced + gui with regards to the menu on Ubuntu's interface. + + clientgui/ + sg_BoincSimpleFrame.cpp + +David 1 Aug 2012 + - web: after post to a thread, show thread in user's chosen order + instead of newest first. + + db/ + db_base.cpp,h + html/ + inc/ + forum.inc + user/ + forum_reply.php + vda/ + vda_lib.cpp + vdad.cpp + sched_vda.cpp + vda_lib2.cpp + +David 1 Aug 2012 + - code cleanup: in foo.cpp, include foo.h first + + lib/ + *cpp + +David 1 Aug 2012 + - use instead of . Seems to be needed on Debian. + + sched/ + credit.cpp + plan_class_spec.cpp + sched_driver.cpp + feeder.cpp + vda/ + ssim.cpp + +Charlie 1 Aug 2012 + - API, SCR: Switch from *.txf fonts to TrueType fonts in graphics + applications, ensuring that all related files have no licensing + issues. + + / + COPYRIGHT + api/ + gutil/cpp,.h + ttfont.cpp,.h + texfont.cpp,.h (deleted) + texture.cpp,.h (deleted) + txf_util.cpp,.h (deleted) + txf/ + *.txf (deleted) + ttf/ + courier_bold (deleted) + helvetica (deleted) + README (deleted) + liberation-fonts-ttf-2.00.0/ (added) + AUTHORS (added) + CHANGELOG (added) + LICENSE (added) + README (added) + *.ttf (added) + clientscr/ + ss_app.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + mac_installer/ + release_boinc.sh + +Charlie 2 Aug 2012 + - Mac: Update scripts for building branded installers to allow + building with Xcode 4.3 under OS 10.7.x Lion; change names of + branded installers from "*macOSX_universal" to "*macOSX_i686" + since we no longer support PowerPC Macs. + + mac_installer/ + make_CharityEngine.sh + make_GridRepublic.sh + make_ProgThruProc.sh + +David 2 Aug 2012 + - scheduler: compile fixes for FCGI + + sched/ + hr_info.cpp + html/inc/ + forum.inc + lib/ + util.cpp + filesys.cpp + +Rom 2 Aug 2012 + - SS: Update project files to use FreeType and FTGL on Windows. + + api/ + ttfont.cpp, .h + clientscr/ + ss_app.cpp + win_build/ + boinc_ss.vcproj + libgraphics2.vcproj + +Eric K 2 Aug 2012 + - scheduler, validator: Modified credit granting for "appox credit" + result to weight results by proximity to the average estimate. This + reduces the number of results that are granted extremely low credit + when a new app_version is released and (I hope) improves work/duration + estimates by speeding up the convergence of app versions stats. I may + try using this in lieu of low_average for normal result, but haven't yet. + +Charlie 3 Aug 2012 + - Sample Graphics app: Switch from *.txf fonts to TrueType fonts. + samples/ + example_app/ + MakeMacExample.sh + Makefile_mac + Makefile_mac2 + uc2_graphics.cpp + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + +Rom 3 Aug 2012 + - VBOX: Do not perform the hardware virtualization check when the + guest VM is 64-bit. 64-bit guest vms require hardware virtualization + and should fail without it. + - VBOX: Implement the directive in the vbox_job.xml file. + if init_data.xml is set, the wrapper will + copy the init_data.xml file to the shared directory before the VM is launched. + + samples/vboxwrapper/ + vbox.cpp + vboxwrapper.cpp + +David 3 Aug 2012 + - volunteer storage. Seems to be working, at least in simulation + + vda/ + vda_lib2.cpp + vda_lib.cpp,h + stats.cpp + ssim.cpp + vdad.cpp + +Rom 3 Aug 2012 + - WIN: Make the example graphics application build again. + - WIN: Get rid of the linker warnings for both the default screensaver and + the example graphics application + + win_build/ + boinc_ss.vcproj + uc2_graphics.vcproj + +David 3 Aug 2012 + - API: remove support for BMP and TGA image files; + the code to parse these had no license info. + Only JPEG is supported now. + + api/ + Makefile.am + bmplib.cpp,h (removed) + tgalib.cpp,h + gutil.cpp + +Charlie 3 Aug 2012 + - API: remove references to removed files bmplib.h and tgalib.h. + + api/ + gutil_text.cpp + +Charlie 3 Aug 2012 + - Mac: Update build instructions and build script. + + mac_build/ + HowToBuildBOINC_XCode.rtf + setupforBOINC.sh + +David 3 Aug 2012 + - Client: initial checkin for Android version. From Joachim Fritzsch. + + lib/ + common_defs.h + prefs.cpp,h + android_log.h (new) + network.cpp + shmem.h + hostinfo.h + str_util.cpp + synch.cpp + client/ + hostinfo_unix.cpp + client_msgs.cpp + cs_prefs.cpp + main.cpp + hostinfo_network.cpp + +David 3 Aug 2012 + - client: other Android stuff, from Joachim + + client/ + cs_platforms.cpp + lib/ + md5_file.cpp + +David 3 Aug 2012 + - scheduler: fix message typo + + sched/ + sched_send.cpp + +Rom 6 Aug 2012 + - WIN: Don't include the newer DBGHELP symbols in MinGW64. + (From Oliver Bock) + + lib/ + stackwalker_imports.h + +David 6 Aug 2012 + - client: fix error in runtime estimation for active tasks + + client/ + work_fetch.cpp + +Rom 7 Aug 2012 + - MGR: Enforce the 0..10 day limit on the connect interval for the + advanced preferences dialog. At some point we should rename + it. + + clientgui/ + DlgAdvPreferences.cpp + +Rom 7 Aug 2012 + - API: Remove ttfont.cpp from Makefile.am. Apps should include it + in there Makefile as needed. + + api/ + Makefile.am + +Rom 7 Aug 2012 + - WINSCR: Fix problem with the screensaver needlessly cycling in + preview mode. Ugh. + + clientscr/ + screensaver_win.cpp + +David 7 Aug 2012 + - client: parse in prefs + - server: compile fix + + lib/ + prefs.cpp + vda/ + vda.cpp + ssim.cpp + vdad.cpp + vda_lib2.cpp + +Charlie 7 Aug 2012 + - WIN: Remove reference to deleted tgalib.cpp file. + + win_build/ + libgraphics2.vcproj + +David 8 Aug 2012 + - server: volunteer storage bug fixes. + Note to self: jerasure's decoder program loops or crashs + if there are no missing chunks. + vda/ + vda_lib.cpp,h + vda.cpp + sched_vda.cpp + vda_lib2.cpp + db/ + boinc_db_types.h + +David 8 Aug 2012 + - Client/manager: there was a bug because some code was writing + "cpu" in XML, and other code was looking for "CPU". + To fix this and prevent similar problems, + processor type names are now encapsulated in proc_type_name_xml(). + Code should use this rather than having hard-wired names. + Redefine: GPU_TYPE_* as macros that call proc_type_name_xml(). + + client/ + client_types.cpp + client_state.cpp + clientgui/ + DlgItemProperties.cpp + sched/ + sched_version.cpp + lib/ + gui_rpc_client_ops.cpp + coproc.cpp,h + +Charlie 8 Aug 2012 + - MGR: Fix build break. + + clientgui/ + DlgItemProperties.cpp + +Eric K 8 Aug 2012 + - LIB: Added conditional printf to the message log class, since most + scheduler log output seems to be conditional on config parameters + such as config.debug_version_select. + + lib/ + msg_log.{h.cpp} + +Eric K 8 Aug 2012 + - Credit is more stable when pegged_avg() is used. + - When a normal and an approx result are compared the normal result + now gets double weight in a pegged_avg() with any approx results. + "Normal mode" GPU results are frequently resulting in bad credit + values for yet undetermined reasons. Since GPUs are so fast, there + can be a lot of bad values in a short time. Including the prior + average and another result even seems to prevent this in many case. + - Replaced many of the if { msg_log.printf } with msg_log.cond_printf() + - Accidentally changed some of the formatting when trying a new editor + that apparently autoformats. Sorry for the extra diff lines. + - There's a problem with pfc calculation for hosts whose credit + calculation fails the sanity check. This has been a problem for + a long time. Because the result fails the sanity check, the + host_app_version pfc is never updated. Because hav.pfc is never + updated, the credit calculation continues to be wrong. + - This change is subject to review. Use with caution. + + sched/ + credit.cpp + +David 10 Aug 2012 + - client: when we're making a scheduler RPC + for a reason other than work fetch, + and we're deciding whether to piggyback a work request, + skip the checks for hysteresis (buffer < min) + and for per-resource backoff time. + These checks are there only to limit the rate of RPCs, + which is not relevant since we're doing one any. + + This fixes a bug where a project w/ sporadic jobs specifies + a next_rpc_delay to ensure regular polling from clients. + When these polls occur they should request work regardless of backoff. + + client/ + work_fetch.cpp,h + +David 10 Aug 2012 + - client: tweak to the above: never ask for work if buffer > max. + This is needed to prevent projects that use next_rpc_delay + from queuing unbounded work. + + client/ + work_fetch.cpp + +David 10 Aug 2012 + - API: add boinc_set_min_checkpoint_period(int). + Lets application specify a min checkpoint interval. + The actual min checkpoint interval is the max of this + and the user-specified pref for min disk interval. + + api/ + boinc_api.cpp,h + +David 10 Aug 2012 + - server: fix bug in restrict_wu_to_user() that caused it + to go into infinite loop + + sched/ + sched_util.cpp + +David 10 Aug 2012 + - client: Android-related tweaks, from Joachim + + client/ + main.cpp + lib/ + synch.cpp + android_log.h + +David 10 Aug 2012 + - lib: switch include order to the way it was (general to specific). + Should fix MinGW compile + + lib/ + *.cpp + +David 10 Aug 2012 + - server: compile fix + + lib/ + synch.cpp + +David 11 Aug 2012 + - db_purge: fix typo that cause bad DB query when using assignments + + sched/ + db_purge.cpp + vda/ + vda.cpp + vda_lib.cpp,h + vda_lib2.cpp + vda_policy.cpp + ssim.cpp + +David 13 Aug 2012 + - client: treat all 4xx HTTP errors as permanent + - code cleanup + - API: increase a buffer in timer_handler() from 256 to 512. + + sched/ + credit.cpp + lib/ + msg_log.cpp,h + client/ + http_curl.cpp + api/ + boinc_api.cpp + +Rom 13 Aug 2012 + - WINSETUP: Provide the ability to create the acct_mgr_login.xml from + from the command line. Useful for mass deployments within companies + and charities. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + boinccas95.def + boinccas95.vcproj + CACreateAcctMgrLoginFile.cpp, .h + CACreateProjectInitFile.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 13 Aug 2012 + - volunteer storage stuff + + vda/ + vda_lib.cpp,h + ssim.cpp + sched_vda.cpp + vda_lib2.cpp + client/ + client_types.h + lib/ + common_defs.h + +Charlie 14 Aug 2012 + - Mac installer: Fixes for short (posix) user names containing spaces. + + mac_installer/ + PostInstall.cpp + release_boinc.sh + Uninstall.cpp + +David 15 Aug 2012 + - file upload handler: add an #ifdef for disabling locking of files + while writing to them. + It's not clear to me that this locking is beneficial, + and it may be causing filesystem problems at WCG + - volunteer storage stuff + + vda/ + vda_lib.cpp,h + vda.cpp + ssim.cpp + vdad.cpp + vda_lib2.cpp + db/ + boinc_db_types.h + boinc_db.cpp + schema_vda.sql + sched/ + file_upload_handler.cpp + +David 16 Aug 2012 + - scheduler: if sending GPU description to pre-7.0 client, + call it CUDA instead of NVIDIA + + sched/ + sched_types.cpp + db/ + boinc_db.cpp + vda/ + vda.cpp + sched_vda.cpp + vda_lib2.cpp + +David 17 Aug 2012 + - volunteer storage: various + + vda/ + vda.cpp + vdad.cpp + sched_vda.cpp + vda_lib2.cpp + vda_lib.h + +David 18 Aug 2012 + - client: if a project has excluded GPUs of a given type, + allow it to fetch work of that type if the # of runnable + jobs it <= the # of non-excluded instances (rather than 0). + + client/ + work_fetch.cpp,h + rr_sim.cpp + +David 18 Aug 2012 + - file upload handler: + Do first read from socket before opening the disk file + (an attempt to fix filesystem lockups on WCG). + Increase buffer size from 16KB to 256KB. + + sched/ + file_upload_handler.cpp + +Charlie 20 Aug 2012 + - client: If OpenCL detection gets an error for a platform or device, + finish detection of the remaining platforms and / or devices. + Move OpenCL memory size workaround back into OpenCL source file. + + client/ + gpu_opencl.cpp + gpu_amd.cpp + lib/ + coproc.h + +David 20 Aug 2012 + - client: print log msgs (enabled by task_debug) if the client + times out on quitting or aborting a task, and has to kill it. + - volunteer storage: bug fixes + + vda/ + sched_vda.cpp + vda_lib2.cpp + client/ + app_control.cpp + +David 20 Aug 2012 + - client: take GPU exclusions into account when making + initial work request to a project + - client: put some casts to double in NVIDIA detect code. + Shouldn't make any difference. + - volunteer storage: truncate file to right size after retrieval + + client/ + work_fetch.cpp,h + gpu_nvidia.cpp + scheduler_op.cpp + vda/ + vdad.cpp + vda_lib2.dpp + +David 21 Aug 2012 + - client: change the way project disk share is computed. + - Allow projects to report "desired disk usage" (DDU). + If the client learns that a project wants disk space, + it can shrink the allocation to other projects. + - Base share computation on DDU rather than disk usage. + - Introduce the notion of "disk resource share". + This is defined (somewhat arbitrarily) as resource share + plus 1/10 of the largest resource share. + This is intended to ensure that even zero-share projects + get enough disk space to store app versions and data files; + otherwise they wouldn't be able to compute. + - server: use host.d_boinc_max (which wasn't being used) + to start d_project_share reported by client. + - volunteer storage: change the way hosts are allocated to chunks. + Allow hosts to store several chunks of the same file, if needed + + vda/ + vda_lib2.cpp + vda_lib.h + client/ + project.cpp,h + client_state.h + cs_prefs.cpp + scheduler_op.cpp + db/ + boinc_db_types.h + sched/ + sched_types.h + +David 22 Aug 2012 + - file_upload_handler: bug fix + - volunteer storage: bug fixes + + vda/ + vda_lib2.cpp + vda_lib.h + sched/ + file_upload_handler.cpp + +Rom 22 Aug 2012 + - client: streamline the console detach process under Windows. + + client/ + cs_cmdline.cpp + main.cpp + +Eric K 23 Aug 2012 + - build environment: fixed bug in generate_svn_version.sh that generated + incorrect output on unix systems that don't synchronize writes to the + same file from opposite sides of a pipe. + / + generate_svn_version.sh + +David 24 Aug 2012 + - volunteer storage: fix the way that hosts are classified as alive/dead + - add a config item vda_host_timeout. + A host that hasn't done a scheduler RPC for this long + is considered dead. + - a host that's not running a version 7+ client is considered dead + - host.cpu_efficiency (an otherwise unused field) is used + as a flag for dead hosts + - the scheduler clears the flag if the client is v7+ + - vdad sets the flag for hosts where last RPC is old + - before choosing a host for chunk download, + vdad checks its client version. + + db/ + boinc_db_types.h + vda/ + vda_lib.cpp,h + vda_lib2.cpp + vdad.cpp + sched_vda.cpp + sched/ + sched_config.cpp,h + +David 24 Aug 2012 + - server: add support for having a mixture of CPU-intensive + and non-CPU-intensive applications. + An app can be specified as non-CPU-intensive in project.xml, + and this attribute can be set or cleared using the admin web interface. + Note: support for this was added to the client in 2011, + but we didn't add server-side support at that time. + This change is in 6.12 and later clients. + + py/Boinc/ + database.py + vda/ + vda_lib.cpp,h + db/ + boinc_db_types.h + boinc_db.cpp + db/ + schema.sql + sched/ + sched_types.cpp + html/ops/ + db_update.php + manage_apps.php + +David 26 Aug 2012 + - server: compile fix + - server: add nfiles_on_host(), + a support function for "locality scheduling lite". + + vda/ + vda_lib.h + sched_vda.cpp + client/ + client_state.cpp + sched/ + sched_send.cpp + +David 27 Aug 2012 + - scheduler: add support for limited locality scheduling + - API: remove support for PPM files + + api/ + gutil.cpp + db/ + boinc_db_types.h + boinc_db.cpp + schema.sql + sched/ + sched_shmem.cpp + sched_array.cpp + sched_send.cpp,h + sched_types.cpp,h + sched_shmem.h + html/ops/ + db_update.php + +David 28 Aug 2012 + - scheduler: improved log messages for limited locality scheduling + + sched/ + sched_send.cpp + transitioner.cpp + sched_shmem.h + sched_array.cpp + lib/ + str_util.cpp + +David 29 Aug 2012 + - scheduler: msg tweaks + + sched/ + sched_send.cpp + sched_array.cpp + handle_request.cpp + +David 30 Aug 2012 + - remote job submission: start writing a general-purpose + cmdline tool for remote job submission (not done) + - remote job submission: support the 4 file modes described + in the documentation (not done) + + html/inc/ + submit.inc + vda/ + sched_vda.cpp + sched/ + sched_send.cpp + sched_array.cpp + tools/ + remote_submit (new) + +David 30 Aug 2012 + - scheduler: support for projects with some non-CPU-intensive apps + (but not all) wasn't finished. + New logic: if the project has an NCI app then: + - make a list of NCI apps for which the client doesn't have + a job in progress. + - try to send one job for each of these apps + - do this even if no work is being requested. + - don't send jobs for NCI apps by other mechanisms + + NOTE: the client logic isn't quite right for mixed NCI projects. + If there's no job for a given NCI app, + the client should do a scheduler RPC. + This isn't critical so we won't do this now. + + db/ + boinc_db_types.h + sched/ + handle_request.cpp + sched_array.cpp,h + sched_shmem.cpp,h + sched_customize.cpp + sched_send.cpp + tools/ + tt_boinc + +David 2 Sept 2012 + - client: fix bug that broke file signing with X.509 certificates. + From matszpk. Fixes #1168. + + lib/ + filesys.cpp,h + crypt.cpp + client/ + cs_files.cpp + +David 5 Sept 2012 + - admin web: improve script for browsing credit info + - client: add a coproc-missing message + + html/ops/ + credit.php + client/ + client_types.cpp + sched/ + sched_customize.cpp + +David 6 Sept 2012 + - admin web: credit browser tweaks + + html/ + user/ + lammps.php + ops/ + credit.php + sched/ + file_deleter.cpp + +David 6 Sept 2012 + - scheduler: fix bug in homogeneous app version. + We were using a static BEST_APP_VERSION in + check_homogeneous_app_version(), + and it wasn't being initialized on each call + (e.g. its HOST_USAGE was not being cleared). + + sched/ + sched_version.cpp + file_deleter.cpp + +David 6 Sept 2012 + - scheduler: fix sending of NCI jobs. + We were failing to mark the cache entries as free. + - API: initialize GPU device # to -1; + If client doesn't give us a device number, something is wrong + and it's better to not start computing. + + sched/ + sched_array.cpp + sched_send.cpp + lib/ + app_ipc.cpp + +David 7 Sept 2012 + - scheduler: more detailed msgs for NCI job sending + + sched/ + sched_array.cpp + +Charlie 8 Sep 2012 + - client: work around a nasty bug which crashes OSX (!) on some + dual-gpu MacBooks with CUDA installed if we call cuInit() + unless we force use of the discrete (NVIDIA) GPU. + + client/ + gpu_opencl.cpp + +Rom 10 Sept 2012 + - client: initialize memfree and memtotal before use for Nvidia + cards. It appears that the Nvidia API was only setting 32-bits + of the 64-bit value. The remaining 32-bits were whatever + was on the stack. + + client/ + gpu_nvidia.cpp + +Eric K 10 Sept 2012 + - sched: fixed bug in plan_class_spec.cpp the resulting in GPU performance + not being included in scheduler or credit calculations. + + sched/ + plan_class_spec.cpp + +Charlie 12 Sep 2012 + - client: Don't support CUDA on dual-GPU MacBooks with automatic + GPU switching but continue to support OpenCL for NVIDIA GPUs. + This prevents forcing use of the discrete (NVIDIA) GPU, which + greatly decreases time the computer can run on battery power. + + client/ + hostinfo_unix.cpp + gpu_nvidia.cpp + gpu_opencl.cpp + lib/ + hostinfo.h + +David 12 Sept 2012 + - user web: fix bug when do forum search on Google + + html/user/ + forum_search_action.php + +David 13 Sept 2012 + - scheduler: fix logic error limited locality scheduling. + In LLS array pass, skip file-on-host check if host + doesn't have any sticky files. + TODO: it should actually be "any sticky files for this app". + But we currently don't have any way to know that. + + sched/ + sched_array.cpp + +Rom 13 Sept 2012 + - client: Initialize the total mem size_t. + + client/ + gpu_nvidia.cpp + +David 16 Sept 2012 + - client: enforce excluded app at startup + - win compile fix + + client/ + app.cpp + lib/ + filesys.h + +David 19 Sept 2012 + - scheduler: fix bug that cause NCI to be sent even when + client is not requesting work + - client: parse the option in cc_config.xml + + html/inc/ + util.inc + client/ + log_flags.cpp + sched/ + sched_send.cpp + +David 19 Sept 2012 + - Client/manager: if a GPU app is suspended because a GPU-exclusive + app is running, show an appropriate message. + + clientgui/ + sg_TaskPanel.cpp + MainDOcument.cpp + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 19 Sept 2012 + - client: message tweak + client/ + app.cpp + cs_prefs.cpp + +David 20 Sept 2012 + - client simulator compile fix + clientgui/ + MainDocument.cpp + client/ + makefile_sim + +David 20 Sept 2012 + - cancel_jobs tool: add --name option to cancel job by name. + From David Coss. + + tools/ + backend_lib.cpp,h + cancel_jobs.cpp + +David 20 Sept 2012 + - A bunch of tweaks from Steffen Moller, e.g. using MAXPATHLEN + + various files + +Charlie 21 Sep 2012 + - Mac: Fix build breaks introduced by above changes; path_to_error + arg is modified by CheckNestedDirectories() so can't be const. + + client/ + check_security.cpp + +David 21 Sept 2012 + - client: MAXPATHLEN tweak + + client/ + app.cpp + +David 21 Sept 2012 + - Manager: fix "exclusive GPU app running" message logic. + + clientgui/ + MainDocument.cpp + +David 22 Sept 2012 + - Unix startup script fixes, from Andrew Stevenson + + client/ + cs_statefile.cpp + script/ + boinc-client.in + +David 23 Sept 2012 + - web: add global prefs reset button + - change default disk prefs to: + - no absolute limit on disk usage (we need to work with future disks) + - keep 100 MB min free space + - use up to 90% of total space + + html/ + user/ + prefs_default.php (new) + prefs.php + inc/ + prefs.inc + lib/ + prefs.cpp + +Eric K 24 Sept 2012 (Date committed to git repository) + - sched: 2 bug fixes in credit.cpp + - It was possible if all results for a workunit were PFC_MODE_INVALID + that NaN pfc would be used causing database update errors. Solved + by using wu_estimated_pfc() as pfc in that case. + - Sanity check was comparing raw_pfc directly to rsc_fpops_bound. That + was causing problems GPUs with high performance estimates. Fixed by + including the app_version scale factor in the check. I thought I had + already committed this... + - Removed a few lines of commented out experimental code accidentally + comitted earlier. + + sched/ + credit.cpp + +David 30 Sept 2012 + - API: if get a resume message from client while in a critical section, + clear the suspend_request flag. + Otherwise we'll end up doing two suspends, + and on Win the app will be suspended forever. + + api/ + boinc_api.cpp + +David 10 Oct 2012 + - tweaks + + samples/nvopencl/ + nvopencl.cpp + vda/ + sched_vda.cpp + vda_lib2.cpp + +David 11 Oct 2012 + - client and API: improve the way an app checks for the death of the client + Old: heartbeat mechanism + Problem: if the client is blocked for > 30 secs + (e.g. because it takes a long time to write the state file, + of because it's stopped in a debugger) + then apps exit. + This is bad is the app doesn't checkpoint and has been + running for a long time. + New: the client passes its PID to the app. + The app periodically (10 sec) checks that the process still exists. + Notes: + - For backward compatibility (e.g. new API w/ old client, + or vice versa) the client still sends heartbeats, + and the API checks heartbeats if the client doesn't pass a PID. + - The new mechanism works only if the client's PID isn't assigned + to a new process within 10 secs of the client exiting. + Windows 2000 reuses PIDs immediately, so check for Win2K + and don't use this mechanism if so. + + TODO: For Unix multithread apps, + critical sections aren't currently being enforced. + Need to fix this by masking signals. + + api/ + boinc_api.cpp + client/ + hostinfo_win.cpp + app_start.cpp + lib/ + app_ipc.cpp,h + proc_control.cpp + +David 11 Oct 2012 + - Win compile fixes. + For now, include psapi.lib in various project properties. + Try to figure out a different way. + + api/ + boinc_api.cpp + client/ + app_start.cpp + lib/ + boinc_win.h + win_build/ + various .proj files + +David 15 Oct 2012 + - user web: show the right page/message after the following actions: + - rate a post + - moderate a post + - edit a post + - report a post + + sched/ + validator.cpp + tools/ + update_versions + html/user/ + forum_rate.php + forum_report_post.php + forum_moderate_post_action.php + forum_edit.php + +Charlie 15 Oct 2012 + - MGR: We don't save Simple View's width & height since it's + window is not resizable, so don't try to read them back. + + clientgui/ + BOINCGUIApp.cpp + +David 16 Oct 2012 + - scheduler: when adding a new HOST_APP_VERSION, check if there's already + one for that (host, app, platform, plan class). + If there is, use it and update the app version ID. + This way, when a new app version is released, + it will use the runtime and reliability statistics + of the previous one, instead of starting from scratch. + - add a script "stage_file" for staging an input file. + This checks for immutability violations, + moves or copies the file to the download hierarchy, + computes and stores its MD5, and makes a gzipped version if needed. + - add some files missing from git repo + + tools/ + dbcheck_files_exist + grep_logs + stage_file (new) + sched/ + credit.cpp + +Charlie 17 Oct 2012 + - MGR: Add Control-Shift_E shortcut (Command-Shift-E on Mac) to show Event + Log in Simple View, for the convenience of tech suppport volunteers. + + clientgui/ + sg_BoincSimpleFrame.cpp,.h + +David 17 Oct 2012 + - scheduler: debug the above + - add some files missing from git repo + + py/Boinc/ + boinc_db.py + configxml.py + sched_messages.py + util.py + sched/ + credit.cpp + validator.cpp + +David 17 Oct 2012 + - client: maintain current and previous uptime, + and include them in scheduler RPC request. + - scheduler: parse them + Note: this is to support a future feature where the scheduler will + send non-checkpointing jobs only clients likely to be able + to complete them. + + client/ + client_state.cpp,h + cs_scheduler.cpp + cs_statefile.cpp + lib/ + gui_rpc_client_ops.cpp + sched/ + sched_types.cpp,h + +David 17 Oct 2012 + - web: add "Validation inconclusive" state for task lists + + html/inc/ + result.inc + +David 17 Oct 2012 + - tweaks + + client/ + async_file.cpp + lib/ + filesys.cpp,h + samples/atiopencl/ + atiopencl.cpp + +David 17 Oct 2012 + - web: if showing a thread in oldest-first order, + default to showing the last page of posts. + + html/inc/ + forum.inc + +Charlie 18 Oct 2012 + - MGR: Fix bug which can cause Manager to quit when started in Simple View. + - lib: fix unmatched parentheses which confused source file editor. + + clientgui/ + sg_TaskPanel.cpp + lib/ + gui_rpc_client_ops.cpp + +Charlie 18 Oct 2012 + - lib: don't clear entire APP_VERSION struct in APP_VERSION::parse_coproc(). + + lib/ + gui_rpc_client_ops.cpp + +Rom 19 Oct 2012 + - Add missing references to psapi.lib for various build configurations. + + win_build\ + boinc_ss.vcproj + example_app_multi_thread.vcproj + sleeper.vcproj + uc2.vcproj + uc2_graphics.vcproj + vboxwrapper.vcproj + wrapper.vcproj + +David 19 Oct 2012 + - client: change work fetch policy to avoid starving GPUs + in situations where GPU exclusions are used. + - client: fix bug in round-robin simulation when GPU exclusions are used. + + Note: this fixes a major problem (starvation) + with project-level GPU exclusion. + However, project-level GPU exclusion interferes with most of + the client's scheduling policies. + E.g., round-robin simulation doesn't take GPU exclusion into account, + and the resulting completion estimates and device shortfalls + can be wrong by an order of magnitude. + + Furthermore, this fix only works for project-level exclusions. + If you use app-level exclusions, starvation is still possible. + + The only way I can see to fix this would be to model each + GPU instance as a separate resource, + and to associate each job with a particular GPU instance. + This would be a sweeping change in both client and server. + + client/ + log_flags.cpp + project.cpp,h + rr_sim.cpp + work_fetch.cpp,h + lib/ + coproc.h + +David 21 Oct 2012 + - remote job submission tweak + + html/user/ + submit_rpc_handler.php + +Rom 22 Oct 2012 + - SCR: Fix bug in X11 screensaver. + (From Michael Tughan) + + clientscr/ + screensaver_x11.cpp + +Rom 23 Oct 2012 + - SCR: Fix bug in X11 screensaver. + (From David Coss) + + clientscr/ + screensaver_x11.cpp + +Rom 24 Oct 2012 + - API: Remove the call to SendMessage(WM_QUIT, ...) after destroying the window. + There is no guarantee what order the event queue will be processed in and if + WM_QUIT is processed before WM_DESTROY something might linger around. + + api/ + graphics2_win.cpp + +David 23 Oct 2012 + - server: add stage_file to project setup; add error checking to stage_file + + py/Boinc/ + setup_project.py + tools/ + create_work_example + stage_file + +David 24 Oct 2012 + - client: if an app's finish file has existed for 10 seconds, kill it; + it must be hung in boinc_finish(). + This behavior has been seen with LHC@home and maybe other projects. + + client/ + app.cpp,h + cpp_control.cpp + +Rom 24 Oct 2012 + - Fix the db schema check functionality so that it will work with make_project + and upgrade correctly. We no longer rely on svnversion for this sort of + thing. + + db\ + init_db + html\ops\ + db_schemaversion.php + tools\ + make_project + upgrade + +David 24 Oct 2012 + - db_update.php is not executable, db_schemaversion.php is + NOTE: I suggest that we not use .php for executable scripts + + html/ops/ + db_update.php + +Rom 25 Oct 2012 + - API: Use CloseWindow() to respond to the API Defined WM_SHUTDOWNGFX event just + in case CloseWindow() does something more than just send the WM_CLOSE event + to the window proc. + + api/ + graphics2_win.cpp + +Rom 26 Oct 2012 + - WINSETUP: Add the account manager auth logic from the 6.8 installer to current + generation installers. + - WINSETUP: Make whether or not to create start menu items configurable via the + command line. Useful for mass deployment installs. + + win_build\installerv2\ + BOINC.ism + BOINCx64.ism + +Rom 27 Oct 2012 + - VBOX: Change the way elapsed_time is calculated in vboxwrapper. + + Previously: elapsed_time was just incremented with the value of the polling + period each iteraction through the main loop. This introduced issues + when vboxmanage lagged for whatever reason. This lag could go as high as 5 + seconds. Over the timespan of a day this could increase the wall clock time + of a task a great deal. + + Now: elapsed_time is incremented with the time it took to execute the main + loop. + + samples\vboxwrapper\ + vboxwrapper.cpp + +Rom 27 Oct 2012 + - VBOX: Increase elapsed_time if we were forced to sleep after executing the main loop + + samples\vboxwrapper\ + vboxwrapper.cpp + +Rom 28 Oct 2012 + - VBOX: Remove timeouts for creating and deleting snapshots. + + samples\vboxwrapper\ + vbox.cpp, .h + +David 28 Oct 2012 + - client: fix bug in handling proxy info in cc_config.file + + client/ + log_flags.cpp + +David 28 Oct 2012 + - client: if exiting because of exit_after_finished flag, + write state file before exiting so we don't restart the job later. + + client/ + app.cpp + app_control.cpp + +David 28 Oct 2012 + - client, Unix: make Curl sockets close-on-exec, + so that app processes don't inherit them. + - client: fix bug that makes client exit if a slot dir contains + finish file on startup + + client/ + app_control.cpp + http_curl.cpp + +David 28 Oct 2012 + - update_versions: get key directory from config file + + tools/ + update_versions + +David 29 Oct 2012 + - GUI RPC: expose TIME_STATS info (e.g. on_frac) in + the binding of the get_state() RPC + - client: move client_start_time and previous_uptime + from CLIENT_STATE to TIME_STATS, + so that these are also visible in GUI RPC + - scheduler RPC: move uptime and previous_uptime + into + - client: condition an RR simulation message on + - boinccmd: show TIME_STATS info in --get_state + + client/ + client_state.cpp,h + cs_prefs.cpp + cs_scheduler.cpp + cs_statefile.cpp + rr_sim.cpp + time_stats.cpp,h + lib/ + common_defs.h + gui_rpc_client.h + gui_rpc_client_ops.cpp + gui_rpc_client_print.cpp + +David 31 Oct 2012 + - wrapper: compile fix for new gcc + + samples/wrapper/ + wrapper.cpp + +Rom 31 Oct 2012 + - VBOX: Don't report any error messages when unregistering the VM. + + VirtualBox 4.2 no longer requires certain commands to be executed + to unregister a VM while older versions do. Just ignore any error + codes, if it becomes a problem we can always make it conditional + on what version of VirtualBox is installed. + + samples\vboxwrapper\ + vbox.cpp + +Eric K 31 Oct 2012 + - wrapper: Fix for likely compile problems due to including new header in + previous wrapper.cpp without checking for their existence. The macros + required already existed in config.h. + + samples/wrapper/ + wrapper.cpp + +Rom 31 Oct 2012 + - VBOX: Make deleting a snapshot a non-terminal event. + + Deleting stale snapshots now consists of enumerating the existing + snapshots and deleting all but the most recent snapshot. This fixes + the problem where, for one reason or another, a snapshot could not + be deleted at one point in time. The wrapper would just continue to + create new ones and was unable to successfully deal with the older + ones. Disk space would eventually run out. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + +David 31 Oct 2012 + - client: message tweaks for failed app startup + + client/ + app_start.cpp + client_state.cpp + +David 31 Oct 2012 + - Fix MinGW build: generate_svn_version.sh only works on top level + (from Bernd) + + lib/ + Makefile.mingw + +Rom 31 Oct 2012 + - VBOX: Remove extra arguments to the enumerate snapshot command. + + Copy and paste was not my friend. + + samples\vboxwrapper\ + vbox.cpp + +Rom 31 Oct 2012 + - VBOX: Cleanup all the snapshots before unregistering the VM. + + samples\vboxwrapper\ + vbox.cpp, .h + +Rom 1 Nov 2012 + - VBOX: Make adjustments to the clean-up procedure for Vbox 4.2. + + samples\vboxwrapper\ + vbox.cpp, .h + +David 1 Nov 2012 + - client/manager: move the conditional define of MAXPATHLEN + from boinc_win.h to filesys.h, + so that the client will hopefully build on Hurd, + which doesn't define MAXPATHLEN. + + client/ + http_curl.cpp + lib/ + boinc_win.h + common_defs.h + filesys.h + gui_rpc_client.h + +David 1 Nov 2012 + - fix a few unlikely but possible file-descriptor leaks (from RustyBSD) + - remote job submission: always compute fraction done when showing + batch list; check for nonexistent user + + client/ + cs_scheduler.cpp + html/user/ + submit.php + lib/ + cert_sig.cpp + mem_usage.cpp + sched/ + sched_timezone.cpp + +David 1 Nov 2012 + - client: in checking reasons for not requesting work, + look at backoff last. + Otherwise the user can get a misleading message if they + update a project that's backed off + + client/ + work_fetch.cpp + client/ + work_fetch.cpp + +Eric 1 Nov 2012 + - Found another missing file + + m4/ + ax_lang_compiler_ms.m4 + +Eric 1 Nov 2012 + - Allow sysconfdir to be specified rather than hardcoded at '$prefix/etc' + (submitted by Alexander Kruppa) + - Fix for compiles on os without xlocale.h + + configure.ac + client/ + scripts/ + Makefile.am + +Eric 1 Nov 2012 + - First fixes for out-of-source-tree configure and compile + - samples/example_app will no longer build by default. To build + person compile must run make in the example_app directory in-source-tree. + Thats because the Makefile is not and should not be generated by automake. + + Makefile.am + Makefile.incl + m4/ + sah_header_stdcxx.m4 + sah_largefile_breaks_cxx.m4 + sah_links.m4 + +David 2 Nov 2012 + - example app: get the graphics app to build on Fedora Core 14 + Note: this required installing various packages, + and tweaking the Makefile in various ways, + some of them FC14-specific ways + + html/ops/ + upgrade_db.php + samples/example_app/ + Makefile + uc2_graphics.cpp + sched/ + sched_send.cpp + tools/ + upgrade + +Rom 4 Nov 2012 + - VBOX: Do not count the sleep time as part of the elapsed time when + the VM is supposed to be suspended. + + samples\vboxwrapper\ + vboxwrapper.cpp + +Rom 5 Nov 2012 + - VBOX: Ugh, if sleep_time is greater than zero, increment elapsed_time by + the poll interval. + + samples\vboxwrapper\ + vboxwrapper.cpp + +David 7 Nov 2012 + - remote job submission: show 20 batches, with link to show all + - XML parser: make low-level functions inline, in an attempt + (unsuccessful, as far as I can tell) to boost performance + + html/user/ + submit.php + lib/ + cc_config.h + parse.cpp,h + proxy_info.h + sched/ + sched_main.cpp + +David 7 Nov 2012 + - scheduler: add separate log flag for locality sched lite + sched/ + sched_config.cpp,h + sched_array.cpp + - remote job submission: show 20 batches, with link to show all + +David 7 Nov 2012 + - scheduler: log message tweaks + - Some C++ files in clientgui/ had execute permissions (??). Clear them. + + sched/ + sched_array.cpp + sched_send.cpp + +David 7 Nov 2012 + - a bunch of skin files had execute permissions (??). Clear them. + + clientgui/skins/Charity Engine/graphic/* + +David 7 Nov 2012 + - scheduler: when resend jobs: + - don't use devices for which work is not being requested + - obey wu_is_infeasible_custom() + (e.g. don't send SETI@home VLAR jobs to GPUs) + - scheduler: add log flag for slot-level messages + - admin web: show and allow control of app.beta + + html/ops/ + manage_apps.php + sched/ + sched_array.cpp + sched_config.cpp,h + sched_resend.cpp + +David 8 Nov 2012 + - remove execute permissions from various files that shouldn't have them + +David 8 Nov 2012 + - add slide-show screensaver (from David Coss) + + samples/example_app/ + Makefile + slide_show.cpp (new) + +David 8 Nov 2012 + - user web: fix bug when showing last page of thread + + html/inc + forum.inc + +David 8 Nov 2012 + - scheduler: remove redundant call to wu_is_infeasible_custom() + introduced in yesterday's commit + + sched/ + sched_resend.cpp + +David 8 Nov 2012 + - scheduler: compile fix for wu_is_infeasible_custom() + sched/ + sched_customize.cpp + +Charlie 9 Nov 2012 + - Mac: update Xcode project for building boinc_zip. + + zip/ + boinc_zip.xcodeproj/ + project.pbxproj + +Charlie 9 Nov 2012 + - Mac: add slide-show screensaver to example_app Xcode project + and Mac example_app build scripts. + - example app: fix compiler warnings in slide_show.cpp. + + samples/ + example_app/ + MakeMacExample.sh + Makefile_mac + Makefile_mac2 + slide_show.cpp + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + +David 10 Nov 2012 + - fix typo in mass email script + html/ops/ + mass_email.php + +David 11 Nov 2012 + - remove job submission: fix SQL typo and error messages. + From Niclas Lockner. + + html/user/ + submit_rpc_handler.php + tools/ + manage_privileges + +David 12 Nov 2012 + - client: Win build fix + - add Visual Studio project for slide_show + NOTE: this currently doesn't build because boinc_zip is missing. + I'll fix this soon. + win_build/ + slide_show.vcproj + boinc.sln + client/ + client_types.h + +David 13 Nov 2012 + - client: fix bug where, when updating a project, we fail to request work + even though higher-priority projects are marked as no-new-tasks + or are otherwise ineligible for work fetch. + + client/ + cs_scheduler.cpp + work_fetch.cpp + +David 13 Nov 2012 + - build fixes for OpenBSD, from rustyBSD + + configure.ac + client/ + hostinfo_unix.cpp + +David 13 Nov 2012 + - web: update .pot file for project web site translations + + locale/templates/ + BOINC-Project-Generic.pot + +David 14 Nov 2012 + - client: TIME_STATS fields go in part of state file + - scheduler: parse TIME_STATS fields (e.g., uptime) + - admin web: small fix for manage_apps.php + + client/ + cs_statefile.cpp + time_stats.cpp + db/ + boinc_db_types.h + html/ops/ + manage_apps.php + sched/ + handle_request.cpp + sched_types.cpp + +Rom 14 Nov 2012 + - WIN: Introduce updated project files for the boinc_zip library used + by the slide_show project. + - WIN: Adjust the slide_show project so that it will build both 32-bit + and 64-bit versions and use the boinc_zip library. + + win_build\ + boinc.sln + slide_show.vcproj + libboincopencl_staticcrt.vcproj + libboinczip_staticcrt.vcproj (Added) + zip\ + boinc_zip.dsp (Deleted) + ziptest.dsp (Deleted) + ziptest.vcproj (Deleted) + boinc_zip.cpp + boinc_zip.vcproj (Deleted) + +Charlie 15 Nov 2012 + - boinc_zip: updated boinc_zip to use current info-zip source files + (info-zip 3.0 and info-unzip 6.0) and to build on Mac and Windows. + Added a vc project to build boinc_zip_test, not yet working. + Also update Makefile.am, but this has not been tested. + + zip/ + boinc_zip.cpp,.h + boinc_zip.xcodeproj/ + project.pbxproj + Makefile.am + test.cpp + zip/ + (many files) + unzip/ + (many files) + +David 15 Nov 2012 + - boinc_zip: fix Unix build + + zip/ + Makefile.am + zip/ + Makefile.am (add) + unix/ + unix.c -> z_unix.c + unzip/ + Makefile.am (add) + +Charlie 15 Nov 2012 + - boinc_zip: updated boinc_zip xCode project for unix.c -> z_unix.c. + + zip/ + boinc_zip.xcodeproj/ + project.pbxproj + +Rom 15 Nov 2012 + - ZIP: Use only one variant of the C Runtime Library + - ZIP: Remove test_boinczip from the default solution. + + win_build\ + boinc.sln + test_boinc_zip.vcproj + +Charlie 15 Nov 2012 + - boinc_zip: fixed boinc_zip and test_boinc_zip windows projects. + + win_build/ + boinc.sln + libboinczip_staticcrt.vcproj + test_boinc_zip.vcproj + +Charlie 16 Nov 2012 + - boinc_zip: minor cleanup of Xcode project. + + zip/ + boinc_zip.xcodeproj/ + project.pbxproj + +Rom 16 Nov 2012 + - ZIP: Add missing preprocessor symbols to the 64-bit build targets. + + win_build/ + libboinczip_staticcrt.vcproj + +Rom 16 Nov 2012 + - VBOX: Add the ability to specify both the type and model of disk + controller to use. It can be specified by adding the following + tags to vbox_job.xml: + + + + + Executing vboxmanage --help will list the available options in the + storeagectl section. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + +Charlie 16 Nov 2012 + - boinc_zip: Fix linker conflicts if zlib and boinc_zip are both used + in a project. + + win_build/ + boinc.sln + libboinczip_staticcrt.vcproj + test_boinc_zip_zlib_conflicts.vcproj (added) + zip/ + boinc_zip.xcodeproj/ + project.pbxproj + Makefile.am + testzlibconflict.cpp (added) + +David 18 Nov 2012 + - compile fix for FreeBSD + + lib/ + network.cpp + +David 19 Nov 2012 + - remove deprecated MAC address code + + lib/ + mac_address.cpp,h (removed) + +David 19 Nov 2012 + - client: if a project has 64 or more ready-to-report tasks, + report them. + 64 is chosen a bit arbitrarily, but the idea is to + limit the number of tasks reported per RPC, + and to accelerate the reporting of small tasks. + + client/ + client_state.h + cs_scheduler.cpp + project.h + +Charlie 19 Nov 2012 + - Mac: remove deleted files from Xcode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 19 Nov 2012 + - boinc_zip: Add teszlibconflict target to boinc_zip Xcode project. + + zip/ + boinc_zip.xcodeproj/ + project.pbxproj + +David 19 Nov 2012 + - wrapper: add source files for a regular expression library + (too be used soon) + - boinc_zip: add makefile for test program + samples/wrapper/ + regerror.c + regexp.c,h + regexp_custom.h + regexp_int.h + regexp_memory.c + regexp_report.c + regmagic.h + regsub.c + zip/ + makefile_test + +Charlie 20 Nov 2012 + - WIN: Fix Debug configuration which was corrupted. + + win_build\ + boinc.sln + +David 21 Nov 2012 + - wrapper: add feature for unzipping input files and zipping output files + + samples/wrapper/ + Makefile + job.xml + wrapper.cpp + +David 21 Nov 2012 + - Unix build: add configure option for minimal make output + + configure.ac + +David 22 Nov 2012 + - client: if a project is anonymous platform, + don't send list of alternate platforms in scheduler RPC. + + client/ + cs_platforms.cpp + +David 22 Nov 2012 + - scheduler: if primary platform is anonymous, ignore alternate platforms. + + sched/ + handle_request.cpp + +David 23 Nov 2012 + - client: fix uninitialized vars in CPU feature detection (from RustyBSD) + + client/ + hostinfo_unix.cpp + html/ + inc/ + submit.inc + user/ + sandbox.php + +David 25 Nov 2012 + - wrapper: compile fixes for Win + + samples/wrapper/ + regexp.c,h + +David 25 Nov 2012 + - scheduler: add extra check for not sending homogeneous app version + jobs to anonymous platform clients + - remote job submission: add DB table for keeping track of files + + db/ + schema.sql + contraints.sql + html/ + inc/ + submit_db.inc + ops/ + db_update.php + sched/ + sched_version.cpp + +David 26 Nov 2012 + - client: when reset a project, clear its scheduler URL list + (force a reload of the master page) + + client/ + app_start.cpp + client_state.cpp + html/inc/ + submit_db.inc + +David 26 Nov 2012 + - admin web: change revalidate function to revalidate + valid as well as invalid results + + html/ops/ + revalidate.php + +David 27 Nov 2012 + - server programs: allow config.xml to be a symlink + + lib/ + filesys.cpp,h + sched/ + sched_config.cpp + +Charlie 28 Nov 2012 + - Mgr: Fix Windows hangs and simplify code for notices display: + - Handle protocol-relative URLs which hung Manager on Windows. + RSS feeds and web pages may use protocol-relative (scheme- + relative) URLs, such as + Since the html comes from a web server via http, the scheme + is assumed to also be http. But we have cached the html in + a local file, so it is no longer associated with the http + protocol / scheme. Therefore all our URLs must explicity + specify the http protocol. + - The Manager would hang when trying to get data from web + servers if there was no Internet connection. This happened + on Windows only, not on Mac. (I don't have the hardware to + test on Linux, but I suspect it is OK as Mac uses UNIX.) I + fixed this by implementing asynchronous network I/O in + CBOINCHtmlListBox on Windows. + - Eliminate need for CBOINCVListBox class and greatly simplify + CBOINCHtmlListBox class. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp,.h + BOINCHtmlLBox.cpp,.h + BOINCInternetFSHandler.cpp,.h + BOINCVListBox.cpp,.h (removed) + Makefile.am + mac_build/ + boinc.xcodeproj/ + project.pbxproj + win_build/ + boincmgr.vcproj + +David 28 Nov 2012 + - client: add "client app configuration" feature; see + http://boinc.berkeley.edu/trac/wiki/ClientAppConfig + This lets users do the following: + 1) limit the number of concurrent jobs of a given app + (e.g. for WCG apps that are I/O-intensive) + 2) Specify the CPU and GPU usage parameters of GPU versions + of a given app. + Implementation notes: + - max app concurrency is enforced in 2 places: + 1) when building the initial job run list + 2) when enforcing the final job run list + Both are needed to avoid possible starvation. + - however, we don't enforce it during RR simulation. + Doing so could cause erroneous shortfall and work fetch. + This means, however, that work buffering will not work + as expected if you're using max concurrency. + + client/ + app_config.cpp,h (new) + Makefile + client_state.cpp + client_types.h + cpu_sched.cpp + file_names.h + project.h + result.h + +David 28 Nov 2012 + - client: add the above to VS project + + win_build/ + boinc_cli.vcproj + +David 28 Nov 2012 + - user web: don't show fraction done in list of batches. + It slows things down too much. + + html/user/ + submit.php + +David 28 Nov 2012 + - fix mysterious problems in Windows build + + win_build/ + boinc.sln + wrapper.vcproj + +David 28 Nov 2012 + - client: bug fixes for app config feature + + client/ + client_state.cpp + client_types.h + +Charlie 28 Nov 2012 + - client: add new files app_config.cpp,h to Xcode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 29 Nov 2012 + - client (Win) preallocate large files to avoid file fragmentation + when you write to them incrementally + (workaround for shoddy filesystem design) + - admin web: remove line that limited mass emails to 10 + client/ + async_file.cpp + file_xfer.cpp + gui_http.cpp + http_curl.cpp,h + scheduler_op.cpp + lib/ + filesys.cpp,h + html/ops/ + mass_email.php + +David 30 Nov 2012 + - server: fix create_forums.php + + html/ops/ + create_forums.php + +David 30 Nov 2012 + - lib: Win compile fix for boinc_allocate_file() + + lib/ + filesys.cpp + +Charlie 30 Nov 2012 + - Mgr: Fix some rare issues on Windows (including a possible memory + leak) when switching to a client on a different computer after + trying to display notices without an Internet connection. + + clientgui/ + BOINCHtmlLBox.cpp,.h + BOINCInternetFSHandler.cpp + NoticeListCtrl.cpp,.h + +David 30 Nov 2012 + - client: if is set, + don't check file existence at startup + - wrapper: open files in shared mode + so you can look at them while wrapper is running + + client/ + cs_files.cpp + lib/ + procinfo.cpp + samples/wrapper/ + wrapper.cpp + +David 30 Nov 2012 + - Mac installer: add missing pclose() (from RustyBSD) + + mac_installer/PostInstall.cpp + +David 30 Nov 2012 + - scheduler: use HOST_USAGE::uses_gpu() function where appropriate + + sched/ + sched_customize.cpp + +David 30 Nov 2012 + - scheduler: build fixes for FreeBSD. From RustyBSD. + + vda/ + sched_vda.cpp + vda_lib2.cpp + +David 2 Dec 2012 + - web: add hook for "science info" link in result lists (for CAS@home) + + html/inc/ + result.inc + util.inc + +Charlie 4 Dec 2012 + - OpenCL: Add a second API for boinc_get_opencl_ids() which is + compatible with older clients (before BOINC 7.0.12). + + api/ + boinc_opencl.cpp,h + +Rom 4 Dec 2012 + - VBOX: Add the ability to read a fraction done file from the shared + directory. Use the same semantics as the regular wrapper. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + +Charlie 5 Dec 2012 + - OpenCL: Add definition of GPU_TYPE_INTEL to match definitions of + GPU_TYPE_ATI and GPU_TYPE_NVIDIA. + - OpenCL: Change type argument of new boinc_get_opencl_ids() API from + char* to int; it now accepts PROC_TYPE_NVIDIA_GPU, PROC_TYPE_AMD_GPU + or PROC_TYPE_INTEL_GPU. + + api/ + boinc_opencl.cpp,h + lib/ + coproc.h + +Charlie 5 Dec 2012 + - OpenCL: First pass at adding support for Intel Ivy Bridge GPUs. + The following files still need updating: + ProjectInfoPage.cpp,.h, ProjectListCtrl.cpp,.h + client/ + acct_mgr.cpp + client_state.cpp + cpu_sched.cpp + cs_account.cpp + cs_scheduler.cpp + cs_statefile.cpp + gpu_detect.cpp,.h + gpu_opencl.cpp + log_flags.cpp + project.cpp + scheduler_op.cpp + clientgui/ + AdvancedFrame.cpp + AsyncRPC.cpp + BOINCTaskBar.cpp + DlgItemProperties.cpp + lib/ + cc_config.cpp,.h + coproc.cpp,.h + gui_rpc_client.h + gui_rpc_client_ops.cpp + +David 7 Dec 2012 + - lib: add size info to messages when realloc() fails in MFILE + lib/ + mfile.cpp + +Rom 5 Dec 2012 + - MGR: Fix two potential security issues with browser.cpp where the + query to the cookie database could have been abused. At present + neither of the two parameters originate as user input so using it + as an attack vector isn't very high. Prevent the functions from + being exploited in the future in case the routines were ever used + in a different way. + + clientgui/ + browser.cpp + +Rom 5 Dec 2012 + - VBOX: Fix build break introduced by the previous vbox commit. + + samples/vbox/ + vboxwrapper.cpp + +Rom 5 Dec 2012 + - client: strcasestr doesn't exist on Windows. + + client/ + gpu_opencl.cpp + +Charlie 5 Dec 2012 + - client: strcasestr does exist on Windows in lib/str_replace.cpp, + but I just needed to #include "str_replace.h". This is + preferable because it handles INTEL as well as Intel and intel. + + client/ + gpu_opencl.cpp + +David 5 Dec 2012 + - fix typo in GUI RPC + - check in some code for multi-user job prioritization + + db/ + boinc_db.cpp,h + boinc_db_types.h + sched/ + Makefile.am + adjust_user_priority.cpp (new) + sched_shmem.h + lib/ + gui_rpc_client_ops.cpp + tools/ + backend_lib.cpp + +Charlie 6 Dec 2012 + - OpenCL: Add peak FLOPS computation for Intel Ivy Bridge GPUs. + + lib/ + coproc.cpp + +David 7 Dec 2012 + - adjust_user_priority: scale FLOP count by app's min_avg_pfc + to account for systematic errors in FLOP count + - adjust_user_priority: get total project RAC by summing RAC + of app versions where RAC has been updated in past week + - feeder: add --priority_asc option + (for when wu.priority is a logical time) + + sched/ + adjust_user_priority.cpp + feeder.cpp + tools/ + backend_lib.cpp,h + +David 7 Dec 2012 + - Manager: compile fixes for OpenBSD. From RustyBSD. + + clientgui/ + AsyncRPC.cpp + stdwx.h + +David 7 Dec 2012 + - client (unix): rename() doesn't work between filesystems. + If the user has set things up so that slots/ is a symlink + to a different filesystem, things won't work when the client + moves output files from the slot to project dir. + Solution: if rename() fails, try system("mv ...") + since mv works across filesystems + + lib/ + filesys.cpp + +Charlie 7 Dec 2012 + - Manager: Fix Mac bug introduced by recent OpenBSD compile fixes. + + clientgui/ + mac/ + config.h + +Rom 7 Dec 2012 + - MGR: Minor fix to the OpenCL output for Intel GPUs. + + client/ + gpu_detect.cpp + +Rom 8 Dec 2012 + - client: Hook up the XML portion of the Intel GPU detection code so + the server scheduler knows about it. + - client: Print out the peak flops for the Intel GPU, the regular + OpenCL descriptions do not show peak flops. + + NOTE: At this point we should be supporting Intel GPUs as far as + detection and reporting its presence to the server goes. I don't + know about scheduling though. + + Thanks Tank Master for the interactive debug session in IRC. + + client/ + gpu_intel.cpp (Added) + client_state.cpp + cs_scheduler.cpp + cs_statefile.cpp + gpu_detect.cpp, .h + gpu_opencl.cpp + log_flags.cpp + lib/ + cc_config.cpp, .h + coproc.cpp, .h + +Rom 8 Dec 2012 + - client/server: fix build breaks I introduced last night with a variable + rename. + + client/ + acct_mgr.cpp + cpu_sched.cpp + gpu_detect.cpp + clientgui/ + AdvancedFrame.cpp + AsyncRPC.cpp + BOINCTaskBar.cpp + DlgItemProperties.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + sched/ + plan_class_spec.cpp + sched_send.cpp + sched_types.cpp + +Rom 8 Dec 2012 + - client/server: Make sure the GPU Type field is really classified as an Intel + GPU. + + lib/ + coproc.cpp + +David 8 Dec 2012 + - client/manager: tweaks to Intel GPU code + client/ + acct_mgr.cpp + cs_account.cpp + cs_scheduler.cpp + cs_statefile.cpp + gpu_opencl.cpp + project.cpp + scheduler_op.cpp + lib/ + coproc.cpp + procinfo.cpp + +David 8 Dec 2012 + - client: win compile fix + client/ + gpu_detect.cpp + +Charlie 8 Dec 2012 + - client: add new file gpu_intel.cpp to Xcode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 8 Dec 2012 + - client: replace ignore_nvidia_dev etc. with an array. + PRINCIPLE: AVOID PER-GPU-TYPE VARIABLES + - get rid of alloca() stuff in gutil.cpp; almost certainly not needed + - don't include malloc.h; it doesn't exist on BSD systems + + api/ + gutil.cpp + client/ + client_state.cpp + gpu_detect.cpp + gpu_opencl.cpp + log_flags.cpp + lib/ + cc_config.cpp,h + coproc.h + mfile.cpp + vda/ + vdad.cpp + +David 8 Dec 2012 + - minor code cleanup from RustyBSD + client/ + check_security.cpp + gui_rpc_server.cpp + clientgui/ + sg_ProjectPanel.cpp + sg_TaskPanel.cpp + clientscr/ + screensaver_x11.cpp + +Charlie 10 Dec 2012 + - client: clean up redundant and confusing GPU descriptions. + Problems: + COPROC_NVIDIA::description() is really description of CUDA GPUs. + COPROC_ATI::description() is really description of CAL GPUs. + On Windows and Linux, AMD OpenCL and CAL always coexist, and + NVIDIA OpenCL and CUDA always coexist. + But on the Mac, AMD OpenCL always exists without CAL and NVIDIA + OpenCL often exists without CUDA. Therefore, BOINC has never + shown peak-flops on the Mac for AMD or for NVIDIA without CUDA + because it does not display COPROC_ATI::description() and may + not display COPROC_NVIDIA::description(). + + On all OS's, INTEL GPU OpenCL will always exist without any + vendor-proprietary GPU computation framework, so + COPROC_INTEL::description() would never show COPROC_USED. + + Solutions: + [1] Instead of adding "(OpenCL only)" to these descriptions just + to show peak-flops for these cases, show peak_flops in all OpenCL + descriptions. + [2] Preface COPROC_NVIDIA::description() with "CUDA: " and + preface COPROC_ATI::description() with "CAL: " to match the + "OpenCL: " preface in OPENCL_DEVICE_PROP::description(). + [3] Eliminate useless COPROC_INTEL::description(). + + client/ + gpu_detect.cpp + gpu_opencl.cpp + lib/ + coproc.cpp,.h + +Charlie 10 Dec 2012 + - client: COPROC_NVIDIA, COPROC_ATI and COPROC_INTEL constructors + must initialize the entire struct, not just the GPU type field. + + lib/ + coproc.h + +David 10 Dec 2012 + - client: re-apply app configuration after each scheduler RPC; + otherwise the changes get overwritten + client/ + cs_scheduler.cpp + +David 10 Dec 2012 + - lib: the XML tag for the description of an Intel GPU is + , not + + lib/ + coproc.cpp + +David 10 Dec 2012 + - lib: the XML type field for an Intel GPU is INTEL_GPU, not INTEL + + lib/ + coproc.cpp + +David 10 Dec 2012 + - lib: actually let's make it "intel_gpu". + + lib/ + coproc.cpp + sched/ + sched_customize.cpp + +Charlie 11 Dec 2012 + - Manager: remove sqlite3.c from Xcode project; add build script to + build libsqlite3.a from source files downloaded from sqlite3.org. + + clientgui/ + sqlite3.c (deleted) + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildsqlite3.sh (added) + HowToBuildBOINC_XCode.rtf + setupforBOINC.sh + +Rom 11 Dec 2012 + - server: Add a default plan class for the Intel GPUs. + (opencl_intel_gpu_101) + + sched/ + sched_customize.cpp + + +David 11 Dec 2012 + - Win process control (affects API and wrapper): + Since Win doesn't have an API for process suspend/resume, + we were suspending processes by + 1) enumerating all the threads in the system + (typically several thousand) + 2) suspending those belonging to the given process + The problem: for each thread, the code was calling a function + in diagnostics_win.cpp to see if the thread + was exempted from suspension. + This check (which is unnecessary anyway if we're + suspending another process) + was surrounded by a semaphore acquire/release. + The result: performance problems. + It could take a minute to suspend the threads. + Solution: + 1) do the check for exemption only if we're suspending threads + in our own process (i.e. from the API) + 2) if we're suspending multiple processes, enumerate the threads + only once, and see if each one belongs to any of the processes + 3) have the wrapper elevate itself to normal priority. + Otherwise it can get preempted for long periods, + sometimes in the middle of scanning the threads. + Note: post-9x versions of Win have a process group API + that includes suspend/resume. + We'll switch to this soon. + + api/ + boinc_api.cpp + client/ + gpu_detect.cpp + lib/ + proc_control.cpp,h + procinfo.cpp + util.h + samples/wrapper/ + wrapper.cpp + +Rom 12 Dec 2012 + - ZIP: Make sure output files end up in the 'build' directory structure + so they will be ignored by Git tools. + + win_build/ + libboinczip_staticcrt.vcproj + +Rom 12 Dec 2012 + - wrapper: Fix 64-build targets on Windows. + + win_build/ + wrapper.vcproj + +David 12 Dec 2012 + - fix compile warning + - Git can ignore Unix compile outputs + + .gitignore + client/ + gpu_detect.h + +David 12 Dec 2012 + - client: show Intel GPU memory size as integer + lib/ + coproc.cpp + +David 12 Dec 2012 + - scheduler: attempted performance enhancement. + Old: each scheduler process holds a semaphore + while scanning the shared-mem job array. + On machines with many CPUs + there seems to be contention for this semaphore, + causing slow scheduler response and possibly connection failures. + New: Don't hold the semaphore while scanning array. + Instead, if find a job that passes quick_check(), + acquire the semaphore and recheck that the job is present in array + and passes quick_check(). + - client: show messages if app_config.xml has unrecognized tags + + sched/ + sched_array.cpp + client/ + app_config.cpp,h + +David 12 Dec 2012 + - restore 2 commits erased by Charlie's Dec 10 commit + clientgui/ + sb_TaskPanel.cpp + clientscr/ + screensaver_x11.cpp + lib/ + mfile.cpp + vda/ + vdad.cpp + +Charlie 13 Dec 2012 + - wrapper: Fix build script and Makefile on Mac. + + samples/wrapper/ + BuildMacWrapper.sh + Makefile_mac + +Rom 13 Dec 2012 + - Apply RustyBSD's patch for selectively disabling the detection of the + X screensaver framework in configure.ac + + / + configure.ac + +Rom 13 Dec 2012 + - SCR: Include the compiled X11 screensaver app in the self extracting + archive distro of the client software. + + packages\generic\sea\ + Makefile.am + +David 14 Dec 2012 + - server (start script and server_status.php): + Support projects (e.g. Einstein@home) in which server components run on + machines with no shared filesystem. + From Bernd. + + html/user/ + server_status.php + sched/ + start + tools/ + upgrade + +Charlie 14 Dec 2012 + - Mgr: Fix delay displaying notices. + + clientgui/ + NoticeListCtrl.cpp + +Charlie 14 Dec 2012 + - OpenCL: Eliminate spurious error message when an OpenCL platform exists + but the computer has no corresponding devices. + - Mac: Fix linker warning. + + client/ + gpu_opencl.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 18 Dec 2012 + - client simulator: fix build errors + + client/ + app.cpp + makefile_sim + sim.cpp + +Charlie 18 Dec 2012 + - Mgr: Fix potential crashes displaying notices asynchronously on Windows. + + clientgui/ + BOINCHtmlLBox.cpp,.h + BOINCInternetFSHandler.cpp + +Charlie 18 Dec 2012 + - Mgr: Fix bad line endings. + + clientgui/ + ViewNotices.cpp,.h + +Charlie 18 Dec 2012 + - Mgr: More robust way to display "No notices" message. + + clientgui/ + NoticeListCtrl.cpp,.h + ViewNotices.cpp,.h + +Charlie 18 Dec 2012 + - Mgr: Shorten Internet timeout for notices on Windows to 5 seconds. + Fix license info. + + clientgui/ + BOINCInternetFSHandler.cpp,.h + +David 18 Dec 2012 + - web: use · instead of | as a separater + + html/ + inc/ + forum.inc + host.inc + pm.inc + team.inc + user.inc + util.inc + user/ + forum_user_posts.php + pm.php + submit.php + team_manage.php + top_hosts.php + top_teams.php + top_users.php + +Rom 19 Dec 2012 + - VBOX: Perform a quick check that the wrapper can communicate with + vboxsvc via vboxmanage before attempting anything else. If it + fails, get BOINC to reschedule task execution in 5 minutes. + + NOTE: After a reboot it might take a few moments before everything + is in working order. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + win_build\ + vboxwrapper.vcproj + +Charlie 20 Dec 2012 + - Mgr: fix license declaration in file derived from wxWidgets. + - Mgr: Windows only: If OpenURL fails, we probably don't have an Internet + connection so use a shorter timeout for subsequent calls to OpenURL + until one succeeds; otherwise notices takes takes too long to display + if there are multiple notices with images. + - Mgr: Display the fetching notices message until we have notices to + display or have determined that there are no notices. + - Mgr: Don't call get_notices RPC before previous one is processed to + prevent multiple display of notices. + - Mgr: Display "Fetching notices..." instead of "There are no notices" + while getting notices. Display "There are no notices" only if we + have actually determined there are no notices. + - Mgr: Add code to reload notices with images / items missing due to + problems accessing their URLs. + + clientgui/ + MainDocument.cpp,.h + BOINCInternetFSHandler.cpp + NoticeListCtrl.cpp,.h + ViewNotices.cpp,.h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +Rom 20 Dec 2012 + - VBOX: Initialize the PATH variable before attempting to check to see if + the system is ready. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + win_build\ + vboxwrapper.vcproj + +Charlie 21 Dec 2012 + - Mgr: If network activity is suspended, don't retrieve URL references within + notices unless they are already in our cache or in the Windows cache. + - Mgr: Clear our internal Internet cache when selecting a different computer. + - Mgr: Display a message and "Retry now" button if some images or other items + within notices failed to load from the Internet; if network activity is + suspended, say so in the message. + + clientgui/ + BOINCInternetFSHandler.cpp,.h + events.h + NoticeListCtrl.cpp,.h + ViewNotices.cpp,.h + +David 21 Dec 2012 + - web: add advisory text to "Export as Notice" balloon + - scheduler: make max # of CPUs a #define, default 4096 + + client/ + client_state.cpp + html/user/ + forum_thread.php + sched/ + edf_sim.cpp + sched_send.cpp,h + +Charlie 22 Dec 2012 + - Mgr: When removing entries from our hash table, delete data to avoid memory + leaks. + - Mgr: Allow existing notices to retrieve images or other items from the + Internet even if network activity is suspended. (But client won't get + new notices.) + - Mgr: Reset Internet timeout when retrying notices. + + clientgui/ + BOINCInternetFSHandler.cpp + ViewNotices.cpp,.h + +Charlie 23 Dec 2012 + - Mgr: Bug fixes for Windows Async Internet access, including closing the + WinINet handle when aborting due to timeout, etc. to prevent crashes. + - Mgr: Add all the new notices features to the Simple View notices dialog. + + clientgui/ + BOINCInternetFSHandler.cpp,.h + NoticeListCtrl.cpp + sg_DlgMessages.cpp,.h + +David 24 Dec 2012 + - file upload handler: in FCGI version, check for trigger file + each time through loop (from Bernd). + - validator: fix bug that zeroed result.random + + db/ + boinc_db.cpp + boinc_db_type.h + sched/ + file_upload_handler.cpp + sched_array.cpp + tools/ + backend_lib.cpp + +David 24 Dec 2012 + - client: improved log messages for work fetch + + client/ + work_fetch.cpp + +Charlie 26 Dec 2012 + - Mgr: When closing Simple View notices, wait for all Async Internet access + to complete before calling the notices panel destructor. + + clientgui/ + BOINCBaseFrame.cpp + BOINCInternetFSHandler.cpp,.h + NoticeListCtrl.cpp + sg_DlgMessages.cpp,.h + +David 26 Dec 2012 + - eliminate use of alloca() and strdupa(). + - don't include malloc.h + - fix compile warnings + + configure.ac + clientscr/ + screensaver_x11.cpp + lib/ + str_util.cpp + sched/ + hr_info.cpp + +David 27 Dec 2012 + - client: processor identification for ARM + (from Evandro Menezes and Joachim Fritzsch) + + client/ + hostinfo_unix.cpp + hostinfo_unix_test.cpp + +David 27 Dec 2012 + - API: fix Unix bug when checking if client is alive based on PID. + Can't use waitpid() here; works only for children. + Use kill(pid, 0) instead. + + api/ + boinc_api.cpp + +Rom 28 Dec 2012 + - VBOX: On *nix systems, force the wrapper into sandbox mode if the + HOME environment variable is missing. Without the HOME environment + variable VirtualBox attempts to write log files and other state + information in root's home directory. + + samples\vboxwrapper\ + vbox.cpp + +Rom 28 Dec 2012 + - VBOX: Record what version of VirtualBox was used, as well as whether + anonymous platform was specified for the project. + + samples\vboxwrapper\ + vbox.cpp, .h + vboxwrapper.cpp + +Rom 28 Dec 2012 + - VBOX: On *nix systems, if the vboxdrv kernel module isn't loaded declare + it a temp error and reschedule execution at a later date. + + samples\vboxwrapper\ + vbox.cpp + +Rom 28 Dec 2012 + - VBOX: Clean up version string. + + samples\vboxwrapper\ + vbox.cpp + +David 29 Dec 2012 + - API: improve log messages when detect dead client + + api/ + boinc_api.cpp + +David 29 Dec 2012 + - client: disable remote access if + - gui_rpc_auth.cfg is empty, or + - it doesn't exist and we can't open it for writing, or + - the write to it fails + (from RustyBSD) + + client/ + gui_rpc_server.cpp + +David 29 Dec 2012 + - client: don't crash if GUI RPC password is too long + (from RustyBSD) + + client/ + gui_rpc_server_ops.cpp diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp index fcfe9f515f..59e6dfc0e6 100644 --- a/client/hostinfo_unix.cpp +++ b/client/hostinfo_unix.cpp @@ -150,6 +150,10 @@ mach_port_t gEventHandle = NULL; #define _SC_PAGESIZE _SC_PAGE_SIZE #endif +#if HAVE_DPMS +#include +#endif + #if HAVE_XSS #include #endif @@ -1806,7 +1810,51 @@ bool xss_idle(long idle_treshold) { if(disp != NULL) { XScreenSaverQueryInfo(disp, DefaultRootWindow(disp), xssInfo); - idle_time = xssInfo->idle / 1000; // xssInfo->idle is in ms + + idle_time = xssInfo->idle; + +#if HAVE_DPMS + int dummy; + CARD16 standby, suspend, off; + CARD16 state; + BOOL onoff; + + if (DPMSQueryExtension(disp, &dummy, &dummy)) { + if (DPMSCapable(disp)) { + DPMSGetTimeouts(disp, &standby, &suspend, &off); + DPMSInfo(disp, &state, &onoff); + + if (onoff) { + switch (state) { + case DPMSModeStandby: + /* this check is a littlebit paranoid, but be sure */ + if (idle_time < (unsigned) (standby * 1000)) { + idle_time += (standby * 1000); + } + break; + case DPMSModeSuspend: + if (idle_time < (unsigned) ((suspend + standby) * 1000)) { + idle_time += ((suspend + standby) * 1000); + } + break; + case DPMSModeOff: + if (idle_time < (unsigned) ((off + suspend + standby) * 1000)) { + idle_time += ((off + suspend + standby) * 1000); + } + break; + case DPMSModeOn: + default: + break; + } + } + + } + } +#endif + + // convert from milliseconds to seconds + idle_time = idle_time / 1000; + } else { disp = XOpenDisplay(NULL); // XOpenDisplay may return NULL if there is no running X diff --git a/configure.ac b/configure.ac index beaf68cde2..53f4db62dc 100644 --- a/configure.ac +++ b/configure.ac @@ -847,6 +847,9 @@ fi LIBS=$svlibs if (test "$enable_xss" == yes) && (test "$have_Xss" == yes); then + SAH_CHECK_LIB([xcb-dpms],[DPMSQueryExtension],[ + AC_DEFINE([HAVE_DPMS],[1],[Define to 1 if you have xcb-dpms library]) + CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"]) SAH_CHECK_LIB([Xss],[XScreenSaverAllocInfo],[ AC_DEFINE([HAVE_XSS],[1],[Define to 1 if you have xss library]) CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"]) diff --git a/gitlog2boinclog.sh b/gitlog2boinclog.sh new file mode 100755 index 0000000000..751cb9df58 --- /dev/null +++ b/gitlog2boinclog.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# Provide a go between the historical way BOINC has tracked commit changes with the way +# git manages historical information. Basically mimic the checkin_notes file with the +# output of various git commands +# + +# Command line customizations here + +# Get a list of commit ids to extract the log information for +git log --name-status --pretty=fuller --since="$1 day ago" \ No newline at end of file diff --git a/samples/vboxwrapper/vbox.cpp b/samples/vboxwrapper/vbox.cpp index 3ea8585f7c..00c5f2eeeb 100644 --- a/samples/vboxwrapper/vbox.cpp +++ b/samples/vboxwrapper/vbox.cpp @@ -215,7 +215,6 @@ int VBOX_VM::initialize() { command = "--version "; vbm_popen(command, output, "version check"); -#ifdef _WIN32 // Remove \r or \n from the output spew string::iterator iter = output.begin(); while (iter != output.end()) { @@ -225,7 +224,6 @@ int VBOX_VM::initialize() { ++iter; } } -#endif virtualbox_version = "VirtualBox " + output;