From 5bbafef4b0ec7699d86f4f35b4adc259d3e1e881 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sun, 2 Jan 2011 03:07:14 +0000 Subject: [PATCH] - fix some bad file permissions - delist defunct stats site svn path=/trunk/boinc/; revision=22859 --- checkin_notes | 8869 +------------------------------ checkin_notes_2010 | 8869 +++++++++++++++++++++++++++++++ client/sim_control.php | 9 +- clientgui/AsyncRPC.cpp | 0 clientgui/DlgItemProperties.cpp | 0 clientgui/DlgItemProperties.h | 0 html/inc/stats_sites.inc | 8 - samples/example_app/uc2.cpp | 0 samples/wrapper/wrapper.cpp | 2 +- 9 files changed, 8885 insertions(+), 8872 deletions(-) create mode 100644 checkin_notes_2010 mode change 100755 => 100644 clientgui/AsyncRPC.cpp mode change 100755 => 100644 clientgui/DlgItemProperties.cpp mode change 100755 => 100644 clientgui/DlgItemProperties.h mode change 100755 => 100644 samples/example_app/uc2.cpp diff --git a/checkin_notes b/checkin_notes index 3a1eb310d9..b2b3d48835 100644 --- a/checkin_notes +++ b/checkin_notes @@ -1,8869 +1,16 @@ -David 3 Jan 2010 - - client: ATI available RAM wasn't being detected correctly - - client/ - coproc_detect.cpp - -David 4 Jan 2010 - - web: don't show news items if they're hidden +David 1 Jan 2011 + - fix some bad file permissions + - delist defunct stats site + clientgui/ + DlgItemProperties.cpp,h + AsynRPC.cpp html/inc/ - news.inc - -David 4 Jan 2010 - - client: RSS feed stuff - - client/ - cs_notice.cpp,h - lib/ - notice.cpp - -Rom 4 Jan 2010 - - lib: fixup notice RPCs to make them manager compatible. - - lib: remove memset from notice constructor, bad things can happen - when you null out a std::string structure. - - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - notice.cpp, .h - -Rom 4 Jan 2010 - - MGR: Implement Notice RPC infrastructure. - - clientgui/ - AsyncRPC.cpp, .h - MainDocument.cpp, .h - -Rom 4 Jan 2010 - - MGR: Implement UI plumbing for notices - - clientgui/ - ViewNotifications.cpp, .h - -Rom 4 Jan 2010 - - MGR: Display each notice in the notices tab. - - clientgui/ - MainDocument.cpp - ViewNotifications.cpp, .h - -David 4 Jan 2010 - - GUI RPC: return notices in order of increasing seqno, not decreasing - client/ - cs_notice.cpp - -Rom 4 Jan 2010 - - MGR: Present the newest notices first. - - clientgui/ - MainDocument.cpp - lib/ - gui_rpc_client_ops.cpp - -Bernd 5 Jan 2010 - a couple of locality scheduling fixes: - - remove obsolete and buggy code from transitioner (create_result() in backend_lib) - - account for 'mixed' scheduling in explain_to_user() in sched_send.cpp - - finish transition to configurable patterns for distinguishing files reported by the client - in the Einstein@home-specific part of send_work_locality in sched_locality - (removed previous hardcoded strcmps) - - tools/ - backend_lib.cpp - sched/ - sched_send.cpp - sched_locality.cpp - -David 4 Jan 2010 - - code shuffle - - client/ - work_fetch.cpp - -David 4 Jan 2010 - - client: fix format strings for ninstances (can be fraction now) - - client/ - scheduler_op.cpp - work_fetch.cpp - -David 5 Jan 2010 - - client: scheduling problem: - - a project overestimates job FLOP counts - - the client starts jobs in EDF mode - - as job progresses and fraction done increases, - its completion time estimate decreases until - it's no longer a deadline miss. - - job gets preempted by other job from that project; - you end up with lots of partly completed jobs. - Solution (I hope): if an app version has running jobs, - compute a "temp DCF" for the app version, - which is the min of dynamic/static estimates for its jobs. - Apply this scaling factor to completion time estimates - for unstarted jobs in RR simulation - - client: the estimation of remaining time of running jobs was wrong - (how did this bug survive so long?) - - client/ - app.h - client_types.h - rr_sim.cpp - work_fetch.cpp - -Charlie 6 Jan 2010 - - client: Eliminate x86_64 Mac client; i386 client determines if - system supports x86_64 applications and sets HOSTTYPE and - platform accordingly. This allows us to link with the 32-bit - CUDA libraries. The one other effect is that the benchmarks - are run in 32-bit mode even on a 64-bit capable Mac. - - client: Async get_state RPC was not updating state.have_ati field. - - MGR: Rebuild Advanced Menu and Taskbar Menu after connecting to - client, so GPU Activity and Snooze GPU items are displayed if - needed. - - client/ - cs_cmdline.cpp - cs_platforms.cpp - clientgui/ - AdvancedFrame.cpp - AsyncRPC.cpp - sg_BoincSimpleGUI.cpp - mac/ - config.h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 6 Jan 2010 - - client: bug in ACTIVE_TASK::est_dur() - - client/ - work_fetch.cpp - -David 6 Jan 2010 - - client: notice fixes - - client/ - client_state.cpp - cs_notice.cpp,h - -David 6 Jan 2010 - - admin web: allow setting per-app HR class - - html/ops/ - manage_apps.php - -Charlie 6 Jan 2010 - - client: Fix compiler warning. - - client: Fix crash bug. - NOTE: do not call memset(this, 0, sizeof(*this)) when the data - contains a std::string. - - client/ - cs_notice.cpp - -David 6 Jan 2010 - - boinccmd: add --get_notices option - - client/ - boinc_cmd.cpp - -Charlie 7 Jan 2010 - - Mac: Fix bug in backtrace code which showed up only under OS 10.6. - - lib/ - mac/ - mac_backtrace.C - -Charlie 7 Jan 2010 - - Mac: Fix bug in backtrace code which showed up only under OS 10.6. - - Mac installer: Add CUDA information to Mac ReadMe files. - - lib/ - mac/ - mac_backtrace.C - mac_installer/ - GR-ReadMe.rtf - PTP-ReadMe.rtf - ReadMe.rtf - -David 7 Jan 2010 - - manager: tweak notice appearance - - client/ - cs_notice.cpp - clientgui/ - ViewNotifications.cpp - -David 7 Jan 2010 - - client: work fetch fix: avoid sending null request in certain cases. - - client: fix crash in notices code - client/ - cs_notice.cpp - work_fetch.cpp - -Rom 7 Jan 2010 - - MGR: Prevent timer events from causing recursive ui issues. - - clientgui/ - ViewNotifications.cpp - -Charlie 8 Jan 2010 - - client: Fix another crash bug due to calling memset(this, 0, sizeof(*this)) - when the data contains a std::string. - - client/ - cs_notice.cpp - -Charlie 8 Jan 2010 - - MGR: Separate refresh of Event Log from refresh of tabs. - - MGR: Update Notices tab only when data has changed. - - MGR: Clean up some async RPC logic. - - clientgui/ - AdvancedFrame.cpp - AsyncRPC.cpp, .h - DlgEventLog.cpp, .h - MainDocument.cpp, .h - sg_BoincSimpleGUI.cpp - ViewNotifications.cpp, .h - -Charlie 8 Jan 2010 - - MGR: When Event Log is open, do get_messages RPC once per second but - do view-specific periodic RPCs at their normal View refresh rate. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseFrame.cpp, .h - MainDocument.cpp, .h - -David 9 Jan 2010 - - client (Mac): append /usr/local/cuda/lib to LD_LIBRARY_PATH - and DYLD_LIBRARY_PATH - - client simulator: compile fixes - - client/ - app.cpp - app_start.cpp - client_state.h - cs_apps.cpp - rr_sim.cpp - sim.cpp,h - time_stats.cpp - work_fetch.cpp - -David 9 Jan 2010 - - user web: make user search translatable - html/user/ - donations.php - user_search.php - -David 10 Jan 2010 - - client: fix notification display logic - - clientgui/ - ViewNotifications.cpp - -David 10 Jan 2010 - - fix python deprecation warning (from Jeremy Cowles) - - py/Boinc/ - tools.py - -David 11 Jan 2010 - - API: if app can't acquire lock file, tell the client not - to restart app for 10 minutes. - Hopefully what will happen is: - - another instance of app is running in slot dir - (shouldn't happen, but sometimes does) - - that app will eventually finish, and will write - a checkpoint file saying so. - It will call boinc_finish(0), but the client won't notice - that it has exited. - - the next time the client starts the app, - it will acquire lock, see that it's done, - and call boinc_finish(0). - This time the client will notice, - and the job will be reported as correct. - The downside to all this is that the client won't know - that the CPU is in use, and will schedule NCPUS jobs. - - api/ - boinc_api.cpp - -Charlie 12 Jan 2010 - - client sandbox: set LD_LIBRARY_PATH and DYLD_LIBRARY_PATH in switcher. - For unknown reasons, the these 2 environment variables are not - passed in to switcher, though all other environment variables do get - propagated. - - client/ - switcher.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Bernd 12 Jan 2010 - - file_deleter: - - Limit the number of files to be deleted in one 'antique - deletion' pass to 50000 (can be changed with -delete_antiques_limit). - Previously large number of antiques led to not deleting any at all. - - Allow to change the interval between passes with -delete_antiques_interval. - - Allow to specify the name of an application instead of the appid. - - sched/ - file_deleter.cpp - -David 12 Jan 2010 - - client: add config option; - sends the first rather than last 64KB of stderr to server. - This doesn't belong here; this choice should come from the server. - I may take this out later. - - user web: when add a private message, always add a notification - - client/ - app_control.cpp - log_flags.cpp,h - html/ - inc/ - news.inc - pm.inc - project.sample/ - project.inc - user/ - edit_form_preferences_form.php - rss_main.php - lib/ - util.cpp - -David 12 Jan 2010 - - manager: "Notifications" => "Notices". Consistent terminology. - - clientgui/ - Events.h - AdvancedFrame.cpp - Makefile.am - ViewNotifications* -> ViewNotices* - -David 12 Jan 2010 - - client: small tweak to work fetch: - if project has crazy DCF, don't automatically request 1 sec; - only request work if there's a shortfall. - - intermediate checkin for notices stuff - - client/ - Makefile.am - work_fetch.cpp - html/ - inc/ - forum_rss.inc - notify.inc - pm.inc - user/ - notices.php (new) - sched - handle_request.cpp - sched_types.cpp,h - -David 12 Jan 2010 - - Notices: put message bodies inside CDATA - - XML_PARSER: handle CDATA - - client/ - cs_notice.cpp,h - lib/ - notice.cpp - parse.cpp,h - -Charlie 13 Jan 2010 - - MGR: The fix of 14 Oct 2009 for "initial first connection problem on - startup" caused the Tools menu to be incorrect when switching from - Simple to Advanced View if using an account manager: solve this by - calling pDoc->IsConnected() in CAdvancedFrame::CreateMenu() instead - of using bool argument bRPCsSafe. Remove unused bRPCsSafe arg from - CAdvancedFrame::CreateNotebook(), CAdvancedFrame::CreateStatusbar(). - - Mac: Update XCode project for ViewNotifications* -> ViewNotices*. - - clientgui/ - AdvancedFrame.cpp, .h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 13 Jan 2010 - - server: client version numbers are represented as - 10000*major + 100*minor + release, - rather than 100*major + minor. - Sometimes you need release-level resolution. - This affects: - - app_version.min_core_version - - config: min_core_client_version_announced - - config: min_core_client_version - Projects using these must multiply them by 100. - - html/inc/ - notify.inc - forum_rss.inc - sched/ - sched_types.cpp,h - sched_send.cpp - handle_request.cpp - -David 13 Jan 2010 - - scheduler: close DB connection on SIGTERM (from Bernd M.) - - sched/ - sched_main.cpp - -David 13 Jan 2010 - - manager: in Notices tab, direct links to default web browser - - clientgui/ - ViewNotices.cpp,h - -Rom 14 Jan 2010 - - MGR: Use an event handler, the function overload is deprecated. - - clientgui/ - ViewNotices.cpp,h - -David 15 Jan 2010 - - web DB code: fix PHP warning when enumeration returns nothing. - From Nicolas. fixes #974 - - client: tiny code shuffle - - client/ - work_fetch.cpp - cpu_sched.cpp - html/inc/ - db_conn.inc - -David 15 Jan 2010 - - user web: make a bunch of strings translatable (from Nicolas) - - html/ - inc/ - pm.inc - user.inc - util.inc - user/ - language_select.php - edit_passwd_form.php - edit_email_form.php - locale/templates/ - BOINC-Project-Generic.pot - -Charlie 16 Jan 2010 - - Mac Installer: fix bug launching client when configured as a service. - - mac_installer/ - PostInstall.cpp - -David 17 Jan 2010 - - scheduler/feeder: if any client version number field - (min_core_version etc.) is < 10000, - multiply it by 100 and print a warning. - - sched/ - sched_config.cpp - sched_send.cpp - sched_shmem.cpp - handle_request.cpp - -Rytis 18 Jan 2010 - - user web: do SQL escaping before storing prefs in the database as some - projects store user-editable strings in the preferences. - - html/inc/ - prefs.inc - -David 18 Jan 2010 - - scheduler: use COPROC_REQ instead of COPROC when parsing - anonymous-platform app versions. - Otherwise fractional GPU requirements get truncated to zero. - Thanks to Crunch3r for identifying the problem. - - sched/ - sched_types.cpp - -David 18 Jan 2010 - - API: fix crashing bug. Don't memset(0) APP_INIT_DATA; - it contains HOST_INFO, which now contains COPROCS, - which has a vector. - Define a clear() for APP_INIT_DATA. - - lib/ - app_ipc.cpp,h - -David 18 Jan 2010 - - client: initial checkin for "don't compute if CPU usage above X" - - client/ - app.cpp,h - coproc_detect.cpp - cs_prefs.cpp - lib/ - common_defs.h - procinfo_win.cpp - win_build/ - libboinc.vcproj - -David 18 Jan 2010 - - client and user web: finish the above. - Should add the Adv Prefs dialog as well. - - client/ - cs_prefs.cpp - html/inc/ - prefs.inc - lib/ - prefs.cpp,h - -Rom 19 Jan 2010 - - lib: Don't allow the diagnostics threads to be suspended. - If a crash happens within the remaining threads - the process will deadlock. - - lib/ - diagnostics.h - diagnostics_win.cpp - win_util.cpp - -David 19 Jan 2010 - - API: fix crashing bug. There was a leftover memset(aid, 0) - in boinc_parse_init_data_file() - - client sim: make it work again - - api/ - boinc_api.cpp - client/ - sim.cpp - sim_util.cpp - -David 19 Jan 2010 - - web: translation fix from Nicolas: - "There is a bug in tra() that causes problems if one of the arguments - contains a replacement marker itself. For example, if the first - argument contains an encoded URL, which contains '%2', the second - argument may appear in the middle of the URL." - - client simulator: further fiddling around. Not done. - - html/inc/ - translation.inc - client/ - sim.cpp - work_fetch.cpp - cpu_sched.cpp - -David 19 Jan 2010 - - client simulator: done for now - - client/ - sim.cpp - rr_sim.cpp - -David 19 Jan 2010 - - client: brute-force attempt at eliminating domino-effect preemption: - if job A is unstarted and EDF, - and there's a job B that is later in the list, - is started, has the same app version, - and has the same arrival time, - move A after B. - - client: remove the "temp_dcf" mechanism, - which had the same goal but didn't work. - - client: in computing overall debt for a project, - subtract a term that reflects pending work. - This should reduce repeated fetches from the same project. - - client simulator: tweaks - - client/ - client_types.h - cpu_sched.cpp - rr_sim.cpp - sim.cpp,h - sim_util.cpp - work_fetch.cpp,h - html/user/ - language_select.php - -Charlie 21 Jan 2010 - - MGR: Implement Mac accessibility for Event Log. - - clientgui/ - BOINCListCtrl.h - DlgEventLogListCtrl.cpp, .h - mac/ - MacAccessiblity.cpp, .h - -Bernd 21 Jan 2010 - - lib: Updated Makefile.mingw to include coproc.cpp/h - - lib/ - Makefile.mingw - -Charlie 22 Jan 2010 - - Mac Sandbox: To keep authenticators private, make all .xml files readable - only by user and group boinc_master; except ss_config.xml is world- - readable so screensaver coordinator can access it. All other files - except gui_rpc_auth.cfg are world-readable to allow access by - screensavers. - - clientgui/ - mac/ - SetupSecurity.cpp - mac_build/ - Mac_SA_Secure.sh - -Bernd 22 Jan 2010 - lib: add cal.h to install headers - - lib/ - Makefile.am - -David 22 Jan 2010 - - user web: clean up LANG_NAME_* mess - - html/ - ops/ - build_po_boinc.php - user/ - language_select.php - -David 22 Jan 2010 - - DB purge: allow fractional min_age_days (from Travis Desell) - - sched/ - db_purge.cpp - transitioner.cpp - -David 22 Jan 2010 - - user web: don't show "database error" if result refers - to deleted app version - - client/ - app_start.cpp - html/inc/ - result.inc - sched/ - transitioner.cpp - -David 25 Jan 2010 - - transitioner: fix bug where WUs with error_mask <> 0 keep - transitioning every 10 days, hence never become eligible for purging. - The problem: the transitioner has a "safety net" where, - if the WU doesn't have a canonical result, - it arranges for another transition in 10 days. - Skip this if error_mask<>0. - - sched/ - transitioner.cpp - -David 25 Jan 2010 - - client: when launching app, delete init_data.xml using switcher - prior to trying to write it, - in case it's owned by another user (e.g., boinc_project) - - client/ - app_start.cpp - -David 26 Jan 2010 - - client/manager: eliminate duplicate notices. - When appending a new notice, we check whether one with - the same title and description is present already. - If so we remove one or the other, depending on the situation. - - This introduces the possibility of "holes" in the seqno space. - In order that the manager learns of these deletions, - we use the following mechanism: - whenever a notice is removed (because it's a dup or too old) - a flag is set in each GUI_RPC_CONN. - On the next get_notice() RPC, the client returns the entire - list of notices, preceded by a dummy notice with seqno=-1; - this tells the RPC stub function to replace the current list - rather than appending to it. - - client/ - client_msgs.cpp - cs_notice.cpp,h - gui_rpc_server.h - gui_rpc_server_ops.cpp - samples/multi_thread/ - multi_thread.cpp - -David 26 Jan 2010 - - web: assume all translation files are UTF-8 - - html/ - inc/ - util.inc - ops/ - build_po_boinc.php - user/ - sample_index.php - -Charlie 26 Jan 2010 - - Mac Sandbox: The init_data.xml file in each slot directory also contains - an authenticator; to keep these private, change ownership of the "slots" - directory to boinc_master:boinc_project and eliminate read and execute - permissions of this directory for "other". For consistency, make the - same changes to the "projects" directory. The individual slot and - project directories are still world-executable and they and their - contents are still world-readable, so the Client can still read files - created by project apps with ownership boinc_project:boinc_project. - - NOTE: I believe this should not cause any problems for either BOINC or - project applications, but it needs to be tested thoroughly. - - client/ - check_security.cpp - file_names.cpp - clientgui/ - mac/ - SetupSecurity.cpp - doc/ - sandbox.php - mac_build/ - Mac_SA_Insecure.sh - Mac_SA_Secure.sh - -Charlie 27 Jan 2010 - - MGR: Fix minor bugs in Mac accessibility reporting kAXWindowAttribute and - kAXTopLevelUIElementAttribute. - - clientgui/ - mac/ - MacAccessiblity.cpp - -David 27 Jan 2010 - - client: fix small bug that could interfere with work fetch - on hosts with both NVIDIA and ATI GPU - - client/ - work_fetch.cpp - -David 27 Jan 2010 - - client: fix work fetch bug that prevented getting work - from an overworked project, - even if idle instance or major shortfall. - - GUI RPC: finish the notice-duplication thing - - client/ - work_fetch.cpp,h - lib/ - gui_rpc_client_ops.cpp - -David 27 Jan 2010 - - client: remove debug msgs - - client/ - app.cpp - -David 28 Jan 2010 - - client: if a project has zero resource share, - treat it as a "backup project": - fetch work from it only if there is an idle instance - and no other projects have work. - - client/ - acct_mgr.cpp - client_types.cpp,h - rr_sim.cpp - work_fetch.cpp - -Charlie 28 Jan 2010 - - Mac Sandbox: SetupAuthorizationExecuteWithPrivileges() forks to run chmod and chown, - leaving zombie processes which can exceed the system-imposed limit of processes - MAXUPRC for a user. Call waitpid() to clear these zombies. - - Mac Sandbox: fix comment in Mac_SA_Secure.sh script. - - clientgui/ - mac/ - SetupSecurity.cpp - mac_build/ - Mac_SA_Secure.sh - -David 28 Jan 2010 - - client: fix my last checkin - - client/ - client_types.cpp - cs_statefile.cpp - -David 29 Jan 2010 - - user web: allow zero resource share - - client: allow zero resource share - - apps/ - upper_case.cpp - html/inc/ - prefs.inc - client/ - work_fetch.cpp - makefile_sim - -David 29 Jan 2010 - - user web: if Akismet rejects thread reply, show warning - - html/user/ - forum_reply.php - -David 30 Jan 2010 - - manager: move Preferences and Options to Task menu. - Give them more descriptive names. - Clean up mnemonics - - clientgui/ - AdvancedFrame.cpp - -David 1 Feb 2010 - - graphics API: if font missing, find one that isn't (from Kevin) - - api/ - txf_util.cpp - -Charlie 2 Feb 2010 - - ss_app: Allow branding for GridRepublic by compiling with -D_GRIDREPUBLIC on - non_apple systems and by testing Branding file on Macs. - - ss_app: Add a high-resolution background GridRepublic logo. - - Mac Installer: update script for new gridrepublic_ss_logo.jpg file, etc. - - Mac Installer: add .txt extension to copyright files in GUI installer extras. - - clientscr/ - ss_app.cpp - res/ - gridrepublic_ss_logo.jpg - mac_installer/ - make_GridRepublic.sh - make_ProgThruProc.sh - release_boinc.sh - -David 2 Feb 2010 - - scheduler: don't send CUDA jobs to Macs with client < 6.10.28; - they'll crash. - - sched/ - sched_customize.cpp - -Rom 2 Feb 2010 - - client: newer ATI drivers crash if struct_size isn't filled out - before the structure is used. - - client/ - coproc_detect.cpp - -Charlie 2 Feb 2010 - - Mac SS: look for Branding file in BOINC Data folder before the one in Manager - to avoid confusion if newer copies of BOINC Manager exist elsewhere on system. - (This is primarily for convenience in debugging on build system) - - clientscr/ - mac_saver_module.cpp - -David 3 Feb 2010 - - client: if GPU get available RAM fails, don't use the GPU - - web: put $languages_in_use into $GLOBALS. - Apparently it can't be referenced as a global in Drupal otherwise - - client/ - client_types.cpp - html/inc/ - tranlsation.inc - -David 4 Feb 2010 - - web: code shuffle for Drupal - - html/ - inc/ - host.inc - stats_sites.inc - user/ - hosts_user.php - -David 4 Feb 2010 - - web: Drupal stuff - - html/ - drupal/ - home - view_profile - hosts_user - inc/ - user.inc - user/ - home.php - -David 4 Feb 2010 - - scheduler: add example code for SETI@home's situation - where app has both GPU and CPU versions, - but for certain jobs (VLAR WUs in this case) - the GPU version performs poorly and shouldn't be used. - - The fix is a kludge - it will result in these jobs - not being sent to the host at all, - rather than being sent with the CPU app. - The current architecture makes it difficult to do otherwise. - One possible fix would be to create a separate app - for VLAR jobs, with only CPU app versions. - - sched/ - sched_customize.cpp - -Charlie 4 Feb 2010 - - Mac Installer: when adding non-admin users to group boinc_master, also add - them to group boinc_project; this fixes permissions error -1200 for non- - admin users; show "Please wait" alert if WaitPermissions takes > 15 seconds. - - client/ - check_security.cpp - mac_installer/ - AddRemoveUser.cpp - PostInstall.cpp - WaitPermissions.cpp - -David 4 Feb 2010 - - web: fix bug that caused news RSS to show wrong items - - html/inc/ - forum_rss.inc - -Rom 5 Feb 2010 - - WINSCR: cleanup configuration dialog text. - - clientscr/ - boinc_ss.rc - -Rom 5 Feb 2010 - - MGR: Enable task bar icon on Linux. - - clientgui/ - AsyncRPC.cpp - BOINCBaseFrame.cpp - BOINCGUIApp.cpp - -Rom 5 Feb 2010 - - MGR: Move cross-platform event handlers for creating context menus and updating - tooltips out of the Windows only scope. - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 5 Feb 2010 - - MGR: Fix build break by adjusting the SetIcon function prototype so that it conforms - to the wxWidget standard. - - clientgui/ - BOINCTaskBar.cpp, .h - clientgui/msw/ - taskbarex.cpp, .h - -Rom 5 Feb 2010 - - MGR: Change the 'Open BOINC Manager' menu item ID for the task bar icon. wxID_OPEN - causes a folder icon to be prepended to the menu item on Linux. - - MGR: Enable the Test Notification menu item on Linux - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 6 Feb 2010 - - MGR: Introduce balloons to Linux version of BOINC Manager. - (Note: Not debugged yet) - - clientgui/ - BOINCTaskBar.cpp, .h - Makefile.am - clientgui/gtk/ - taskbarex.cpp, .h - clientgui/msw/ - taskbarex.cpp, .h - -David 6 Feb 2010 - - parsing of platforms from WCG's get_project_config.php was wrong - - doc/ - get_platforms.inc - -David 7 Feb 2010 - - web: make a bunch of strings translatable (from Christian Beer) - fixes #977 - - html/ - inc/ - result.inc - user/ - workunit.php - result.php - -David 7 Feb 2010 - - more tra()s from Christian. fixes #976 - - html/user/ - user_search.php - -Rom 8 Feb 2010 - - client: detect CPU information via the cpuid instruction instead of - the registry. This change is only for Windows but I haven't tested - this with GCC. - - client/ - hostinfo_win.cpp - -Charlie 8 Feb 2010 - - MGR: Fix build breaks and potential crashes from recent task bar changes. - - Mac SS: change configuration dialog text to match new Windows wording. - - clientgui/ - BOINCBaseFrame.cpp - BOINCTaskBar.cpp, .h - clientscr/ - res/ - BOINCSaver.nib - -David 9 Feb 2010 - - client: undo [17160]. 0 in cc_config.xml - no longer means simulate zero CPUs. - There are several places that divide by ncpus. - Zero CPUs doesn't make any sense anyway. - - client/ - cpu_sched.cpp - work_fetch.cpp - -Rom 9 Feb 2010 - - client: some more CPU detection cleanup. - - client/ - hostinfo_win.cpp - -Charlie 10 Feb 2010 - - Mac installer: If installing an acct_mgr_url.xml file, don't install it - directly into the BOINC Data directory. Instead, put it into the - installer's resources and have the postinstall or postupgrade script - copy it to the BOINC Data directory. This fixes a problem which would - happen if the user later ran the standard BOINC installer without an - acct_mgr_url.xml file: the Apple installer would then delete the file, - causing BOINC to detach from the account manager. - - mac_installer/ - make_GridRepublic.sh - make_ProgThruProc.sh - postinstall - postupgrade - -Charlie 10 Feb 2010 - - Mac Installer: Fix receipt name for GridRepublic installer so we can remove it. - - mac_installer/ - PostInstall.cpp - -Rom 10 Feb 2010 - - build: Attempt to hook up the gtk flags and libs to BOINC Manager - - / - configure.ac - clientgui/ - Makefile.am - -Rom 10 Feb 2010 - - MGR: Move GTK structures out of the class scope. - - clientgui/gtk - taskbarex.cpp, .h - -Rom 10 Feb 2010 - - build: replace gtk flags and libs with libnotify - - / - configure.ac - clientgui/ - Makefile.am - -Rom 10 Feb 2010 - - MGR: Add some debugging to the notification code - - clientgui/gtk - taskbarex.cpp, .h - -Rom 10 Feb 2010 - - MGR: Re-enable the test notification mechanism so - that it is compatible with Linux. - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 10 Feb 2010 - - MGR: Re-enable the context menu support mechanism so - that it is compatible with Linux. - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 10 Feb 2010 - - MGR: Fill in missing pieces to get the notification - handler to signal us when a notification has closed. - - clientgui/gtk - taskbarex.cpp, .h - -Rom 10 Feb 2010 - - MGR: Over half of the information on the Internet about - libnotify is now out of date. The 'closed-reason' - property has been removed and that is why I was having - so many problems. Hook up the events I can determine - from the remaining information. - - clientgui/gtk - taskbarex.cpp, .h - -Rom 10 Feb 2010 - - MGR: Re-enable the balloon context click event handler - for Linux. - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 10 Feb 2010 - - MGR: The Linux notification area doesn't report when mouse - activity happens over the notification icon, so merge the - OnMouseMove event handler with the OnRefresh event handler - so we have the correct tooltips. - - clientgui/ - BOINCTaskBar.cpp, .h - -Rom 10 Feb 2010 - - MGR: Another place that interacts with the taskbar but was - included only if compiled for Windows or the Mac. - - clientgui/ - AsyncRPC.cpp - MainDocument.cpp - -Rom 10 Feb 2010 - - MGR: Only notify the OS of a change in the notification area - if something has changed, otherwise don't update. - - clientgui/ - BOINCTaskBar.cpp, .h - -David 11 Feb 2009 - - client: if a project is anonymous platform and it has no - app versions that use a resource, - don't request work from it for that resource. - - client/ - work_fetch.cpp,h - client_state.cpp - html/inc/ - prefs.inc - -Charlie 11 Feb 2010 - - Mac: Update build script for OS 10.6 and XCode 3.2 (thanks to Jack - Shultz for pointing out this was needed.) - - mac_build/ - BuildMacBOINC.sh - -Charlie 11 Feb 2010 - - MGR: Mac Taskbar does not support tooltips, so exclude tooltip code on Macs. - - clientgui/ - BOINCTaskBar.cpp - -David 13 Feb 2010 - - web: make strings translatable. fixes #980 - - html/user - edit_user_info_form/action.php - -David 14 Feb 2010 - - client: include CPU usage of client in BOINC total. - Also include manager if its name includes "boinc" - (can't figure out another way) - - lib/ - procinfo*.cpp - -David 14 Feb 2010 - - web: more translations, from Christian. fixes #981 - - html/ - inc/ - prefs.inc - user/ - prefs_remove.php - prefs.php - prefs_edit.php - add_venue.php - -Charlie 15 Feb 2010 - Mac wrapper: add build script and make file to buuild wrapper on Mac. - - samples/ - wrapper/ - BuildMacWrapper.sh - Makefile_mac - -David 15 Feb 2010 - - web: more translations, from Christian. fixes #982 - - html/various - -Charlie 16 Feb 2010 - - Samples: Update MakeMacExample.sh and Mac make files in example_app for - OS 10.6 and XCode 3.2. - - samples/ - example_app/ - Makefile_mac - Makefile_mac2 - MakeMacExample.sh - -David 16 Feb 2010 - - manager: first whack at "suspend if CPU load exceeds x" in dialog - clientgui/ - DlgAdvPreferences* - html/ops/ - cancel_wu_action.php - -David 16 Feb 2010 - - screensaver: fix bug where sometimes no tasks are shown; - change font sizes for max of 2 sizes at a time - - clientscr/ - ss_app.cpp - -Rom 16 Feb 2010 - - MGR: Fix icons for dialogs that display them. - - clientgui/ - DlgEventLog.cpp - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - -David 17 Feb 2010 - - db_dump: don't error out if try to rename output dir - and it doesn't exist. - Seems to me that this would cause db_dump to always fail - for new projects. - - sched/ - db_dump.cpp - -David 17 Feb 2010 - - web: fix typo - - html/inc/ - prefs.inc - -David 18 Feb 2010 - - assimilator: fix --one_pass bug (from Bernd) - - sched/ - assimilator.cpp - -David 18 Feb 2010 - - client: don't accumulate LTD for projects w/ suspended jobs - - client/ - work_fetch.cpp - -David 18 Feb 2010 - - wrapper: print more detailed msgs if process creation fails - - samples/wrapper/ - wrapper.cpp - -Rom 18 Feb 2010 - - locale: automatically update each language based on whatever the - new template has. - - locale/ - updatetrans.sh - -David 18 Feb 2010 - - various components: fix inconsistencies in how user names - and team names are represented. - In particular, edit_user_info_action.php was using - htmlentities() on names; this led to double-encoding. - - The new rules: - 1) no HTML tags allowed in either one. - This is enforced silently, using strip_tags() - 2) names are stored in the DB exactly as entered. - They may contain chars like & and >. - They may contain non-ASCII characters - (use UTF-8 if you want them displayed correctly). - None of these are not escaped. - 3) When the names are put in XML - (e.g. in scheduler reply or db_dump output) - they are XML-escaped. - This escapes <, &, and non-ASCII chars - 4) The client leaves them in this form, - and writes them that way in GUI RPCs - and init_data.xml files. - 5) The parsing of GUI RPC replies and init_data.xml files - XML-unescapes them. - - html/ - inc/ - user.inc - user/ - edit_user_info_action.php - lib/ - app_ipc.cpp - gui_rpc_client_ops.cpp - -David 18 Feb 2010 - - API: in txfRenderString, replace non-ASCII chars with ?. - Otherwise it calls abort()! - - api/ - texfont.cpp - -David 18 Feb 2010 - - client: fix bug in "suspend if CPU load too high" feature. - Forgot to convert between fraction and percentage - - client/ - app.cpp - cs_prefs.cpp - log_flags.cpp - -David 19 Feb 2010 - - web: translation stuff - html/ - inc/ - result.inc - user/ - prefs.php - -David 20 Feb 2010 - - admin web: a project must provide an .htaccess file - or an auth_ops() function (not necessarily both). - New projects are given an .htaccess file with no .htpasswd, - so they must either create a .htpasswd file - or define auth_ops() in order to use admin web pages. - - tools/ - make_projects - html/ - project/ - sample_project.inc - inc/ - util_ops.inc - -Rom 23 Feb 2010 - - client: Add a function to the client software to be able to detect - the number of bytes sent and received across all non-loopback - interfaces. - - client/ - hostinfo_win.cpp - -David 23 Feb 2010 - - web: translation typo - html/user/ - team_forum.php - -Charlie 25 Feb 2010 - - MGR: Fix a long-standing bug that made sizers fail on Mac for Advanced - Preferences dialog: I added bSizer1->Fit(this) to end of constructor. - To work around this bug, the dialog had been made resizeable and the - height and width were saved in the Manager settings. But this meant - that when we add an item to the dialog, it is too small until the - user expands it. And Modal dialogs like this should not be resizeable. - I also made the dialog no longer resizeable by the user. - - clientgui/ - DlgAdvPreferences.cpp - DlgAdvPreferencesBase.cpp, .h - -Rom 25 Feb 2010 - - WIN: Add some missing CPU features to the feature list - - WIN: Make sure the Brand string for a CPU is printable. Older Intel - processors have some control characters. - - client/ - hostinfo_win.cpp - -Charlie 26 Feb 2010 - - MGR: Save and restore height and width of Properties dialog; fix comments. - - clientgui/ - DlgAdvPreferences.cpp - DlgItemProperties.cpp, .h - -Charlie 26 Feb 2010 - - MGR: Implement lost features from old messages display in Event Log: - filtering by project (show only this project), dimming Event Log - display when disconnected; alternating gray and white background - stripes for readability. - - clientgui/ - DlgEventLog.cpp, .h - MainDocument.cpp - -Rom 26 Feb 2010 - - client: Add SEH handlers around the Nvidia and ATI detection - routines. Take care of situations where something within - the vendors functions cause a crash. - - client/ - coproc_detect.cpp - -David 26 Feb 2010 - - admin web: reorganize main page; - add "transition all" command - - db/ - boinc_db.h - html/ops/ - index.php - manage_apps.php - job_times.php - manage_app_versions.php - clear_host.php - transition_all.php - -David 26 Feb 2010 - - scheduler: add plan class "cuda_fermi": - requires CUDA 2.3 and compute capability 2.0+ - - sched/ - sched_customize.cpp - -David 26 Feb 2010 - - client: if suspend a file xfer, set upload_offset to -1; - that way it will query server for file length when it resumes, - rather than uploading from the beginning - - client: back out SEH handling for GPU detection - client/ - coproc_detect.cpp - file_xfer.cpp - pers_file_xfer.cpp - -David 27 Feb 2010 - - client: if have coproc jobs but coproc is missing, - skip those jobs in RR sim. - Otherwise we add stuff to uninitialized data structures, - and a crash can result. - - client: initialize the above data structures anyway - - client/ - work_fetch.cpp - rr_sim.cpp - -David 27 Feb 2010 - - client: fix bug that interfered with work fetch - for particular resources in anonymous platform case. - - client/ - work_fetch.cpp - -David 1 Mar 2010 - - server: if MySQL version is 5.0.19 <= v < 5.1, - set the reconnect option before real_connect() instead of after. - From Oliver Bock. - - db/ - db_base.cpp - sched/ - sched_customize.cpp - client/ - cpu_sched.cpp - -Rom 1 Mar 2010 - - client: Improve error checking with CPU detection features. - - lib: cleanup some warnings. - - client/ - hostinfo_win.cpp - lib/ - str_util.h - -David 1 Mar 2010 - - client: if suspending apps because of CPU benchmarks, - leave them in memory - - client/ - app.h - app_control.cpp - cs_prefs.cpp - -Charlie 2 Mar 2010 - - MGR: Fix more Event Log bugs: Exit from taskbar closes Event Log just - like exit from regular menu; enable and disable Copy Selected and Filter - buttons depending on selected messages; fix misplaced curly bracket in - CMainDocument::RunPeriodicRPCs() which caused excessive CPU usage and - other problems. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseFrame.cpp - BOINCTaskBar.cpp - DlgEventLog.cpp, .h - MainDocument.cpp - -Charlie 2 Mar 2010 - - MGR: Keep getting messages even if the Event Log is not open; otherwise - some may be lost due to the limited size of the client's buffer, - causing gaps when the Event Log is later opened. - - clientgui/ - MainDocument.cpp - -Rom 2 Mar 2010 - - client: Add missing European SKUs to the host detection code. - (from: Robert Kreß) - - client/ - hostinfo_win.cpp - -David 2 Mar 2010 - - API: Win: resume other threads before exiting from timer thread. - Attempt to fix E@h bug. - - client: fix messages: asking for X instances doesn't mean - that X instances are idle - - api/ - boinc_api.cpp - client/ - scheduler_op.cpp - -David 2 Mar 2010 - - add remote job submission system (from Toni Giorgino) - - rboinc/* - -David 2 Mar 2010 - - client: generalize the GUI RPC mechanism to access via HTTP. - The handler checks for POST headers, - and if present adds a reply header. - Also: remove the restriction that request messages - must be read in their entirety on the first recv(). - - I'm testing this using javascript's XMLHttpRequest. - It's not completely working; - the browser sends an OPTIONS request, then sends a POST. - The BOINC client parses and replies to these, - but for some reason the browser doesn't seem to be - parsing the POST reply. - - client/ - gui_rpc_server.cpp,h - gui_rpc_server_ops.cpp - -Charlie 2 Mar 2010 - - MGR: Save & restore size information of properties dialogs separately - for project and task property dialogs, also save and restore dialog - positions on Mac. - - clientgui/ - DlgItemProperties.cpp, .h - -Rom 3 Mar 2010 - - MGR: Use theme colors when setting up the color scheme for list items. - The previous use of gray just happened to be the same color as the - deselected but highlighted list item which caused the 'gray' - backgrounded items to display a white background after Windows - inverted the color for highlighting. By using theme colors we avoid - having to worry about such things. - - clientgui/ - BOINCBaseView.cpp - DlgEventLog.cpp - -David 3 Mar 2010 - - scheduler: code cleanup: goto considered harmful - - scheduler: when calculate scheduler runtime, - don't include the part reading request msg from client. - That can be misleadingly long - - sched/ - sched_array.cpp - handle_request.cpp - sched_resend.cpp - -Rom 3 Mar 2010 - - client: more Windows SKU detection changes - (from: [P3D] Crashtest) - - client/ - hostinfo_win.cpp - -David 3 Mar 2010 - - scheduler: cuda_fermi class needs CUDA version 3.0+ - - boinccmd: "result" -> "task" - - sched/ - sched_customize.cpp - lib/ - gui_rpc_client_print.cpp - client/ - boinc_cmd.cpp - -David 3 Mar 2010 - - update_versions: if file is already in download dir, - and is the same, don't copy (it might not be writeable) - - client: change "result" to "task" in user-visible messages - - py/Boinc/tools.py - client/ - client_state.cpp - cs_scheduler.cpp - -David 3 Mar 2010 - - web: fix bug that caused "send email" and "show hosts" - in project prefs to always select "no" - - html/inc/ - prefs.inc - -Charlie 4 Mar 2010 - - MGR: Instead of alternating gray and white backgrounds in lists, - create CBOINCListCtrl and CDlgEventLogListCtrl with wxLC_HRULES - flag. This avoids theme color conflicts with our backgrounds. - It also eliminates the need to set item attributes in the views, - since the default attribute setting already uses theme colors. - (We still use item attributes in the Event Log to list - error messages in red text.) - - clientgui/ - BOINCBaseView.cpp,.h - BOINCListCtrl.cpp, .h - DlgEventLog.cpp - -Charlie 4 Mar 2010 - - MGR: in Event Log: enable and disable Copy Selected and Filter buttons - immediately when selecting or deselecting items; fix Mac-only bug - drawing selected items when Event Log window is inactive. - - clientgui/ - DlgEventLog.cpp, .h - DlgEventLogListCtrl.cpp, .h - -Rom 4 Mar 2010 - - MGR: Remove some hacks to deal with early wxGTK bugs which have since - been fixed. - - clientgui/ - AdvancedFrame.cpp - Events.h - -Rom 4 Mar 2010 - - MGR: Restore wxGTK hacks, bug is still alive and well. - - clientgui/ - AdvancedFrame.cpp - Events.h - -David 4 Mar 2010 - - client: don't start new network activity if CPU benchmarks in progress - - client/ - client_state.cpp - -Charlie 4 Mar 2010 - - MGR: Allow compile-time choice of either rules or alternating gray and white - background stripes in lists by defining EVENT_LOG_STRIPES (in DlgEventLog.h) - and BASEVIEW_STRIPES (in BOINCBaseView.h) to 0 for rules or 1 for stripes. - - clientgui/ - BOINCBaseView.cpp,.h - BOINCListCtrl.cpp, .h - DlgEventLog.cpp, .h - DlgEventLogListCtrl.h - -Bernd 5 Mar 2010 - include sys/types.h for gid_t - - lib/ - filesys.h - -Bernd 5 Mar 2010 - for now maintain (install, uninstall) header files in both BOINC/ and boinc/ - (BOINC/ kept for compatibility, shall be dropped at some point later) - - lib/ - Makefile.mingw - -Bernd 5 Mar 2010 - fix to compile boinc_api.cpp on Windows - looks like copy/paste error, retval is not defined there - David, please review & change if necessary - - api/ - boinc_api.cpp - -David 5 Mar 2010 - - client: revisit the domino-effect preemption problem. - Removed my changes of 19 Jan 2010, which didn't work. - Added new mechanism: keep track of whether a job J has ever run in EDF. - If so, and if another job of the same project and resource type as J - is marked as deadline miss, then mark J as deadline miss, - so that it won't get preempted. - - web: change "result" to "task" in server status page - - admin web: show server stable SVN revision, not trunk - - html/ops/ - index.php - sample_server_status.php - client/ - client_types.h - app.cpp,h - cpu_sched.cpp - -David 5 Mar 2010 - - server: major improvements to locality scheduling from Einstein@home. - Triggering the work generator is now done via the DB - instead of flat files. - - Since only E@h uses locality scheduling, - I kept the DB changes in a separate file (db/schema_locality.sql). - There's a new field in the workunit table, - and that's a required update (in db_update.php) - - manager: compile fix - - clientgui/ - DlgEventLog.h - db/ - boinc_db.cpp,h - schema.sql - schema_locality.sql - sched/ - sched_locality.cpp - Makefile.am - html/ops - db_update.php - lib/ - Makefile.am - -David 6 Mar 2010 - - web RPC: generalize team lookup so that you can look up multiple - teams in one RPC. From Willy de Zutter. - - html/user/ - team_lookup.php - -David 8 Mar 2010 - - server credit stuff (partial checkin) - - db/ - boinc_db.h - schema.sql - sched/ - credit_test.cpp - lib/ - average.cpp,h - Makefile.am - -David 9 Mar 2010 - - server credit stuff. - New policy: anon platform and old platform jobs - get average credit, possibly scaled by elapsed time. - We no longer attempt to guess what app version produced them. - - db/ - boinc_db.h - schema.sql - sched/ - credit_test.cpp - lib/ - average.cpp,h - -David 9 Mar 2010 - - client: if a GPU job is blocked on available mem, - don't fetch more jobs for that resource type - - db/ - boinc_db.h - sched/ - credit_test.cpp - client/ - client_types.cpp,h - work_fetch.cpp - cpu_sched.cpp - -David 10 Mar 2010 - - client: don't suspend non-CPU-intensive jobs because of CPU load - - lib/ - common_defs.h - client/ - gui_rpc_server_ops.cpp - cs_prefs.cpp - time_stats.cpp - app_control.cpp - -Charlie 10 Mar 2010 - - MGR: Improve performance when reducing number of rows in lists (as - when selecting "Show active tasks") by calling ClearSelections() - and SetItemCount() instead of repeatedly calling DeleteItem(). - - clientgui/ - BOINCBaseView.cpp - -David 10 Mar 2010 - - credit test program: create a data file separately so you - don't have to do a big DB query each time - - sched/ - credit_test.cpp - html/ops/ - credit_test.php - -Charlie 11 Mar 2010 - - MGR: Fix a bug which caused unnecessary demand RPCs on some platforms: - set RPC time stamps to 1 rather than 0 in RefreshRPCs() so a not to - trigger initialization code. - - clientgui/ - MainDocument.cpp - -Rom 11 Mar 2010 - - MGR: Prevent flicker and lack of display by using the regular tooltip - for the Project List control on Windows. - - clientgui/ - ProjectListCtrl.cpp, .h - -David 11 Mar 2010 - - credit test program: - It's working pretty well; for S@h, new credit is 56% of old credit, - whether or not we include small-credit jobs. - - improve AVERAGE class (from John McLeod) - sched/ - credit_test.cpp - lib/ - average.cpp,h - -Charlie 11 Mar 2010 - - MGR: Fix to my previous checkin: RefreshRPCs() shouldn't change time stamp - if it was zero, as this is a special vslue to indicate the RPC has never - been called. - - clientgui/ - MainDocument.cpp - -Charlie 11 Mar 2010 - - MGR: use alternating gray and white background stripes in all lists; change - gray color to (247, 247, 247) from (240, 240, 240). Use system colors for - text. - - clientgui/ - BOINCBaseView.cpp,.h - BOINCListCtrl.cpp, .h - DlgEventLog.cpp, .h - DlgEventLogListCtrl.h - -David 11 Mar 2010 - - Manager/client: show project name with notices - - client/ - client_msgs.cpp - cs_notice.cpp,h - clientgui/ - ViewNotices.cpp - lib/ - notice.cpp - -Charlie 12 Mar 2010 - - MGR: Allow separate compile-time choice of rules and / or alternating gray - and white background stripes in lists by defining EVENT_LOG_RULES and - EVENT_LOG_STRIPES (in DlgEventLog.h) and BASEVIEW_RULES and BASEVIEW_STRIPES - (in BOINCBaseView.h); set each to 1 to enable or 0 to disable; currently all - are set to 1 for both stripes and rules in both types of lists. - - clientgui/ - BOINCBaseView.h - DlgEventLog.h - -Rom 12 Mar 2010 - - Remove BOINC_RCSID tags from source files, we are doing branching and tagging - properly. - - - -David 12 Mar 2010 - - GUI RPC: in the structures used in the C++ interface to GUI RPC, - change various std::string to char[n], to improve performance. - - NOTE: std::string should ONLY be used in cases where there is - no a priori limit on string length. - If there's a limit (e.g. because the string originates in - a fixed-size database field) always use char[n]. - - clientgui/ - sg_StatImageLoader.cpp - BOINCBaseView.cpp - sg_StatImageLoader.h - sg_ViewTabPage.h - sg_ProjectsComponent.cpp - sg_ViewTabPage.cpp - MainDocument.h - MainDocument.cpp - ViewStatistics.cpp - DlgItemProperties.cpp - ViewWork.cpp - ViewProjects.cpp - lib/ - gui_rpc_client_print.cpp - gui_rpc_client_ops.cpp - gui_rpc_client.h - client/ - boinc_cmd.cpp - -David 12 Mar 2010 - - client: we weren't marking GPU jobs as EDF-scheduled - - client/ - cpu_sched.cpp - -David 12 Mar 2010 - - server: DB update queries check that the number of affected rows is 1. - However, MySQL's default is that "affected rows" is - rows actually modified, which is not what we want. - Use the CLIENT_FOUND_ROWS option in mysql_real_connect() - to change the semantics to "rows matched". - From Oliver Bock. - - db/ - db_base.cpp - -David 12 Mar 2010 - - GUI RPC: more replacement of std::string - - clientgui/ - sg_ViewTagPage.cpp - DlgItemProperties.cpp - ViewWork.cpp - db/ - schema.sql - schema_locality.sql - sched/ - credit_test.cpp - lib/ - gui_rpc_client_print.cpp - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 15 Mar 2010 - - client: in computing non-BOINC CPU time, - exclude any process whose executable includes "boinc", case-insensitive. - Fix problem with BoincTasks.exe - NOTE: this affects only Win and Linux; - Mac already had case-insensitive comparison. - - lib/ - procinfo_unix.cpp - procinfo_win.cpp - -Charlie 16 Mar 2010 - - Mac Sandbox: Fix bug in my changes of 26 Jan 2010 to set projects directory - and slots directory to group boinc_project, not boinc_master. - - client/ - file_names.cpp - -Bernd 16 Mar 2010 - allow out-of-source-tree build & install of MinGW Makefile build - - lib/ - Makefile.mingw - -David 16 Mar 2010 - - fix bugs in strcasestr(), which apparently had never been tested - - fix typo in schema - - db/ - schema.sql - lib/ - str_util.cpp - -Rom 16 Mar 2010 - - Define HAVE_ALLOCA in boinc_win.h so that any component using - strcasestr in str_util.cpp uses stack allocations instead of - more expensive heap allocations. - - Move remaining HAVE_* defines from project files to boinc_win.h - - lib/ - boinc_win.h - win_build/ - *.vcproc - -Charlie 18 Mar 2010 - - MGR: If user selects Event Log from menu when Event Log window already open, - just bring it to the front instead of opening another window. - - lib: Fix crash bugs. - - clientgui/ - BOINCGUIApp.cpp - lib/ - gui_rpc_client_ops.cpp - -David 18 Mar 2010 - - client (and anything else using MFILE): Win efficiency fix. - Shockingly, realloc() wasn't doing exponential growth. - So create realloc_aux() that does. - - lib/ - mfile.cpp - gui_rpc_client_ops.cpp - -Charlie 19 Mar 2010 - - MGR: Switch background color for the list view stripes back to - the original color (240, 240, 240) from (247, 247, 247). - - clientgui/ - BOINCBaseView.cpp - DlgEventLog.cpp - -Rom 22 Mar 2010 - - MGR: Add event map to the properties dialog. - - clientgui/ - DlgItemProperties.cpp, .h - -David 22 Mar 2010 - - feeder: with -allapps option, allow some apps to have zero weights; - no jobs will be sent for them. - - sched/ - sched_shmem.cpp,h - feeder.cpp - -Charlie 22 Mar 2010 - - MGR: Fix crash bug when using Mac accessibility with Event Log. - - clientgui/ - DlgEventLogListCtrl.cpp, .h - -David 22 Mar 2010 - - client: fix bug where if anon platform file had bad platform name, - it would cause jobs to get discarded on client restart. - - manager: remove flicker-producing messages on status bar - - client/ - cs_statefile.cpp - clientgui/ - BOINCBaseFrame.cpp - BOINCBaseFrame.h - lib/ - mfile.cpp - -Charlie 23 Mar 2010 - - Mac SS: Fix build break due to RPC changes of std::string to char[n]. - - clientscr/ - screensaver.cpp - -David 23 Mar 2010 - - feeder: compile fix - - sched/ - feeder.cpp - -Charlie 23 Mar 2010 - - MGR: Change Advanced Menu item "Run GPU never" to "Suspend GPU". - - clientgui/ - AdvancedFrame.cpp - -Bernd 24 Mar 2010 - - db_purge: - - fix -one_pass - - added -dont_delete (don't delete from DB, for testing) - - added -daily_dir (write archives in a new directory each day) - - sched/ - db_purge.cpp - -David 25 Mar 2010 - - web RPC: include mem and disk info in host XML record - - html/inc/ - xml.inc - -Rom 25 Mar 2010 - - MGR: Simplify the taskbar code before implementing the notice detection - code for the taskbar. - - clientgui/ - BOINCTaskBar.cpp - -David 25 Mar 2010 - - boinccmd: add --set_gpu_mode command - - fix some compile warnings - - client/ - cs_notice.cpp,h - work_fetch.cpp - boinc_cmd.cpp - gui_http.cpp,h - main.cpp - -David 25 Mar 2010 - - user web: if a forum or thread is not visible to a user, - remove their subscriptions to it. - - html/ - inc/ - forum.inc - user/ - forum_thread.php - forum_forum.php - -David 28 Mar 2010 - - user web: in above case, remove notifications as well - - html/inc/ - forum.inc - -David 28 Mar 2010 - - Manager: fix bug in task properties app name display - - lib/ - gui_rpc_client_ops.cpp - -Rom 29 Mar 2010 - - MGR: Display a balloon on Windows and Linux, while causing - the dock to bounce on the Mac whenever new notices arrive. - - MGR: More cleanup work for the task bar. - - clientgui/ - BOINCTaskBar.cpp, .h - clientgui/msw/ - taskbarex.cpp - -David 29 Mar 2010 - - client/manager: show "No CPU prefs" etc. in project properties - - client/ - client_types.cpp - clientgui/ - DlgItemProperties.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -David 29 Mar 2010 - - server: various changes; - see http://boinc.berkeley.edu/trac/wiki/CreditNew - - Projects will need to update DB and recompile all back-end programs. - - Summary: - - new way of computing credit - - "reliable host" mechanism is per app version - - "host punishment" mechanism is per app version - - adjustment of wu.rsc_fpops_est provides the - equivalent of per app version DCF - - max jobs in progress is now per app - - max jobs per RPC is now per app - - TODO: - - reliable mechanism: - - populate and use host_app_version.error_rate - - populate host_app_version.turnaround - - host punishment: - - populate host_app_version.max_jobs_per_day - - populate host_app_version.n_jobs_today - - use app.max_jobs_per_day_init - - job limits: - - use app.max_jobs_in_progress, max_gpu_jobs_in_progress - - use app.max_jobs_per_rpc - - adjust wu.rsc_fpops_est - - remove old credit stuff - fpops_cumulative, credit_multiplier - credit computation in scheduler - - - AVERAGE class: use the Knuth algorithm (Wikipedia) - - db/ - boinc_db.cpp,h - constraints.sql - db_base.cpp,h - schema.sql - html/ - inc/ - forum_rss.inc - translation.inc - ops/ - db_update.php - team_export.php - user/ - app_versions.php (new) - forum_moderate_thread.php - lib/ - Makefile.am - average.cpp,h - py/Boinc/ - database.py - sched/ - Makefile.am - credit.cpp,h - credit_test.cpp,h - feeder.cpp - handle_request.cpp - sched_config.cpp,h - sched_send.cpp - transitioner.cpp - validate_util2.cpp,h - validator.cpp - tools/ - upgrade - -David 29 Mar 2010 - - client/manager: prefix anonymous platform apps with "Local: " - - client/ - client_state.cpp - client_types.cpp - clientgui/ - DlgItemProperties.cpp - ViewWork.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -Charlie 29 Mar 2010 - - MGR: Call get_notices RPC once per minute when Notices tab is not open - so we can notify the user when new notices become available. - - clientgui/ - MainDocument.cpp, .h - -Charlie 29 Mar 2010 - - MGR: Mac fixes for recent task bar cleanup work. Remove taskbar icon - tooltip code on Mac since Mac Taskbar Icon does not support - tooltips (this code is not removed by compiler optimization.) - - clientgui/ - BOINCTaskBar.cpp, .h - mac/ - MacSysMenu.cpp - -Charlie 30 Mar 2010 - - MGR: If there are new notices on Mac: - - Request user attention if Manager is hidden, and - - Display an alert if Manager is open to a tab other than Notices - (If Manager is now hidden, alert will appear when Manager is shown.) - Allow updates to continue behind the notification alert. - - clientgui/ - BOINCTaskBar.cpp, .h - -David 30 Mar 2010 - - client/manager/GUI RPC: project_info.xml file can contain . - If present, and a new user account is created, - it will be made a member of that team if it exists. - - clientgui/ - AdvancedFrame.cpp - WizardAttachProject.cpp,h - ProjectProcessingPage.cpp - sg_BoincSimpleGUI.cpp - html/user; - create_account.php - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - client/ - acct_setup.cpp,h - -Rom 30 Mar 2010 - - MGR: Bad things happen when you don't initialize default values - for variables under wxWidgets. - - clientgui/ - TermsOfUsePage.cpp - -David 30 Mar 2010 - - finish up the auto-team feature - - html/user/ - account_finish_action.php - create_account.php - -David 30 Mar 2010 - - client: NVIDIA peak FLOPS estimate was wrong for Fermi - (32 cores, not 8) - - lib/ - coproc.h - -David 31 Mar 2010 - - client: delete project_init.xml if attached to any project. - - manager: avoid divide by zero if the only project - has zero resource share - - client/ - gui_rpc_server_ops.cpp - clientgui/ - MainDocument.cpp - -David 31 Mar 2010 - - client: Fermi compute capability is 2, not 3 - - lib/ - coproc.h - -Rom 31 Mar 2010 - - MGR: Fix double inclusion problem with change in header layouts - on Linux. - - clientgui/gtk/ - taskbarex.cpp - -David 31 Mar 2010 - - client: give dynamic estimate (based on fraction done) - a greater weight in time-to-completion estimate - - client/ - work_fetch.cpp - -David 31 Mar 2010 - - client: when looking for new file xfers to start, - favor those that are partially done - - client: fix crashing bug if a project is detached - while an RSS feed fetch for it is in progress - - code cleanup: switch from /// back to // for comments - (so much for doxygen) - - client/ - pers_file_xfer.cpp - file_xfer.cpp - client_types.cpp - cs_notices.cpp - *.h - -Charlie 1 Apr 2010 - - MGR: Show number of unread notices in title of Notices tab (we consider - all notices as having been read when Notices tab is showing and BOINC - Manager is front process). Notify (balloon on Window or Linux, bounce - Dock icon on Mac for 15 seconds) repeatedly when there are unread - messages, with notification frequency set by Options dialog reminder - interval slider. - Note: Should there be 2 separate reminder frequency sliders for network - connection and Unread notices? - - clientgui/ - AdvancedFrame.cpp, .h - BOINCBaseFrame.cpp, .h - BOINCTaskBar.cpp, .h - DlgOptions.cpp - MainDocument.cpp, .h - MacSysMenu.cpp - -David 1 Apr 2010 - - web: show anon platform correctly in task list - - html/inc/ - result.inc - -Rom 1 Apr 2010 - - MGR: Only execute a set mode when the menu item has been checked. - On Linux the act of checking and unchecking menu items - programatically causes events to be fired and processed just - like user input. This causes the menu items to flip flop - back and forth between different modes. - - clientgui/ - AdvancedFrame.cpp - -David 1 Apr 2010 - - manager: fixed one last (hopefully) instance of == applied to - a char[] formerly std::string - - clientgui/ - AsyncRPC.cpp - sg_ProjectComponents.cpp - ViewStatisticts.cpp - -David 1 Apr 2010 - - scheduler: choose cuda_fermi over other cuda plan classes - - sched/ - sched_customize.cpp - -David 1 Apr 2010 - - validator: improved log messages - - fix some compiler warnings - - sched/ - sched_types.cpp,h - credit.cpp - -David 1 Apr 2010 - - manager: change text for notice-frequency slider - - clientgui/ - DlgOptions.cpp - -David 2 Apr 2010 - - backend programs: change the way PFC and elapsed-time statistics - are written to the DB. - The incremental approach was bogus. - New approach: - host_app_version: write directly; R/W interval is tiny - app_version: maintain an explicit list of update samples - for both PFC and credit. - When the validator flushes its app_version cache, - do careful updates. - Note: when using double fields in careful updates, - you can't test for equality. Use abs(new-old) < 1e-N - - db/ - boinc_db.h - sched/ - start - credit.cpp - validator.cpp - lib/ - average.h - -David 2 Apr 2010 - - backend: improved messages for app version credit updates - - sched/ - credit.cpp - -David 2 Apr 2010 - - backend: fix scaling problem that was producing xe15 size credits. - This had messed up the beta DB, which I had to clean up. - Added a cap (1e5) to prevent this in the future. - - sched/ - credit.cpp - -David 2 Apr 2010 - - backend: make "print queries" a runtime instead of compile-time - decision (bool g_print_queries) - - db/ - db_base.cpp,h - -Charlie 1 Apr 2010 - - Mac: Update build instructions to replace dead link for - downloading JPEG 6b sources. - - mac_build/ - HowToBuildBOINC_XCode.rtf - -Charlie 3 Apr 2010 - - Mac: Build with c-ares 1.6.0 instead of c-ares 1.7.0, because the newer - c-ares has problems resolving host names on OS 10.6 with default - settings when used with AT&T U-Verse 2Wire gateway routers and Airport. - - mac_build/ - buildc-ares.sh - buildcurl.sh - HowToBuildBOINC_XCode.rtf - setupForBoinc.sh - boinc.xcodeproj/ - project.pbxproj - -David 4 Apr 2010 - - Client: fix bug that caused wrong jobs to be run EDF - (needed to initialize a var inside loop, not outside) - - client/ - cpu_sched.cpp - -David 4 Apr 2010 - - client: clean out project dir on reset. fixes #978 - - client/ - client_state.cpp - -Charlie 5 Apr 2010 - - MGR: If user is not active, delay notification until he is active - (Mac only). - - clientgui/ - BOINCTaskBar.cpp - -David 5 Apr 2010 - - validator: -d 4 means -d 3 plus print all DB queries - (todo: do this for all daemons) - - validator: change cmdline args from -foo to --foo - (todo: do this for all daemons) - - validator: pass max_granted_credit to assign_credit_set() - - sched/ - credit.cpp,h - hr.cpp,h - hr_info.cpp - sched_hr.cpp - sched_send.cpp - validator.cpp,h - -David 5 Apr 2010 - - validator: remove update_credit_per_cpu_sec(). Irrelevant. - TODO: remove related code - - validator: update wu.canonical_credit correctly. - However, this field should be deprecated. - - validator: check for error return from assign_credit_set(). - - db/ - boinc_db.h - sched/ - credit.cpp,h - validator.cpp - -David 5 Apr 2010 - - server: fix messed-up app version stats export - - html/user/ - app_versions.php - -David 5 Apr 2010 - - server: change all backend programs so that -d 4 means - -d 3 plus print DB queries - - sched/ - various.cpp - -David 5 Apr 2010 - - client: read_file_malloc() must open file in binary mode, - else it won't get the right part of the file - - lib/ - util.cpp - -David 5 Apr 2010 - - server: make the -d 4 feature work with FCGI - - db/ - db_base.cpp - sched/ - credit.cpp - sched_main.cpp - -David 6 Apr 2010 - - user web : improve result display - - html/inc - result.inc - -David 6 Apr 2010 - - client: don't do RSS fetch if network suspended - sched/ - sched_customize.cpp - sched_send.cpp - client/ - cs_notices.cpp - -David 6 Apr 2010 - - validator: detect jobs that used GPU app but fell back to CPU - (SETI@home does this if GPU initialization fails). - Treat these like CPU apps for credit purposes. - - sched/ - credit.cpp - -David 6 Apr 2010 - - client: don't include graphics apps in non-BOINC CPU time - - client/ - app.cpp - client_state.cpp,h - lib/ - procinfo.h - procinfo_win.cpp - -Charlie 7 Apr 2010 - - Mac SS: Optimize screensaver for OS 10.6. - - client: don't include graphics apps in non-BOINC CPU time (Mac). - - clientscr/ - Mac_Saver_ModuleView.m - screensaver.cpp - lib/ - procinfo_mac.cpp - -David 7 Apr 2010 - - client: don't include graphics apps in non-BOINC CPU time (Unix). - - lib/ - procinfo_win.cpp - procinfo_unix.cpp - -David 7 Apr 2010 - - client: allow zero resource shares from account managers - - client/ - acct_mgr.cpp - -David 7 Apr 2010 - - admin web: show more credit-related info - - html/inc/ - boinc_db.inc - db_ops.inc - -David 7 Apr 2010 - - client: "allow_remote_gui_rpc" is available via cc_config.xml - as well as command-line. - - client: show allow_remote_gui_rpc option, - and contents of remote_host.cfg, in message log on startup - - client: code cleanup: move some options from - CLIENT_STATE to OPTIONS - - client/ - client_state.cpp,h - cs_cmdline.cpp - gui_rpc_server.cpp - log_flags.cpp,h - main.cpp - sim.h - -David 7 Apr 2010 - - admin web: "User privileges" didn't work if the project - had set forum_preferences.special_user to "0000000", - as had been done in SETI@home for some reason. - Also, show user ID as well as name; name is not unique. - - html/ops/ - manage_special_users.php - profile_screen_form.php - -David 7 Apr 2010 - - client: revert [21035]; remove project_init.xml only if - attached to the project it specifies - (requested by Kevin Reed) - - client/ - gui_rpc_server_ops.cpp - -Rom 8 Apr 2010 - - WINSETUP: Add support for the tag in the Windows - installer for the auto created project_init.xml file. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - CACreateProjectInitFile.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 7 Apr 2010 - - scheduler: app_plan() no longer has to guess how efficiently - an app version will run on a particular host. - - scheduler: fix memory leak: BEST_APP_VERSIONs weren't being freed - - sched/ - sched_customize.cpp - sched_types.cpp - sched_version.cpp - sched_send.cpp - -David 7 Apr 2010 - - scheduler: sweeping changes to the way job runtimes are estimated: - see http://boinc.berkeley.edu/trac/wiki/RuntimeEstimation - - sched/ - credit.cpp,h - sched_send.cpp - sched_shmem.cpp,h - sched_types.cpp,h - sched_version.cpp,h - -David 7 Apr 2010 - - client: attempt to fix bug where a GPU would be assigned - to multiple jobs at the same time. - I fixed one error (reference arg to assign_coprocs()) - but I can't see why this would explain the problem. - I added a lot of extra log messages. - - user web: give scientists moderator privileges - - client/ - cpu_sched.cpp - html/inc/ - forum.inc - -Charlie 9 Apr 2010 - SS: Ignore SUSPEND_REASON_CPU_USAGE in SS coordinator, so it won't kill - graphics apps for short-term CPU usage spikes (such as anti-virus.) - - clientscr/ - screensaver.cpp - -Charlie 9 Apr 2010 - - client: Fix bug in determining non-BOINC CPU time (Mac). - - lib/ - procinfo_mac.cpp - -David 9 Apr 2010 - - scheduler and validator: distinguish between - 1) peak FLOPS (based on benchmarks or GPU attributes). - This does not change over time. - It's not adjusted on the basis of statistics. - It's not affected by wu.rsc_fpops_est. - It can be compared across projects. - versus - 2) projected FLOPS: the scheduler's best guess as to what will satisfy - X * elapsed_time = wu.rsc_fpops_est; - this is used to make server-side runtime estimates, - and it's sent to the client and used for its runtime estimates. - It may be based on the (host, app version) elapsed time average. - My checkin [21153] mistakently confounded these two. - - Notes: - 1) app_plan() now must return both peak and projected FLOPS. - 2) result.flops_estimate stores peak FLOPS - 3) the field in app_info.xml files should be - projected FLOPS. But its accuracy is not important; - it's not used once the server has statistics - for the (host, app version) - - sched/ - credit.cpp - sched_customize.cpp - sched_send.cpp - sched_types.cpp,h - sched_version.cpp - -David 10 Apr 2010 - - scheduler: fix egregious bug which limited sending to 1 job per RPC - - scheduler: fix bug that broke anon platform - - Note: Bruce Allen once advised me to take a few days and just - observe BOINC in action. - I should really do this more often; it always turns up bugs - and/or design flaws. - - sched/ - sched_version.cpp - sched_send.cpp - -Charlie 13 Apr 2010 - - client: Add code for determining non-BOINC CPU time for GridRepublic - and Progress Thru Processors clients (Mac & Windows). - - lib/ - procinfo_mac.cpp - procinfo_win.cpp - -Bernd 13 Apr 2010 - - scheduler: as db-driven client file management isn't ready yet, - adapt Einstein@home-specific file management hack to current run - - sched/ - sched_locality.cpp - -David 13 Apr 2010 - - server: change the following from per-host to per-(host, app version): - - daily quota mechanism - - reliable mechanism (accelerated retries) - - "trusted" mechanism (adaptive replication) - - scheduler: enforce host scale probation only for apps with - host_scale_check set. - - validator: do scale probation on invalid results - (need this in addition to error and timeout cases) - - feeder: update app version scales every 10 min, not 10 sec - - back-end apps: support --foo as well as -foo for options - - Notes: - - If you have, say, cuda, cuda23 and cuda_fermi plan classes, - a host will have separate quotas for each one. - That means it could error out on 100 jobs for cuda_fermi, - and when its quota goes to zero, - error out on 100 jobs for cuda23, etc. - This is intentional; there may be cases where one version - works but not the others. - - host.error_rate and host.max_results_day are deprecated - - TODO: - - the values in the app table for limits on jobs in progress etc. - should override rather than config.xml. - - Implementation notes: - scheduler: - process_request(): - read all host_app_versions for host at start; - Compute "reliable" and "trusted" for each one. - write modified records at end - get_app_version(): - add "reliable_only" arg; if set, use only reliable versions - skip over-quota versions - Multi-pass scheduling: if have at least one reliable version, - do a pass for jobs that need reliable, - and use only reliable versions. - Then clear best_app_versions cache. - Score-based scheduling: for need-reliable jobs, - it will pick the fastest version, - then give a score bonus if that version happens to be reliable. - When get back a successful result from client: - increase daily quota - When get back an error result from client: - impose scale probation - decrease daily quota if not aborted - Validator: - when handling a WU, create a vector of HOST_APP_VERSION - parallel to vector of RESULT. - Pass it to assign_credit_set(). - Make copies of originals so we can update only modified ones - update HOST_APP_VERSION error rates - Transitioner: - decrease quota on timeout - - db/ - boinc_db.cpp,h - sched/ - most files - -David 15 Apr 2010 - - client: get rid of spurious "Using proxy settings from GUI" message - - client/ - cs_prefs.cpp - gui_rpc_server_ops.cpp - lib/ - proxy_info.cpp - -Charlie 15 Apr 2010 - - client: Improve code for determining non-BOINC CPU time for branded - clients (Mac & Windows). - - lib/ - procinfo_mac.cpp - procinfo_win.cpp - -Charlie 15 Apr 2010 - - client: fix build break. - - client/ - coproc_detect.cpp - -David 16 Apr 2010 - - back end programs: improve log msgs - db/ - boinc_db.h - sched - sched_config.cpp,h - sched_version.cpp - sched_send.cpp - credit.cpp - sched_main.cpp - - -Rom 16 Apr 2010 - - MGR: Handle the Event Log's size better, pass in the correct dialog - size to the dialog creation routines instead of setting the size - after dialog initialization. Avoids artifacts and things having - to be tweaked later. - - clientgui/ - DlgEventLog.cpp, .h - -David 16 Apr 2010 - - admin web: use only valid results in FLOPS count graph - html/ops/ - job_times.php - -David 16 Apr 2010 - - back end: typo and tweaks - - sched/ - credit.cpp - html/inc/ - db_ops.inc - -David 16 Apr 2010 - - client: fix bug in mechanism that inhibits work fetch - for a GPU if it lacks available memory - - client/ - client_state.cpp - coproc_detect.cpp - cpu_sched.cpp - -Charlie 16 Apr 2010 - - Mac Installer: Set uninstaller's writeable-by-user permission bit so - 3rd-party Unarchiver can inflate the Zip file (from Eric Myers). - - mac_installer/ - make_GridRepublic.sh - make_ProgThruProc.sh - release_boinc.sh - -Charlie 17 Apr 2010 - - Mac Installer: AddRemoveUser utility accepts both full / login user - names and short / Posix user names. - - mac_installer/ - AddRemoveUser.cpp - -David 17 Apr 2010 - - client: improve GPU scheduling - old: assign GPUs, then check available RAM - Problem: may cause starvation on multi-GPU systems. - new: use available RAM info in the assignment process. - Prevents starvation, also reduces the number of driver calls. - - client/ - client_state.cpp - client_types.cpp,h - coproc_detect.cpp - cpu_sched.cpp - lib/ - coproc.h - sched/ - sched_customize.cpp - -David 17 Apr 2010 - - client: when a GPU job finishes, clear the "schedule backoff" - of other jobs of that type. - They're waiting for GPU RAM, which may now be available. - - client: bug fix in GPU RAM availability - - client: fix testing setup for GPU RAM availability - - client/ - app_control.cpp - client_state.cpp - coproc_detect.cpp - cpu_sched.cpp - lib/ - coproc.h - -David 19 Apr 2010 - - client: clean up logic related to GPU available memory. - If a driver call to get available mem fail, mark the GPU as unusable. - - client/ - client_msgs.h - client_types.cpp,h - coproc_detect.cpp - cpu_sched.cpp - work_fetch.cpp - lib/ - coproc.h - html/ops/ - purge_profile.php - -David 19 Apr 2010 - - validator: fix bug where host.total_credit not incremented - - db/ - boinc_db.cpp - sched/ - credit.cpp - -David 19 Apr 2010 - - validator: message tweak - - sched/ - credit.cpp - -Charlie 19 Apr 2010 - - Mac Installer: PostInstall gets short / Posix user name from getpwnam(), - writes additional diagnostic information to installer log. - - mac_installer/ - PostInstall.cpp - -David 20 Apr 2010 - - client: show "waiting for GPU memory" in task status - - client/ - client_types.cpp - cpu_sched.cpp - clientgui/ - ViewWork.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -David 21 Apr 2010 - - back end: new way of deciding: - - whether host is "reliable" for an app version - - whether host is eligible for single replication for an app version - - whether to use host scaling - In each case, the answer is yes if the number of - consecutive valid results is above a threshold. - This replaces existing "error rate" and "scale probation" mechanisms. - - TODO: the # of consecutive valid results should also determine - a limit on jobs in progress for an app version. - Namely, if N is the threshold for host scaling, the limit should be - ndevices*(max(1, consecutive_valid - N)) - The client currently doesn't supply enough - app version info to do this. - It could be approximated; that would give some protection - against cherry-picking. - - credit: more conservative formulas for combining claimed credit - among replicas. - If there are normal replicas, we use a "low average" - that weights each sample by the sum of the other samples. - Otherwise we use the min (not the average) of the approximate samples. - - NOTE: a DB update is required - - db/ - boinc_db.cpp,h - schema.sql - html/ops/ - db_update.php - sched/ - credit.cpp,h - sched_config.h - sched_result.cpp - sched_send.cpp - sched_shmem.cpp,h - transitioner.cpp - validator.cpp - -David 21 Apr 2010 - - client: keep track of daily history of network transfers - - client/ - client_state.cpp,h - file_names.h - http_curl.cpp - net_stats.cpp,h - -David 21 Apr 2010 - - client: bug fixes for the above - - client/ - client_state.cpp - net_stats.cpp - -David 21 Apr 2010 - - client: add preference for limiting network xfers in last N days - (no GUI yet) - - lib/ - prefs.cpp,h - common_defs.h - client/ - client_stte.cpp - net_stats.cpp,h - cs_prefs.cpp - -David 21 Apr 2010 - - client: bug fixes for the above - client/ - cpu_sched.cpp - cs_prefs.cpp - net_stats.cpp - lib/ - prefs.cpp - -Charlie 22 Apr 2010 - - client: Add get_network_usage_totals() function to the Macintosh - client to report the number of bytes sent and received across - all non-loopback interfaces. Note: this code may also work on - onther UNIX-like systems in addition to Macintosh. - - client/ - hostinfo_unix.cpp - -David 22 Apr 2010 - - client: fix bug with NVIDIA GPUs. - Some of them allow only 1 CUDA context at a time. - You need to create a CUDA context to get available VRAM. - So the client would run a CUDA job, then immediately kill it. - Solution: - - If a GPU app is running, - let it keep running regardless of available VRAM - (if it's still running, it has enough VRAM). - - But don't start new apps if there's not enough available VRAM, - or it the amount is unknown - (if the client can't create a CUDA context, - the app won't be able to either) - - client: if is set, print available GPU RAM periodically - - client/ - coproc_detect.cpp - cpu_sched.cpp - html/inc/ - prefs.inc - lib/coproc.h - -David 22 Apr 2010 - - user web: first whack at cleaning up the mess which is prefs.inc - (to be continued) - - html/inc/ - prefs.inc - -Rom 23 Apr 2010 - - CC: Reduce how often the client reports the amount of available - VRAM to once every 60 seconds. - - client/ - coproc_detect.cpp - cpu_sched.cpp - lib/ - coproc.h - -David 23 Apr 2010 - - user web: more cleanup of prefs.inc - - client: code cleanup - - html/inc/ - prefs.inc - lib/ - coproc.h - client/ - coproc_detect.cpp - cpu_sched.cpp - -David 23 Apr 2010 - - user web: separate general stuff from prefs.inc - - html/inc/ - prefs.inc - prefs_util.inc (new) - client/ - coproc_detect.cpp - -David 23 Apr 2010 - - user web: add network quota pref (the goal that spurred all this cleanup) - - rename prefs.daily_xfer_period to daily_xfer_period_days - - html/inc/ - prefs.inc - prefs_util.inc - lib/ - prefs.cpp,h - client/ - cs_prefs.cpp - -David 23 Apr 2010 - - manager: add network quota to advanced prefs dialog - - clientgui/ - DlgAdvPreferences.cpp - DlgAdvPreferencesBase.cpp - DlgAdvPreferencesBase.h - -David 23 Apr 2010 - - client: Win: kill runaway apps using TerminateProcess() - rather than TerminateProcessById(). - The latter doesn't work in protected mode. - - client: pid_handle => process_handle. misnomer - - client/ - app.cpp,h - app_start.cpp - app_control.cpp - -David 23 Apr 2010 - - client: report daily xfer stats in scheduler request - (not used by scheduler, but maybe later) - - client/ - net_stats.cpp,h - cs_prefs.cpp - cs_scheduler.cpp - -David 25 Apr 2010 - - user web: message tweaks - - html/inc/ - prefs.inc - prefs_util.inc - -David 26 Apr 2010 - - client: clean up network suspension logic. - There are now separate flags for - "file_xfers_suspended": don't do file transfers - "network_suspended": don't do any network comm - (scheduler RPCs, RSS fetch, master fetch, etc.) - The policy: - if preferences/settings say no network - (quota exceeded, no-network mode, user active, time, excl. app) - then: - file_xfers_suspended = true - if (no recent network-related RPC) network_suspended = true - - user web: code cleanup for project prefs - - client/ - client_state.cpp,h - cs_prefs.pp - html/inc/ - prefs.inc - prefs_util.inc - -David 26 Apr 2010 - - user web: bug fixes for prefs - - html/inc/ - prefs.inc - prefs_util.inc - -David 26 Apr 2010 - - validator: bug fixes: bad formula for low_average(); - failure to reread app_versions because of 1e6/1e-6 typo - - db/ - boinc_db.h - sched/ - credit.cpp - -David 27 Apr 2010 - - client: write daily net history on shutdown - - client: remove extraneous calls to calShutdown() - in ATIs available-RAM code. - - client - coproc_detect.cpp - net_status.cpp,h - main.cpp - cs_scheduler.cpp - html/project.sample/ - project_specific_prefs.inc - -Charlie 28 Apr 2010 - - MGR: more Event Log bug fixes: fix Copy Selected button when filtering - by project; save window dimensions properly when exiting Manager with - Event Log window open; add spaces around field delimiters when copying - to clipboard for better readability; fix sizer problem on Mac (buttons - disappeared if window height was too small) by initializing size of - CDlgEventLogListCtrl to wxDefaultSize instead of 640X480. - - clientgui/ - DlgEventLog.cpp - DlgEventLogListCtrl.cpp - -David 28 Apr 2010 - - client: network bandwidth total was counting 1 day too many - - client simulator: start GPU support - - client/ - net_stats.cpp - -Charlie 29 Apr 2010 - - client: Add get_max_cpu_temperature to the Macintosh client to - report the highest current CPU temperature as degrees Celsius. - This code is for Intel macs only. Returns zero if it fails - (or on a PowerPC Mac). I do have code to do this on PowerPC - Macs, but it is long and complex. - - client/ - hostinfo_unix.cpp - -David 29 Apr 2010 - - client: minor code cleanup - - manager: fix typo - - client/ - work_fetch.cpp - clientgui/ - ProxyInfoPage.cpp - -David 29 Apr 2010 - - user web: no limit on PMs for moderators, admins etc. - - html/ - inc/ - forum.inc - user/ - pm.php - -David 29 Apr 2010 - - user web: in BBCode->HTML conversion there was a limit of - 20 tags converted. - I don't think a limit is needed. - In any case, I changed it to 1000 - - html/inc - text_transform.inc - -David 29 Apr 2010 - - client: standardize debug messages. - Messages enabled by are prefixed by "[foo]" - client/ - (most).cpp - -David 29 Apr 2010 - - client: missed one - - client/ - cs_scheduler.cpp - -Charlie 30 Apr 2010 - - client: Restore RUN_MODE_ALWAYS functionality in network suspension - logic which was lost in code cleanup of 26 Apr 2010. - - cs_prefs.pp - -David 30 Apr 2010 - - manager: if user clicks Retry in Transfer tab while network is suspended, - show an alert. - - manager: in transfers tab, show it if transfers are suspended - because network is suspended - - manager: in tasks tab, if a task is downloading or uploading - and network is suspended, show it - - client/ - work_fetch.cpp - clientgui/ - ViewTransfers.cpp - ViewWork.cpp - -David 3 May 2010 - - client: day boundary for "transfer at most X in N days" - is midnight local time, not UTC - - update translation templates - - sched/ - sched_send.cpp - client/ - sim.cpp - net_stats.cpp - -Rom 3 May 2010 - - client: fix build break - - client/ - net_stats.cpp - -Rom 5 May 2010 - - client: include the configured download url in the - get_newer_version RPC. - - client/ - gui_rpc_server_ops.cpp - -Rom 5 May 2010 - - lib: update client-side RPC files for configured - download url. - - manager: update get_newer_version async RPC for - configured download url. - - clientgui/ - AsyncRPC.cpp, .h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -Charlie 5 May 2010 - - MGR: Fix build break. - - clientgui/ - AsyncRPC.cpp, .h - -David 6 May 2010 - - manager: fix tooltip msgs - - clientgui/ - AdvancedFrame.cpp - sg_ProjectsComponent.cpp - -David 7 May 2010 - - manager: improve "suspended" messages for tasks and transfers - - manager: code reorg. ViewTransfers and DlgItemProperties - both had a long member function to generate a string describing a task. - One of these was out of date. - Replaced these with a single non-member function. - - manager: fixed sizer problem in attach wizard that caused missing word - - client: minor code reorg - - client/ - client_state.h - cs_prefs.cpp - clientgui/ - DltItemProperties.cpp,h - MainDocument.cpp,h - ViewTransfers.cpp - ViewWork.cpp,h - WelcomePage.cpp - lib/ - str_util.cpp,h - -David 7 May 2010 - - client: when emerge from bandwidth quota network suspension, - add 0..1hr random delay to existing transfers, - to avoid DDOS effect - - db/ - boinc_db.cpp - client/ - client_state.cpp - pers_file_xfer.cpp,h - -David 7 May 2010 - - manager: if a project has pending trickle up, - show it in the project status - - clientgui/ - ViewProjects.cpp - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 7 May 2010 - - user web: fix PHP warning - - admin web: add tool for debugging credit - - html/ - inc/ - prefs.inc - boinc_db.inc - db_ops.inc - ops/ - credit.php (new) - -Rom 7 May 2010 - - DIAG: Make init functions consistent with one another. - - lib/ - diagnostics.cpp - -David 8 May 2010 - - client: fix time-zone offset in net BW quota - - client/ - net_stats.cpp - -Rytis 9 May 2010 - - user web: fix PHP warning when netsoft stats are down - - html/inc/ - user.inc - -David 10 May 2010 - - manager: in transfers tab, show reason why transfer is suspended - - manager: WTF?? master URL, not name, identifies projects. - - manager: got rid of a bunch of unused functions - - clientgui/ - DlgItemProperties.cpp - MainDocument.cpp,h - ViewTransfers.cpp - -Rom 10 May 2010 - - client & lib: bring header inclusion up-to-date for the CC to begin - hunting down a memory leak. - - client/ - - lib/ - - -Rom 10 May 2010 - - client: re-enable memory leak detection on Windows. - - client/ - main.cpp - -Rytis 11 May 2010 - - user web: use full output transform for frontpage news posts (to handle - newlines and other related stuff). - - user web: add a warning in case admin hasn't changed show_news() call to - the new format. - - html/inc/ - news.inc - -David 11 May 2010 - - client: temporarily enable logic that deallocates memory on exit, - so that we can look for memory leaks. - - client: enable bandwidth quota limit only if both - #MB and #days are nonzero. - - scheduler: when resending work, don't send more than - client is requesting - - scheduler: restore Cobblestone factor to 100 - - sched/ - sched_resend.cpp - credit.h - client/ - dhrystone2.cpp - check_state.cpp - cs_prefs.cpp - main.cpp - app.cpp - -David 11 May 2010 - - client: delete messages on exit - - client/ - client_msgs.cpp,h - check_state.cpp - -David 11 May 2010 - - client: fix memory leak - - lib/ - coproc.h - -Rom 11 May 2010 - - client: leave template for causing the debugger to break on a - specific memory allocation. - - client/ - main.cpp - -Charlie 11 May 2010 - - client: Fix build break on Mac. Please be careful changing the order - of #includes. - - client/ - gui_rpc_server_ops.cpp - -David 11 May 2010 - - client: on resume from net bandwidth quota suspend, - apply same random backoff to all transfers. - - client: when changing ncpus via config file, - don't modify host_info.p_ncpus - - client: show effective #CPUs separately from physical # - - client/ - client_state.cpp,h - pers_file_xfer.cpp - cpu_sched.cpp - -David 11 May 2010 - - client: clear config before rereading config file. - This means that, e.g. if you remove - it will revert to the actual number. - However, it also means that any config params - set via command line will be overridden. - - client/ - log_flags.cpp - -Rytis 12 May 2010 - - user web: use CDATA section for title in the RSS feed - - html/inc/ - forum_rss.inc - -David 12 May 2010 - - client: fix crashing bug. - Deleting records in ~COPROCS() was bad, - since we copy HOST_INFO to APP_INIT_DATA, - leading to a double deletion. - - client/ - cpu_sched.cpp - lib/ - coproc.h - -David 12 May 2010 - - web: string fix - - html/user/ - team_lookup.php - -David 12 May 2010 - - client/manager: keep track of "GPU suspended reason". - Report it to the manager - (it was already in CC_STATUS, but not populated) - - manager: fix system tray icon popup text - - client/ - app.cpp,h - cpu_sched.cpp - cs_prefs.cpp - gui_rpc_server_ops.cpp - clientgui/ - BOINCTaskBar.cpp - lib/ - gui_rpc_client_ops.cpp - -David 12 May 2010 - - scheduler: changeset 21148 broke the scheduler. - We store pointers to BEST_APP_VERSION in both APP_VERSION and RESULT. - We can't then fiddle with the vector that these point into. - Switch back to using a vector of pointers. - This restores the memory leak, which I'll deal with later. - - sched/ - sched_types.h - sched_version.cpp - -David 12 May 2010 - - scheduler: fix for daily quota enforcement - - sched_version.cpp - -David 12 May 2010 - - client: make GPU available RAM measurement #ifdef-selectable, - and default it to off - - client: if we print available GPU RAM (which we now don't) - have a separate timer per GPU type - - scheduler: add new plan classes cuda_opencl (sic) and ati_opencl - - client/ - client_state.cpp - coproc_detect.cpp - lib/ - coproc.h - sched/ - sched_customize.cpp - -David 13 May 2010 - - scheduler: fix bug in daily job quota check - - sched/ - sched_version.cpp - -David 13 May 2010 - - client and scheduler RPC: - Add more info to "project in-progress job list". - Old: entries included only job name and app plan class; - this was used to resend lost jobs, - and to count the # of CPU and GPU jobs. - But it's not usable e.g. for per-app in-progress limits. - New: send the client's app versions (including usage info) - and for each in-progress job, which app version it uses. - (This reduces request-message size compared with sending - usage info and app name per job). - - client and scheduler RPC: - Add more info to "all in-progress job list", and make it optional. - This list is used by schedulers that do deadline checks - using EDF workload simulation. - Old: the list is always sent, and it contains no info - about job resource usage - New: the list is sent only if the scheduler asked for it - in a previous reply, - and each entry now contains resource usage (CPU, GPUs) - Note: the scheduler's EDF simulator is outdated; - it doesn't know about GPU jobs. - But we may as well get the info in place. - - client/ - client_types.cpp,h - cs_scheduler.cpp - scheduler_op.cpp - sched/ - sched_config.h - -David 13 May 2010 - - client: just send 1 copy of app versions - - client/ - cs_scheduler.cpp - -David 13 May 2010 - - manager: in sys tray pop up, if computing is disabled, - don't say whether GPU is enabled (confusing). - - clientgui/ - BOINCTaskBar.cpp - -David 14 May 2010 - - API: compile fixes for MinGW - - lib/ - boinc_win.h - filesys.cpp - api/ - Makefile.mingw - -David 14 May 2010 - - client: include app versions only of this project in sched req - - client/ - cs_scheduler.cpp - -David 14 May 2010 - - client: fix bug that randomly caused idle GPUs - - client/ - coproc_detect.cpp - -Charlie 17 May 2010 - - MGR: Rework Mac accessibility for better compatibility with OS 10.6. - - clientgui/ - BOINCListCtrl.cpp, .h - mac/ - MacAccessiblity.cpp, .h - -Rytis 17 May 2010 - - user web: fix boolean type preferences for non-english languages where - PREF_BOOL is used - - html/inc/ - prefs_util.inc - -Bernd 18 May 2010 - - scheduler: fix query in send_old_work() - from Oliver Bock - - sched/ - sched_locality.cpp - -David 18 May 2010 - - client: don't promote multithread jobs ahead of EDF jobs - - client/ - cpu_sched.cpp - -David 18 May 2010 - - client/scheduler: in COPROCS, instead of having a vector of - pointers to dynamically allocated COPROC-derived objects, - just have the objects themselves. - Dynamic allocation should be avoided at all costs. - - client/ - app_start.cpp - client_state.cpp,h - client_types.cpp - coproc_detect.cpp - cpu_sched.cpp - cs_scheduler.cpp - cs_statefile.cpp - rr_sim.cpp - scheduler_op.cpp - wim.h - work_fetch.cpp - lib/ - coproc.cpp,h - hostinfo.cpp,h - sched/ - handle_request.cpp - sched_customize.cpp - sched_send.cpp - sched_types.cpp,h - -David 18 May 2010 - - client simulator: fix build - - code cleanup: removed include of client/cpp.h from lib/msg_log.cpp. - Stuff in lib/ should NOT include stuff from client/. - - lib/ - msg_log.cpp - client/ - sim.cpp,h - sim_util.cpp - -David 18 May 2010 - - client: fix error in GPU confirm message (it always said 0) - - client/ - cpu_sched.cpp - -David 18 May 2010 - - GUI RPC: include HOST_INFO in CC_STATE - - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 18 May 2010 - - Manager: change order of columns in tasks tab - - clientgui/ - ViewWork.cpp - -David 18 May 2010 - - scheduler: fix bug in single-replication decision (from Rytis) - - clientgui/ - ViewWork.cpp - sched/ - sched_send.cpp - client/ - rr_sim.cpp - -David 19 May 2010 - - web: don't cache hosts page, and make it more translatable - - html/user/ - hosts_user.php - -David 19 May 2010 - - boinccmd: don't authorize if no password found or given - - client/ - boinc_cmd.cpp - -David 19 May 2010 - - GUI RPC: improved error reporting - - lib/ - gui_rpc_client_ops.cpp - html/ops/ - credit.php - -David 19 May 2010 - - manager: more column reorder in Tasks tab - - clientgui/ - ViewWork.cpp - -David 19 May 2010 - - client: message tweak - - client/ - app_control.cpp - -David 20 May 2010 - - scheduler: message tweaks - - sched/ - sched_main.cpp - sched_customize.cpp - -David 20 May 2010 - - client, Unix: error checking in reading /proc entries. - Avoid garbage values e.g. of working_set_size - - scheduler: message tweaks - - lib/ - error_numbers.h - str_util.cpp - procinfo_unix.cpp - client/ - app_control.cpp - sched/ - sched_version.cpp - -David 20 May 2010 - - scheduler: SETI@home's CUDA and CUDA 2.3 apps apparently don't - run on Fermi (compute capability 2) hardware. - Temporary solution: change app_plan() accordingly - - scheduler: message tweaks - sched/ - sched_customize.cpp - sched_version.cpp - -David 20 May 2010 - - scheduler: fix memory leak (free BEST_APP_VERSION objects) - - sched/ - sched_types.h - sched_version.cpp - -Rytis 23 May 2010 - - user web: extend account manager script to export more information - (from Willy de Zutter) - - html/user/ - am_get_info.php - -Charlie 24 May 2010 - - MGR: If get_results RPC takes x seconds, do it no more often than - once every (x * GET_RESULTS_FREQUENCY_FACTOR) seconds. - GET_RESULTS_FREQUENCY_FACTOR is currently defined as 10. - NOTE: we must measure the RPC time in the RPC thread, so this - code assumes that dtime() is thread-safe, or at least that any - error introduced due to thread preemption is small. - - clientgui/ - AsyncRPC.cpp, .h - MainDocument.cpp, .h - -David 24 May 2010 - - scheduler: preliminary checkin of new limit code - - sched/ - sched_limit.cpp,h (new) - -David 25 May 2010 - - client: fix bug in accounting of elapsed time and CPU time - - client/ - app.cpp,h - app_control.cpp - -Rom 26 May 2010 - - WINBUILD: Properly handle detection of Visual Studio when - somebody has all of them installed (2005/2008/2010). - - win_build/ - boinc_cli.vcproj - boincmgr.vcproj - buildenv.cmd - -David 26 May 2010 - - client: fix build failure on FreeBSD (SCHED_BATCH doesn't exist there) - (from Rene Mayorga) - - client/ - app_start.cpp - -Rom 27 May 2010 - - client: fix elasped time tracking bug - (from Kevin Reed) - - client/ - app_start.cpp - -Rom 28 May 2010 - - samples: plug in a skeleton CUDA sample with nothing in it. Setup Windows - project environment so the thing will at least compile. The nvcc compiler - is a bit touchy. - - samples/cuda - cuda.cu - cuda_kernel.cu - win_build/ - boinc.sln - cuda.rules - cuda.vcproj - -David 31 May 2010 - - GUI RPC client side: set up a 30 second receive timeout for - socket to client. That way GUI won't hang if client does. - From Fred of BoincTasks - - lib/ - network.cpp - gui_rpc_client.cpp - -David 31 May 2010 - - server: code cleanup - - sched/ - sched_types.h - sched_config.cpp,h - -Rytis 1 Jun 2010 - - user web: do not wait for cross-project stats for more than 3 seconds as - it slows down "Your account" page load in case stats server is slow to - respond. - - html/inc/ - user.inc - -David 1 Jun 2010 - - client/server/API: rename cudaDeviceProp to CUDA_DEVICE_PROP to - avoid conflict with nvidia's structure. - Note: these structures don't have to be the same, - since we populate our struct one item at a time. - - lib/ - coproc.h - -David 1 Jun 2010 - - scheduler: fix bug that caused resent jobs with anonymous platform - to have zero FPOPS est and bound - - sched/ - sched_result.cpp - sched_send.cpp - handle_request.cpp - -David 1 Jun 2010 - - scheduler: add fine-grained "max jobs in progress" control. - You can now specify limits for specific apps, - and/or for the project as a whole. - Within each of these, you can specify limits on - CPU jobs, GPU jobs, or total jobs. - In the case of CPU and GPU limits, you can specify - whether the limit should be scaled by the number of devices. - - Note: the enforcement of this is done in get_app_version(), - since per-resource-type limits may dictate what app versions - we can use for a particular job. - - sched/ - Makefile.am - sched_config.cpp,h - sched_limit.h - sched_score.h - sched_send.cpp - sched_types.cpp,h - sched_version.cpp - -David 1 Jun 2010 - - back end: change "daily result quota" mechanism. - Old: config.xml specifies an initial daily quota (say, 100). - Each host_app_version starts out with this quota. - On the return of a SUCCESS result, - the quota is doubled, up to the initial value. - On the return of an error result, or a timeout, - the quota is decremented down to 1. - Problem: - Doesn't accommodate hosts that can do more than 100 jobs/day. - New: similar, but - - on validation of a job, daily quota is incremented. - - on invalidation of a job, daily quota is decremented. - - on return of an error result, or a timeout, - daily quota is min'd with initial quota, then decremented. - Notes: - - This allows a host to have an unboundedly large quota - as long as it continues to return more valid - than invalid results. - - Even with this change, hosts that return SUCCESS but - invalid results will continue to get the initial daily quota. - It would be desirable to reduce their quota to 1. - - db/ - boinc_db.cpp - sched/ - sched_result.cpp - sched_send.cpp - transitioner.cpp - validator.cpp - -David 1 Jun 2010 - - manager: linux compile fix, from jochen - - clientgui/gtk/ - taskbarex.cpp - -David 1 Jun 2010 - - user web: fix forum RSS feed - - html/inc/ - forum_rss.inc - -Rom 2 Jun 2010 - - MGR: Apply patches submitted by Nicolás Alvarez - * Convert tabs to spaces for consistency. - * Add BOINC copyright/license comment header. - * Rename the numbered sizer variables to something descriptive and useful. - * Remove useless sizers with only one element inside. - * Declare and assign sizers in the same statement. - * Split GUI creation into one method per tab. - - clientgui/ - DlgAdvPreferencesBase.cpp, .h - -David 2 Jun 2010 - - client: add --fetch_minimal_work option (cmdline and config file) - If set, then: - if there are any active jobs at startup, don't fetch more work - otherwise make exactly 1 scheduler RPC requesting work, - and request only enough jobs to fill all devices. - - client: --exit_when_idle: make it available in config file - and change semantics to: - If set: exit if - 1) there are no tasks, and - 2) either there was an active task on startup, - or we made a scheduler RPC requesting work - Note: if there are not active tasks on startup, - and the client makes a work request which doesn't return work, - it will exit. - - When these flags are used together, - the client will do 1 job per device and exit. - This may be useful when running as grid backfill. - - client/ - client_state.cpp,h - cs_cmdline.cpp - cs_scheduler.cpp - log_flags.cpp,h - work_fetch.cpp - -David 2 Jun 2010 - - client: code cleanup (move some config vars from CLIENT_STATE to CONFIG) - - client/ - app.cpp - app_control.cpp - client_state.cpp,h - cs_benchmark.cpp - cs_cmdline.cpp - cs_prefs.cpp - log_flags.cpp,h - sim.h - -Rom 2 Jun 2010 - - MGR: When starting up and attaching to a project for the first time, - show the correct tab if in the advanced view. - - clientgui/ - AdvancedFrame.cpp - -Charlie 2 Jun 2010 - - client: fix compiler warning (unused variable.) - - client/ - log_flags.cpp - -David 2 Jun 2010 - - scheduler: change backoff policy if a host has reached daily job quota. - Old: back off until random time in 1st hour of next day - New: no server-dictated backoff; rely on client backoff - This is needed to let hosts recover in a reasonable amount of time - after a burst of errors. - - scheduler config: it turns out we can't put arbitrary XML in config.xml; - The Python code is set up to parse only 1 level of tags (??), - and I'm not up to the task of changing this. - So the fine-grained job limit feature [21674] needs to use - a different file, namely config_aux.xml - - sched/ - sched_config.cpp,h - sched_limit.cpp - sched_send.cpp - -David 3 Jun 2010 - - scheduler: fix anon platform bug that caused zero FPOPS est - - sched/ - sched_send.cpp - -David 3 Jun 2010 - - user web: add "Application info" link in host page, - linking to new page showing host_app_versions for this host - - scheduler: message tweaks - - html/ - inc/ - host.inc - user/ - host_app_versions.php - sched/ - sched_version.cpp - sched_result.cpp - -David 4 Jun 2010 - - scheduler: bug fixes for jobs-in-progress limits - - client: msg tweak - - sched/ - sched_types.h - sched_limit.cpp - sched_version.cpp - sched_config.cpp - client/ - acct_mgr.cpp - -David 4 Jun 2010 - - admin web: add start/end times to team import log output - - html/ - inc/ - db_ops.inc - ops/ - credit.php - team_import.php - -Charlie 7 Jun 2010 - - client: Display Mac OS Version as well as Darwin version in Event Log. - - client/ - client_state.cpp - -Charlie 7 Jun 2010 - - Mac: Don't generate xX86_64 client symbol table (was empty); fix - generation of PowerPC symbol tables (thin to ppc7400 not ppc). - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 8 Jun 2010 - - client: user-visible text (message body, notice title and description) - are now translatable, - using the convention that any substring enclosed in _(" ... ") - should be passed throughh wxGetTranslation() or the equivalent. - - client: when writing messages to stdout, strip out _(...) - - manager: translate strings from client - - scheduler: message tweaks - - client/ - client_msgs.cpp,h - main.pp - clientgui/ - DlgEventLog.cpp - MainDocument.cpp,h - ViewMessages.cpp - ViewNotices.cpp - sg_DlgMessages.cpp - sched/ - sched_customize.cpp - sched_send.cpp - -David 8 Jun 2010 - - client: make all MSG_USER_ALERT messages (i.e., those shown as notices) - translatable (and change some MSG_USER_ALERT messages to MSG_INFO). - - client/ - acct_mgr.cpp - acct_setup.cpp - client_state.cpp - cs_account.cpp - cs_cmdline.cpp - cs_scheduler.cpp - cs_statefile.cpp - gui_rpc_server.cpp - hostinfo_unix.cpp - log_flags.cpp - net_stats.cpp - -David 8 Jun 2010 - - manager: add a script that generates a .pot for the manager - that includes the client source code as well - - clientgui/ - build_po - -Charlie 9 Jun 2010 - - Mac installer: Create script to build installer for Campus Party (installs - custom project_init.xml file.) - - mac_installer/ - release_campus_party.sh - -Rom 9 Jun 2010 - - win_build: Commit project files to build sample applications for cuda - and OpenCL (ATI & Nvidia) - - samples/ - - win_build/ - - -David 10 Jun 2010 - - server: change credit constant from 100 to 200. - Data from S@h beta (running for a month or so) - suggests that this will almost exactly match the - average credit granted by S@h's old system - (which, in theory, is the reference for other projects) - - sched/ - credit.h - html/inc/ - result.inc - -David 10 Jun 2010 - - database: remove unused fields from app table - - db/ - boinc_db.cpp,h - schema.sql - html/ops/ - db_update.php - -David 12 Jun 2010 - - server: delete old credit stuff - - user web: show host link in user result list. Fixes #999 - - db/ - boinc_db.cpp,h - schema.sql - html/ - inc/ - result.inc - user/ - results.php - sched/ - credit.cpp,h - handle_request.cpp - sample_bitwise_validator.cpp - sample_trivial_validator.cpp - sched_config.cpp,h - sched_locality.cpp - sched_result.cpp - validate_util.cpp,h - -David 14 Jun 2010 - - API: fix bug that caused parallel apps to get compute error - when they were suspended without "leave in memory" pref - - user web: if in-progress result has credit, show it; fixes #998 - - html/inc/ - result.inc - api/boinc_api.cpp - -David 14 Jun 2010 - - scheduler: tweaks to user messages - - sched/ - sched_customize.cpp - sched_resend.cpp - handle_request.cpp - -David 15 Jun 2010 - - client: call curl_global_cleanup() on exit - (minor memory leak) - - client/ - http_curl.cpp - -David 15 Jun 2010 - - scheduler: restore scaling of daily quota by # processors - and/or config.gpu_multiplier - - client: msg tweak - - db/ - boinc_db.h - sched/ - sched_version.cpp - client/ - log_flags.cpp - -Charlie 15 Jun 2010 - Mac: fix compiler warning. - - lib/ - procinfo_mac.cpp - -David 16 Jun 2010 - - client: let fake CUDA specify driver version - - client: restore call to diagnostics_finish() on exit. - (should print mem info, but doesn't) - - manager: notices display tweak - - client/ - client_state.cpp - coproc_detect.cpp - main.cpp - clientgui/ - ViewNotices.cpp - lib/ - coproc.h - -David 16 Jun 2010 - - scheduler: fix structural problems with sending user messages. - Old: various redundant and/or misleading messages were sent. - New: - - if host w/ no GPU contacts a GPU-only project, - send high-pri message saying they need a GPU - - if host w/ GPU has driver too old for all versions, - send high-pri message saying to update driver - - if host w/ GPU has driver too old for some versions, - send low-pri message saying to update driver - - if host has GPU but too little RAM for any app, - send low-pri message saying so - - scheduler: revamp GPU plan class functions - - client/ - cs_notices.h - lib/ - coproc.cpp,h - notice.cpp - sched/ - handle_request.cpp - sched_array.cpp - sched_customize.cpp,h - sched_send.cpp - -David 16 Jun 2010 - - user web: don't show claimed credit - - html/inc/ - result.inc - -David 17 Jun 2010 - - database: app.min_avg_pfc should default to 1, not 0 - - db/ - schema.sql - html/ops/ - db_update.php - -David 17 Jun 2010 - - API: make boinc_msg_prefix() thread-safe - - api/ - boinc_api.cpp - -David 17 Jun 2010 - - user web: code cleanup in prefs.inc - - html/inc/ - prefs.inc - -Charlie 18 Jun 2010 - - lib: Fix the value returned from get_mac_addresses() on Macintosh - computers. It has returned the value of kernResult, which is 0 - on success, instead of true for success, since the routine was - first written in November 2008. This causes the client to - generate a new random CPID every time the client is launched. - - lib/ - mac_address.cpp - -Charlie 18 Jun 2010 - MGR: save last notice which has been read in persistent storage, by - saving its arrival time. Store a separate entry for each CPID - so it will work for Managers managing multiple remote clients. - - clientgui/ - MainDocument.cpp, .h - -David 18 Jun 2010 - - sample apps: compile fixes - - apps/ - upper_case.cpp - samples/example_app/ - uc2.cpp - api/ - boinc_api.cpp,h - graphics2_unix.cpp - -David 18 Jun 2010 - - scheduler: estimate peak FLOPS of anon platform app versions - based on CPU and GPU usage (or, if missing, 1 CPU). - Previously we were using the user-supplied element, - and if it was missing all hell broke loose. - - client: free malloced items on exit - - sched/ - sched_types.cpp - client/ - check_state.cpp - -David 18 Jun 2010 - - validator: because of the above problem, - some results have flops_estimate == 0, which causes divide by zero. - Check for this and use 1e10. - - sched/ - credit.cpp - -Charlie 18 Jun 2010 - MGR: Take into account that there may be gaps in the sequence numbers - because some notices may have been deleted. - - clientgui/ - MainDocument.cpp, .h - -Rytis 20 Jun 2010 - - user web: flag to send less information on team member XML requests - (from Willy de Zutter). - - html/ - inc/ - xml.inc - user/ - team_email_list.php - -David 21 June 2010 - - validator: fix possible divide-by-zero - - validator: when claimed credit is too high, - assign standard credit rather than exiting. - - sched/ - credit.cpp - -David 21 June 2010 - - API: add BOINC copyright notice to graphics2_win.cpp. - This file originally used code from the following tutorial, - which shows how to open a window using GLUT: - http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 - The code has now been completely rewritten; - in particular, it doesn't use GLUT anymore. - - scheduler: change default limit on #CPUs from 16 to 64 - - api/ - graphics2_win.cpp - sched/ - sched_config.cpp - -David 21 June 2010 - - apps: compile fix - + stats_sites.inc samples/ wrapper/ wrapper.cpp - multi_thread/ - multi_thread.cpp - -David 22 June 2010 - - client: fix crashing bug when account manager returns - new project w/ "no more work" flag set - - client/ - acct_mgr.cpp - -David 22 June 2010 - - validator: fix a divide by zero (happens w/ old clients - that don't report elapsed time) - - sched/ - credit.cpp - -David 22 June 2010 - - client: don't attach to a project if the account manager - has set the "detach when done" flag. - - client/ - acct_mgr.cpp - -Charlie 22 Jun 2010 - - MGR: save host name (from host.domain_name) instead of CPID when - saving arrival time of last read notice; wait until we have - host.domain_name before checking for unread messages. - - clientgui/ - MainDocument.cpp - -David 23 June 2010 - - client: when selecting the "best" ATI GPU, factors are: - 1) double precision support - 2) memory size - 3) speed - (similar to NVIDIA) - - client/ - coproc_detect.cpp - -Rom 23 June 2010 - - MGR: Hook up new NoticeListCtrl. - TODO: pre-stage the download of images instead of relying - on wxWidgets to do it out of band. It gets stuck in a - recursive loop and eventually blows up if it has to go - out to the Internet to find image files it has already - downloaded once after selecting the item. I presume it - decides it needs to re-download the image becuase the - background color for the whole line changes. - - clientgui/ - NoticeListCtrl.cpp, .h - ProjectListCtrl.cpp - ViewNotices.cpp, .h - -Charlie 23 Jun 2010 - - MGR: Fix order of items displayed by NoticeListCtrl (newest first.) - - MGR: Update Mac accessibility for new NoticeListCtrl. - - Mac: Update XCode project for new source file NoticeListCtrl.cpp. - - - clientgui/ - NoticeListCtrl.cpp - mac/ - MacAccessiblity.cpp, .h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 23 Jun 2010 - - API: compile fix - - api/ - boinc_api.cpp - -Charlie 23 Jun 2010 - - MGR: Fix order of items displayed in Notices tab correctly this time. - - clientgui/ - ViewNotices.cpp - NoticeListCtrl.cpp - -David 23 Jun 2010 - - validator: there were a couple of places where we needed to - scale wu.rsc_fpops_est by app.min_avg_pfc. - - validator: assume that app.min_avg_pfc is nonzero; - it will be, since the DB default is now 1. - - sched/ - credit.cpp - -David 23 Jun 2010 - - scheduler: msg tweaks - - sched/ - sched_send.cpp - sched_version.cpp - -David 23 Jun 2010 - - scheduler: the way rsc_fpops_est and rsc_fpops_bound were - being scaled for anon platform was messed up. - Turn off this scaling until I can figure out the problem. - - sched/ - sched_send.cpp - -Rom 25 Jun 2010 - - MGR: Handle sorting the notices control a different way. - - clientgui/ - ViewNotices.cpp - NoticeListCtrl.cpp, .h - -Rom 25 Jun 2010 - - MGR: Bug fixes to previous commit. - - clientgui/ - ViewNotices.cpp - NoticeListCtrl.cpp, .h - -David 25 Jun 2010 - - transitioner: the format string for a DB query had %.15d instead of %.15e. - That produced a messed-up query that assigned garbage values to: - host_app_version.turnaround_var - host_app_version.turnaround_q - host_app_version.max_jobs_per_day - host_app_version.consecutive_valid - To repair these: - - set turnaround_var and turnaround_q to zero - - if max_jobs_per_day is outside of - (0..config.daily_result_quota) - set it to config.daily_result_quota - - if consecutive_valid is outside (0..1000), set it to zero - I added a script, html/ops/repair_21812.php, that does this; - if you ran server code between [21181] and [21812], run this script. - - scheduler/transitioner: add log flag - - changed the build system to always use -Wall - (if we'd done this before, this bug wouldn't have happened) - - fixed a bunch of other compile warnings - - client/ - hostinfo_unix.cpp - db/ - boinc_db.cpp - lib/ - average.h - cert_sig.cpp - crypt_prog.cpp - m4/ - boinc_set_compile_flags.m4 - sched/ - credit.cpp - credit_test.cpp - feeder.cpp - handle_request.cpp - sched_config.cpp,h - sched_customize.cpp - sched_limit.cpp - sched_main.cpp - sched_result.cpp - sched_score.cpp - sched_send.cpp - sched_shmem.cpp - sched_types.cpp - sched_version.cpp - sched_send.cpp - transitioner.cpp - validator.cpp - tools/ - create_work.cpp - -David 25 Jun 2010 - - manager: message tweak - - clientgui/ - ViewProjects.cpp - -David 25 Jun 2010 - - validator: need parens in boolean expression - - sched/ - credit.cpp - -David 25 Jun 2010 - - scheduler: don't resend work if client isn't requesting work - - sched/ - handle_request.cpp - -David 25 Jun 2010 - - scheduler: host_app_version.n_jobs_today was being cleared - only if the previous request was on a different day - AND the current request asks for work. - Sometimes it wasn't getting cleared when it should have. - - sched/ - sched_send.cpp,h - handle_request.cpp - -Rom 25 Jun 2010 - - MGR: Sort notices by dtime() - - clientgui/ - ViewNotices.cpp - NoticeListCtrl.cpp, .h - -David 26 Jun 2010 - - user web: notices fix - - html/user/ - notices.php - -Rom 27 Jun 2010 - - MGR: Delete expired entries from the notices control - - MGR: Remove sort code. Entries in the pDoc notices - structure is already sorted. - - clientgui/ - NoticeListCtrl.cpp, .h - ViewNotices.cpp - -Charlie 28 Jun 2010 - - MGR: Fix off by one error in Notices display. - - clientgui/ - ViewNotices.cpp - -Rom 28 Jun 2010 - - CC: Fix typo - - client/ - cs_notice.cpp - -David 28 Jun 2010 - - scheduler: message tweak - - sched/ - handle_request.cpp - -Rom 28 Jun 2010 - - MGR: Introduce the notion of a cached internet filesystem in the - manager, right now it stores everything in memory but will be extended - in the future. - - MGR: Clean up notice memory on shutdown - - clientgui/ - BOINCGUIApp.cpp - BOINCInternetFSHandler.cpp, .h - NoticeListCtrl.cpp, .h - stdwx.h - ViewNotices.cpp - win_build/ - boincmgr.vcproj - -Charlie 28 Jun 2010 - - Mac: Update XCode project for new source files BOINCInternetFSHandler.cpp,.h. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 28 Jun 2010 - - scheduler and back end: message tweaks and fixes - - sched/ - sched_version.cpp - sched_send.cpp - handle_request.cpp - transitioner.cpp - sched_main.cpp - sched_types.cpp - -David 28 Jun 2010 - - scheduler and client: use "notice" rather than "high" priority - for messages intended as notices. - This will avoid showing lots of obscure stuff as notices - for projects with old server code. - - client/ - boinc_cmd.cpp - boinc_log.cpp - cs_scheduler.cpp - sched/ - sched_locality.cpp - sched_send.cpp - handle_request.cpp - sched_types.cpp - -Charlie 29 Jun 2010 - - client: Fix 2 bugs in handling of notices: - - When client sends all notices instead of starting with the requested - sequence number (e.g., due to having removed a notice), it must - prefix the notices with a dummy notice with sequence number -1 to - tell the manager to clear the notices vector. - - When parsing RSS feeds, call notices.append() with keep_old false. - It was passing true, so notices of new posts to threads were not - having their arrival times updated when additional posts to the - same thread were reported. - - client/ - cs_notices.cpp - -Charlie 29 Jun 2010 - - client: revert my recent change to keep_old argument above. It caused all - RSS feeds to be updated repeatedly. We need to somehow differentiate - between old news items and notices that are new but identical to previous - ones. Should we use the pubDate for that? - - client/ - cs_notices.cpp - -David 29 Jun 2010 - - scheduler and client: fix the "allow multiple clients" feature. - This feature lets you run the BOINC client as a job on grid systems - that handle only 1-CPU jobs; - it disables various mechanisms that prevent multiple clients per host - (which is normally a bad thing). - Old: - - Run the client with a --allow_multiple_clients flag. - This tells it not to use a mutex that prevents - multiple clients per host. - - Run the project with the config flag. - This suppresses two mechanisms: - - (avoid duplicate host records) - on a scheduler request with no host ID, - looks for a host with same domain name, OS type, - and mem size, and assumes the request is from that host - - (job retry) - If we get a request that doesn't have a host ID - but does have a host CPID, - mark its in-progress results as over - NOTE: I CAN'T REMEMBER WHY WE SUPPRESS THIS; - MARK S, DO YOU REMEMBER? - - Problem: - if the grid clients attach to a project that - doesn't use , bad things happen. - E.g., if there are several requests at about the same time, - most of them will fail with - "another RPC already in progress" errors. - If a project does include this flag, - it loses protection from duplicate host records. - - New: - - If the client is run with --allow_multiple_clients flag, - it passes a element - in scheduler requests. - - The scheduler skips the duplicate-host check on - requests that include this flag. - - There is no more scheduler option. - - Note: if a project using the old mechanism upgrades to this change, - it will need to use new clients for its grid deployment. - - client/ - cs_scheduler.cpp - sched/ - sched_types.cpp,h - sched_config.cpp,h - handle_request.cpp - -David 29 Jun 2010 - - client: improve (or at least change) logic related to duplicate notices - - client/ - client_msgs.cpp - cs_notice.cpp,h - -David 29 Jun 2010 - - GUI RPC: add NOTICES::complete, so caller knows whether - what's being returned is new notices or all notices. - - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -Charlie 30 Jun 2010 - - MGR: logic changes & fixes to Notices display for new NOTICES::complete - flag: - - ViewNotices clears NoticeListCtrl if NOTICES::complete is set. - - after GUI RPC sets NOTICES::complete, only ViewNotices clears it. - - unread / read notices logic checks arrival times, not sequence nos. - - NoticeListCtrl clears NeedsRefresh flag agfter refresh. - NOTE: Considerably more cleanup and code simplification is needed. - - clientgui/ - MainDocument.cpp, .h - NoticeListCtrl.cpp, .h - ViewNotices.cpp - lib/ - gui_rpc_client_ops.cpp - -David 30 Jun 2010 - - user web: show app name in anonymous platform case on task list - - html/inc/ - result.inc - -Rom 30 Jun 2010 - - MGR: Rework the notices view to simplify the rendering logic even at the - cost of repeated string conversions (it doesn't appear to mess with - the messages tab performance too much). Inspired by Charlie. - - clientgui/ - NoticeListCtrl.cpp, .h - ViewNotices.cpp - -David 30 Jun 2010 - - admin web: tweaks - - html/ops/ - index.php - credit.php - -Rom 30 Jun 2010 - - WIN: Treat Windows SEH exceptions as C++ exceptions so they can be trapped - using the standard try/catch handlers. - - WIN: Wrap the coproc detection stuff in C++ exception handlers. If for some - reason the Nvidia or ATI APIs cause an exception don't use the GPUs and - don't crash BOINC. - - WIN: rename boinc_ss to boinc_os_ss and ss_app to boinc_ss. - - client/ - coproc_detect.cpp - win_build/ - *.vcproj - -Rom 30 Jun 2010 - - MGR: Fix a bug in the notices code. Refresh the UI if the complete notices - list has been downloaded regardless of whether or not the item counts are - the same. - - clientgui/ - NoticeListCtrl.cpp, .h - -Rom 30 Jun 2010 - - LIB: Reset the completed flag to false at the beginning of the - get_notices RPC in case the notices buffer is being reused. - - lib/ - gui_rpc_client_ops.cpp - -David 30 Jun 2010 - - client: free GUI_RPC_CONN objects at shutdown - - client/ - gui_rpc_server.cpp - -Charlie 30 Jun 2010 - - MGR: get_messages and get_notices RPCs don't alternate buffers, so - remove the unused buffers from CMainDocument class. - - clientgui/ - MainDocument.cpp, .h - -Charlie 30 Jun 2010 - - MGR: after GUI RPC sets NOTICES::complete, only NoticeListCtrl clears it. - - MGR: fix compile warning. - - clientgui/ - NoticeListCtrl.cpp - lib/ - gui_rpc_client_ops.cpp - -David 30 Jun 2010 - - client: add ".xml" to notice file names - - client/ - sandbox.cpp - cs_proxy.cpp - boinc_log.cpp - cs_notice.cpp - http_curl_win.h (removed) - -Rom 6 July 2010 - - MGR: Fix Linux build break. - - clientgui/ - NoticeListCtrl.cpp, .h - -David 6 Jul 2010 - - client: don't consider a result "nearly runnable" - if one of its downloads is stalled. - This fixes a situation that can cause processor or GPU - idleness when download servers are down for a while - - client/ - work_fetch.cpp - -David 6 Jul 2010 - - user web: PHP 5.3 compatibility fix, from Nicolas. Fixes #787 - - html/inc/ - translation.inc - -Charlie 8 Jul 2010 - - MGR: Fix bugs in accessibility code for Notices tab. - - clientgui/ - NoticeListCtrl.cpp, .h - mac/ - MacAccessiblity.cpp - -David 8 Jul 2010 - - fix gcc 4 compiler warnings - - sched/ - file_deleter.cpp - single_job_assimilator.cpp - sched_locality.cpp - sched_send.cpp - tools/ - backend_lib.cpp - -David 8 Jul 2010 - - win build: don't build CUDA/OpenCL apps by default - - client/ - client_msgs.cpp - win_build/ - boinc.sln - -Charlie 9 Jul 2010 - - MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, - consolidate and clean up Mac accessibility code. - - clientgui/ - NoticeListCtrl.cpp, .h - ProjectListCtrl.cpp, .h - mac/ - MacAccessiblity.cpp - -David 9 Jul 2010 - - client: change the calculation of exponential backoff used for - 1) individual file transfers - 2) project-level file transfer backoff - 3) scheduler operations - Old: scale by e. - Use random backoff in the range min..x - New: scale by 2. - Use random backoff in the rand x/2..x - - client: for file transfers, use backoff range of 10 min .. 12 hrs - rather than 1 min .. 4 hrs - - client/ - client_state.cpp,h - work_fetch.cpp - pers_file_xfer.h - -Charlie 9 Jul 2010 - - MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, - consolidate and clean up Mac accessibility code. - -Charlie 10 Jul 2010 - - MGR: More code cleanup, optimization and bug fixes. - - clientgui/ - BOINCListCtrl.h - DlgEventLogListCtrl.h - NoticeListCtrl.cpp, .h - ProjectListCtrl.cpp, .h - mac/ - MacAccessiblity.cpp, .h - -David 12 Jul 2010 - - validator: remove app and app_versions arguments from check_set(). - These weren't used, and I'm not sure why they were added. - - include sched_limit.h in "make install" list - - sched/ - validate_util2.cpp,h - validator.cpp - Makefile.am - -David 12 Jul 2010 - - scheduler: make some "notice"-priority messages translatable - - scheduler: add a clause to wu_is_infeasible_custom() for SETI@home: - don't process VLAR jobs using CUDA apps. - Note: this is implemented in a slightly non-optimal way. - If the request asks for both GPU and CPU jobs, - the scheduler will first decide to use the GPU version. - It will scan jobs, skipping over VLAR jobs. - When the GPU request is satisfied, it will switch to the CPU version - and continue scanning, accepting VLAR jobs. - But the jobs that were skipped initially won't be rescanned. - Also, it would be slightly nice to preferentially send - VLAR jobs to hosts asking for CPU work. - (This could be done in the scoring function). - - sched/ - sched_customize.cpp - sched_version.cpp - sched_send.cpp - handle_request.cpp - -David 12 Jul 2010 - - scheduler: make messages translatable - - sched/ - sched_version.cpp - sched_send.cpp - handle_request.cpp - sched_types.cpp - locale/templates/ - BOINC-Client.pot (new) - client/ - build_po (new) - -Rom 13 July 2010 - - MGR: Load up the new BOINC-Client catalog if it exists. - - clientgui/ - BOINCGUIApp.cpp - -Charlie 14 Jul 2010 - - MGR: Prevent a race condition which could erroneously invoke the - Attach Wizard when restarting the client. - - clientgui/ - AdvancedFrame.cpp - MainDocument.cpp - -Charlie 14 Jul 2010 - - MGR: If the client exits unexpectedly, auto-restart it on Windows (and Mac) - even if it was installed as a service / daemon. - - MGR: Display an alert if we auto-restart the client due to unexpected exits - 3 times within CLIENT_3_CRASH_MAX_TIME minutes (currently 30 minutes.) - - clientgui/ - BOINCBaseFrame.cpp - BOINCClientManager.cpp, .h - -David 14 Jul 2010 - - user web: translation fixes - - html/ - project.sample/ - project.inc - inc/ - prefs.inc - -Rom 14 Jul 2010 - - WINBUILD: Fix project files so that there isn't any C Runtime Library - collisions between types. - - WINBUILD: Remove old cruft. - - win_build/ - *.sln - *.vcproj - -Rom 14 Jul 2010 - - MGR: Fix build break. - - MGR: Change the crash detect dialog target to 'crash_detection' - - clientgui/ - BOINCClientManager.cpp - -David 14 Jul 2010 - - client/manager/GUI RPC: add optional "translatable" arg - to get_messages() RPC; if absent or false, - client will strip _( ) from messages. - - client/ - client_msgs.cpp,h - gui_rpc_server_ops.cpp - clientgui/ - AsyncRPC.cpp - MainDocument.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.cpp - -Charlie 14 Jul 2010 - - MGR: Tweak text in crash alert. - - clientgui/ - BOINCClientManager.cpp - -David 15 Jul 2010 - - client: bug fix in message code - - client/ - client_msgs.cpp - -David 15 Jul 2010 - - user web: don't cache XML version of show_user.php - - html/user/ - show_user.php - -Rom 15 July 2010 - - Tag for 6.11.1 release, all platforms - boinc_core_release_6_11_1 - - / - configure.ac - version.h - -David 15 Jul 2010 - - scheduler: fix and restore fpops scaling for anonymous platform jobs - - sched/ - sched_version.cpp - sched_send.cpp - sched_types.cpp - -David 15 Jul 2010 - - client: fix crashing bug on VC 2008/10; - don't memset(0,) structures containing vectors. - - client/ - work_fetch.h - -Bernd 15 July 2010 - - validator, assimilator: added --help and --version - - sched/ - validator.cpp - assimilator.cpp - -Charlie 16 Jul 2010 - - MGR: Better solution to prevent a race condition which could erroneously - invoke the Attach Wizard when restarting the client, fix serious bug - in Simple View I introduced with my previous fix of 14 July. - - clientgui/ - AdvancedFrame.cpp - MainDocument.cpp - -Charlie 16 Jul 2010 - - Tag for 6.11.2 release, all platforms - boinc_core_release_6_11_2 - - / - configure.ac - version.h - -Charlie 16 Jul 2010 - - MGR: Bug fix: event log text was not dimmed if event log was opened after - Client was disconnected. - - clientgui/ - DlgEventLog.cpp, .h - -David 16 Jul 2010 - - feeder: error out if an ordering option (e.g. --priority) - is used in combination with homogeneous redundancy. - HR requires a cyclic scan of all sendable results. - - sched/ - feeder.cpp - tools/ - backend_lib.cpp - -David 19 Jul 2010 - - client: fix bug with --abort_jobs_on_exit that caused the client - to request new work on exit - - client: change "unparsed tag" to "unrecognized tag" in msgs - - client: get rid of unused var work_fetch_no_new_work - - client/ - client_types.h - client_state.cpp,h - sim.h - cs_statefile.cpp - log_flags.cpp - lib/ - coproc.cpp - -David 19 Jul 2010 - - Added Linux screensaver from Nils Brause. - Note: I can't get this to build because if requires - a package (xcb-atom) that I can't find. - Need to resolve this. - - configure.ac - Makefile.am - clientscr/ - Makefile.am (new) - screensaver_x11.cpp (new) - -Rom 19 July 2010 - - WINSETUP: Update validate install procedure to account for the - removal of boinc.dll and addition of boinclog.exe. - - MGR: Move auto-proxy detection code into its own thread. - - client: Isolate the auto-proxy detection code to its own thread. - - client/ - main.cpp - sysmon_win.cpp - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CAValidateInstall.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 19 Jul 2010 - - client: entity-encode client-generated notices - (e.g. they may contain XML tags) - - client/ - client_msgs.cpp - -David 19 Jul 2010 - - lib: XML_PARSER::parse_str(): if text is enclosed in ![CDATA[, - don't entity-unescape it - - lib/ - parse.cpp - -David 19 Jul 2010 - - client: init gstate.now early so that initial msgs have timestamps - - lib: fix the above - - client/ - main.cpp - sim.h - lib/ - notice.cpp - parse.cpp,h - -Charlie 19 Jul 2010 - - lib: fix compiler warnings. - - lib/ - parse.cpp - -David 20 Jul 2010 - - client: don't archive system notices, - so they don't persist across client restarts. - These notices are for transient conditions. - If the user has fixed the condition, - there's no reason to keep showing the notice. - If they haven't fixed it, the notice will be regenerated soon. - - manager: fix spelling error in simple GUI. - - clientgui/ - MainDocument.cpp - sg_ImageButton.cpp - client/ - gui_rpc_server_ops.cpp - cs_notice.cpp - -David 20 Jul 2010 - - Unix build: don't error out if xcb or xcb-atom aren't found; - just don't build the screensaver - - configure.ac - Makefile.am - -David 20 Jul 2010 - - client: don't do two RSS fetches at once - - manager: WxWidget's HTML renderer doesn't seem to like \n's. - For example, if you try to render - foo - - blah - all it shows is foo. - Work around this by replacing \n's with
- - client/ - cs_notice.cpp - clientgui/ - NoticeListCtrl.cpp - -David 20 Jul 2010 - - manager: in simple view, where it says Elapsed time, - show elapsed rather than CPU time - - clientgui/ - sg_ViewTabPage.cpp - sched/ - sched_types.cpp - -Rom 21 Jul 2010 - - Tag for 6.11.3 release, all platforms - boinc_core_release_6_11_3 - - / - configure.ac - version.h - -Rom 21 July 2010 - - WINSETUP: Update validate install procedure to account for the - removal of boinclog.exe. - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CAValidateInstall.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 21 July 2010 - - MGR: Make the simple GUI messages dialog display notices instead. - - clientgui/ - sg_BoincSimpleGUI.cpp - sg_DlgMessages.cpp, .h - sg_SGUIListControl.cpp, .h (deleted) - win_build/ - boincmgr.vcproj - -David 21 Jul 2010 - - client/manager: add the ability to associate URLs with - client-generated notices. - Use this as appropriate: e.g., for errors about cc_config.xml syntax, - direct user to the web page describing this syntax. - - client/ - acct_setup.cpp - client_msgs.cpp,h - client_state.cpp - cs_cmdline.cpp - cs_statefile.cpp - gui_rpc_server.cpp - log_flags.cpp - main.cpp,h - clientgui/ - NoticeListCtrl.cpp - -Charlie 21 Jul 2010 - - MGR: Mark all notices as having been read if either Simple GUI - messages dialog or Advanced GUI Notices tab is open. - - clientgui/ - MainDocument.cpp - -Charlie 22 Jul 2010 - - Mac: Delete source files sg_SGUIListControl.cpp,.h from XCode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 22 Jul 2010 - - MGR: If Event Log was open on Manager exit, open it on manager launch. - - MGR: Clicking main window's close box when Event Log is open also - hides the Event Log; show Event Log again if "Open BOINC Manager" is - selected from task bar icon menu. Clicking main window's Minimize - box does not affect Event Log window. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp, .h - BOINCTaskBar.cpp - DlgEventLog.cpp, .h - -Charlie 22 Jul 2010 - - MGR: Don't save bogus window dimensions when iconized. - - clientgui/ - AdvancedFrame.cpp - sg_DlgMessages.cpp - -David 22 Jul 2010 - - server: compile warning fixes - - sched/ - sched_driver.cpp - assimilator.cpp - handle_request.cpp - sched_main.cpp - -David 22 Jul 2010 - - client: have project update fetch RSS feeds as well as doing - a scheduler RPC. - This is to facilitate debugging, and is probably temporary. - - client/ - cs_notice.cpp,h - gui_rpc_server_ops.cpp - -David 22 Jul 2010 - - client: the client shouldn't check for a physical connection - (contacting google.com and possibly alerting the user) - for "background" HTTP ops. These include: - - periodic account manager requests - - periodic notice RSS feed fetches - - periodic fetch of project list - - periodic fetch of current client version - - client/ - http_curl.cpp,h - gui_http.cpp,h - acct_setup.cpp - net_stats.cpp - cs_notice.cpp - acct_mgr.cpp - -David 22 Jul 2010 - - rename cal.h to cal_boinc.h to avoid name conflict - -Rom 22 July 2010 - - MGR: If the simple GUI received a notification event, - display the messages dialog. - - MGR: The simple GUI wasn't restoring state properly - thereby causing the reminder frequency to be set to - zero and preventing any reminders from being displayed. - - MGR: Rework the notices code so the document doesn't - make any assumtions about the UI. - - MGR: Fix a bug in the Linux notification window code. - Synchronize event behavior with Windows. - - clientgui/ - AdvancedFrame.cpp, .h - BOINCBaseFrame.cpp - BOINCTaskBar.cpp, .h - MainDocument.cpp, .h - sg_BoincSimpleGUI.cpp, .h - sg_DlgMessages.cpp - sg_ProjectsComponent.cpp, .h - ViewNotices.cpp - clientgui/gtk/ - taskbarex.cpp - -Bernd 22 Jul 2010 - - rename cal.h to cal_boinc.h - - lib/ - Makefile.mingw - -Rom 22 July 2010 - - MGR: Add some padding to each notice. - - clientgui/ - NoticeListCtrl.cpp - -David 22 July 2010 - - user web: put RSS item titles in CDATA - - sched: get rid of unused config items - - manager: msg tweak - - clientgui/ - BOINCTaskBar.cpp - sched/ - sched_config.cpp,h - sched_send.cpp - html/inc/ - notify.inc - -Charlie 23 Jul 2010 - - MGR: for saving / restoring arrival time of last read notice, - extract the host name from host.domain_name, to avoid future - problems if we ever set host.domain_name to a fully-qualified - domain name in the future. - - clientgui/ - MainDocument.cpp - -Charlie 23 Jul 2010 - - MGR: If Event Log was open, show it in front of main window when - "opening" Manager after it was hidden. - - clientgui/ - BOINCBaseFrame.cpp - -Rom 23 Jul 2010 - - MGR: Don't update the notice tab text unless the unread notice - count has changed. - - MGR: Don't update the last arrival time for the host unless - it has changed from the last time it was saved. - - MGR: Opps, forgot to move some code before commiting yesterday, - don't update the last save arrival time unless the user - clicks on the balloon. - - MGR: Stop the simple GUI from blinking the messages button - when the balloon is clicked. - - clientgui/ - AdvancedFrame.cpp - BOINCGUIApp.cpp - BOINCTaskBar.cpp - MainDocument.cpp - sg_BoincSimpleGUI.cpp - sg_ProjectsComponent.h - -David 23 Jul 2010 - - client/scheduler: fix a group of bugs related to the new mechanism - where the client tells the scheduler which app versions - its queued jobs use - (this is needed, e.g., to enforce per-app or per-resource job limits). - In this mechanism, the client sends an array of s, - and each includes an index into this array. - - - The wrong index was being sent (client). - - If an had a non-existent app name - (e.g. because that app had been deprecated) - it wasn't getting put in the array, invalidating array indices - Furthermore, an erroneous message was being sent to the user - - Fix: if parse error for , - put it in the array anyway, but with cav.app = NULL, - meaning that it's a place-holder. - Send a message to user only if anon platform. - - - manager: increase notice buffers to 64K - - client/ - cs_scheduler.cpp - clientgui/ - NoticeListCtrl.cpp - sched/ - sched_send.cpp,h - sched_locality.cpp - sched_types.cpp - -Rom 23 July 2010 - - MGR: Enable the manager to be able to deal with any size notice. - - clientgui/ - DlgEventLog.cpp - MainDocument.cpp, .h - NoticeListCtrl.cpp - -Rom 23 July 2010 - - MGR: Take another stab at the z-order problem when both the event log - and main window are open. - - MGR: Don't replace control characters for regular messages. - - clientgui/ - BOINCGUIApp.cpp, .h - DlgEventLog.cpp - MainDocument.cpp, .h - NoticeListCtrl.cpp - -Charlie 23 Jul 2010 - - MGR: I had it backwards: if Event Log was open, show it behind main - window when "opening" Manager after it was hidden. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp - -Charlie 23 Jul 2010 - - MGR: remove my code for extracting host name from host.domain_name; - it is not needed. - - clientgui/ - MainDocument.cpp - -Rom 26 Jul 2010 - - Tag for 6.11.4 release, all platforms - boinc_core_release_6_11_4 - - / - configure.ac - version.h - -Rom 28 Jul 2010 - - client: fix typo that prevented the correct link to be used for going - to the log flag configuration wiki page. - - client/ - log_flags.cpp - -Charlie 30 Jul 2010 - - MGR: Fix a bug that hid the Event Log when switching between Advanced and - Simple Views. - - clientgui/ - BOINCGUIApp.cpp - -Rom 30 Jul 2010 - - client: Kick off an auto proxy detection pass on any http error, only - attempt a follow-up reference site check if the proxy server name - changes. This may mean that'll it will be the second or third connection - attempt before the CC starts using the new proxy information. - - client/ - net_stats.cpp - sysmon_win.cpp - -David 30 Jul 2010 - - API: add result name to APP_INFO_DATA structure (for Volpex) - - scheduler: add max_download_urls_per_file config option - (to limit the length of workunit.xml_doc, - which is currently capped at 64KB). - From Bernd. - - client/ - app_start.cpp - lib/ - app_ipc.cpp,h - sched/ - sched_timezone.cpp - sched_config.cpp,h - -David 30 Jul 2010 - - file deleter: if we're configured to generate cached MD5 checksums, - delete those files too. - - scheduler: add log messages (conditioned by debug_credit) - if result.fpops_cumulative or result.fpops_per_cpu_sec is present - - sched/ - file_deleter.cpp - sched_result.cpp - -David 31 Jul 2010 - - manager: change "Attach to project" to "Add project"; - change "Detach from" to "remove" - - clientgui/various - -David 1 Aug 2010 - - scheduler: fix bug that crashed if app_info.xml - refers to nonexistent app - - sched/ - sched_types.cpp - -Charlie 1 Aug 2010 - - MGR: Fix bugs saving and restoring info on which notices have been read: - saving as a double reduces precision, so save arrival time as string; - to avoid problems caused by rounding in save & restore operation, test in - reverse order (oldest first) and for arrival time <= dLastReadNoticeTime - - clientgui/ - MainDocument.cpp - -Rom 2 Aug 2010 - - MGR: Remove any remaining hints that there were two wizards at one time. - - MGR: Save the username and email address in different places in the - registry/config file - - clientgui/ - - -Rom 2 Aug 2010 - - MGR: Remove connection needed type sys tray notifications from the manager, - lets the CC inform via a notice instead. - - clientgui/ - BOINCDialupManager.cpp, .h - -Rom 2 Aug 2010 - - MGR: Use the account manager name provided by the project config RPC instead - of the skin name on the CompletionPage in the wizard. - - clientgui/ - CompletionPage.cpp - -Rom 2 Aug 2010 - - client: wait until after the proxy check completes before attempting to - check on the reference site. - - client/ - net_status.cpp - -David 2 Aug 2010 - client/ - net_status.cpp - -Charlie 3 Aug 2010 - - MGR: fix crash bug on non-Windows computers. - - clientgui/ - BOINCDialupManager.cpp - -Charlie 3 Aug 2010 - - Mac: XCode project: delete source files WizardAttachProject.cpp,.h and - BOINCWizards.h; add files WizardAttach.cpp,.h. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 3 Aug 2010 - - MGR: clear notices display when selecting a different host to force display - of new host's notices. - - clientgui/ - NoticeListCtrl.cpp - ViewNotices.cpp - -Charlie 3 Aug 2010 - - MGR: fix compiler warnings, some of which predict incorrect operation. - - clientgui/ - AccountInfoPage.cpp - CompletionPage.cpp - -Rom 3 Aug 2010 - - client: Fix autoproxy detection so that it doesn't break platforms that - currently do not support proxy detection. - - client/ - net_stats.cpp - sysmon_win.cpp - lib/ - proxy_info.cpp, .h - -David 4 Aug 2010 - - client/scheduler: tweak translatable messages - - sched/ - sched_types.h - sched_send.cpp - client/ - cs_statefile.cpp - log_flags.cpp - -Rom 5 Aug 2010 - - MGR: Remove EVT_END_SESSION event handler for now. It was causing a - recursive call to itself on shutdown thereby halting the Windows - shutdown procedure on Windows XP and older systems. It would - eventually crash the process with a stack overflow error. - - clientgui/ - BOINCGUIApp.cpp, .h - -Rom 5 Aug 2010 - - MGR: Remove useless Notices button. - - clientgui/ - ViewNotices.cpp - -David 5 Aug 2010 - - client: tweak translatable msg - - client/ - gui_rpc_server.cpp - - client/scheduler: tweak translatable messages - -David 5 Aug 2010 - - admin web: fixed undefined var. - Maybe there's some version of PHP where $self means something. - - html/ops/ - dbinfo.php - -David 5 Aug 2010 - - client: don't extra jobs for backup (resource share = 0) projects - - client/ - work_fetch.cpp - -Rom 5 Aug 2010 - - MGR: Modeless top level windows should not have the context help - button in the upper right-hand corner of the dialog. Use the - standard control there. - - clientgui/ - DlgEventLog.cpp - -Charlie 5 Aug 2010 - - MGR: Fix a bug which shut down local client even though Manager didn't launch it - when Manager was connected to a remote host. - - clientgui/ - BOINCBaseFrame.cpp - BOINCClientManager.h - BOINCTaskBar.cpp - MainDocument.cpp - -David 6 Aug 2010 - - web: right-align bbcode images - - API: warning fix - - html/inc/ - text_transform.inc - api/ - boinc_api.cpp - -Charlie 6 Aug 2010 - - MGR: Add command-line parameters for automatic connection to remote host: - -n --namehost Host name or IP address - -g --gui_rpc_port GUI RPC port number - -p --password Password - - MGR: If currently connected host name is empty string, don't autorestart - local client. - - clientgui/ - BOINCGUIApp.cpp, .h - MainDocument.cpp - -Rom 10 Aug 2010 - - MGR: Possible fix for vtable reference issue. - - clientgui/ - WizardAttach.h - -David 10 Aug 2010 - - user web: add platform names and elapsed-time info - (represented as "average processing rate") - to host application details page. - - html/user/ - host_app_versions.php - -David 10 Aug 2010 - - scheduler: add config option: - send only 64-bit app versions to 64-bit hosts - (the default is to send whatever app version is fastest) - - sched/ - sched_config.cpp,h - sched_version.cpp - -Charlie 11 Aug 2010 - - MGR: preserve message filtering by project if Event Log is closed and - reopened, but not when selecting a different host or exiting Manager. - - clientgui/ - DlgEventLog.cpp, .h - -Charlie 11 Aug 2010 - - MGR: Check whether another instance of BOINC Manager is already running; - if so, show Select Computer dialog with extra text saying another - instance is running; if user cancels dialog, exit Manager. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseFrame.cpp, .h - BOINCGUIApp.cpp, .h - MainDocument.cpp, .h - DlgSelectComputer.cpp, .h - -Rom 11 Aug 2010 - - MGR: Adjust control positions and resize controls after a text change. - - clientgui/ - DlgEventLog.cpp - -Rom 11 Aug 2010 - - lib: Make procinfo_win.cpp Unicode compatible. - - lib/ - procinfo_win.cpp - -Rom 11 Aug 2010 - - MGR: Don't allow the Create function of the Wizard to be called twice, - it'll basically lead to both an assert and a memory leak. - - MGR: Don't create the wizard unless we are going to use it. - - clientgui/ - AdvancedFrame.cpp - sg_BoincSimpleGUI.cpp - WizardAttach.cpp - -Rom 11 Aug 2010 - - WIN_BUILD: Remove references to crypto.cpp, and .h from - libboinc_staticcrt so that projects who use it won't need to - worry about pulling in OpenSSL. - - win_build/ - libboinc_staticcrt.vcproj - -David 11 Aug 2010 - - admin: add script for deleting results with no workunit. - There were ~1,400 of these on SETI@home, - presumably because of a bug at some point in the past. - html/ - ops/ - delete_orphan_results.php - profile_screen_form.php - inc/ - boinc_db.inc - - sched/ - db_purge.cpp - -David 11 Aug 2010 - - admin: fix bug with "upgrade --server_only". - It wasn't copying html/ops/db_update.php, - so it wasn't doing necessary DB updates. - Fixed this by always copying html/ops/*. - - Even with this fix, there is a problem when using - the --server_only or --web_only options of upgrade: - if any DB updates are done, they may affect the - server code that's not being updated, resulting in crashes. - - I added a warning message in this case, - recommending that a full upgrade be done. - - html/ops/ - delete_orphan_result.php - upgrade_db.php - py/Boinc/ - setup_project.py - tools/ - upgrade - -David 11 Aug 2010 - - lib: fix crash if you close and reopen an MFILE - - lib/ - mfile.cpp - -David 11 Aug 2010 - - API: remove deprected stuff related to: - 1) old-style apps with graphics in main program. - No one should be using these anymore. - 2) writing init_data.xml in boinc_finish(). - This was used by deprecated "compound app" scheme - - scheduler: if request reports results that were previously reported, - that's evidence that the previous reply was not received by client. - It may have contained results. - So set a "resend lost results" flag. - - api/ - boinc_api.cpp,h - -David 11 Aug 2010 - - client: fix a bug that caused GPU apps to fail on startup - in the following situation. - Suppose GPU job A is running, - and GPU job B (which has never run before) preempts it. - Then - 1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty) - 2) A is told to quit; B isn't started until A exits - (because they're GPU jobs) - 3) before A exits, B is suspended - 4) eventually B is started. - Its scheduler state is SUSPENDED rather than UNINITIALIZED, - so the scheduler thinks it slot dir has already been populated. - But it hasn't, and when the app starts it fails immediately - because no files are there. - - Fix: decide whether a slot dir needs to be populated by - seeing whether it's empty, - rather than looking at the scheduler state of the task. - - client/ - cpu_sched.cpp - http_curl.cpp - lib/ - filesys.cpp,h - -Charlie 11 Aug 2010 - - MGR: revert Rom's change #22191; calling Fit() after a text change - redraws the dialog at its minimum size, making it impossible to - resize the dialog. - - clientgui/ - DlgEventLog.cpp - -Charlie 11 Aug 2010 - - MGR: "Another instance" message in Select Computer dialog gets Manager name - from skin. - - clientgui/ - DlgSelectComputer.cpp - -Charlie 12 Aug 2010 - - MGR: Adjust control positions and resize controls after a text change, - using Layout(); don't use Fit() or FitInside(), which resize the window. - Remove the messy logic I used before to ensure the filter button is long - enough to fit the longer text. - NOTE: we should add this logic everywhere we have a control whose label - text changes with status, since we cannot predict which label will be - longer in every language translation. - - clientgui/ - DlgEventLog.cpp - -Rom 12 Aug 2010 - - lib: Prevent category information from being lost in notices. - - lib/ - notice.cpp - -Rom 13 Aug 2010 - - Tag for 6.11.5 release, all platforms - boinc_core_release_6_11_5 - - / - configure.ac - version.h - -Rom 13 Aug 2010 - - lib: prevent crash on startup if slot directories have been deleted. - - lib/ - filesys.cpp - -David 13 Aug 2010 - - client: fix bug in my last checkin - - lib/ - filesys.cpp - -David 13 Aug 2010 - - web: remove align=right on BBcode images - - html/inc/ - text_transform.inc - -David 14 Aug 2010 - - lib: removed unneeded include. Fixes #1004 - - lib/ - gui_rpc_client.h - -Charlie 14 Aug 2010 - - MGR: Fix build break on Mac. - - clientgui/ - AsyncRPC.cpp - -David 14 Aug 2010 - - feeder: don't error out when an ordering option is used with HR; - if some apps don't use HR the ordering option will apply to them. - - sched/ - feeder.cpp - -David 14 Aug 2010 - - scheduler: message tweak - - sched/ - handle_request.cpp - -Charlie 15 Aug 2010 - - MGR: Allow Notices tab to scroll smoothly, disallow selection of - items in Notices tab. - - clientgui/ - BOINCHtmlListBox.cpp, .h (new) - BOINCVListBox.cpp, .h (new) - Makefile.am - NoticeListCtrl.cpp, .h - ViewNotices.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - win_build/ - boincmgr.vcproj - -Rom 16 Aug 2010 - - Tag for 6.11.6 release, all platforms - boinc_core_release_6_11_6 - - / - configure.ac - version.h - -Rom 17 Aug 2010 - - MGR: In the future I need to be more careful when I flatten a - class hierarchy. I broke the ability to get the latest - project configuration from account managers. Fix that. - - clientgui/ - WizardAttach.cpp - -Rom 17 Aug 2010 - - MGR: Fix build issue on Linux (Sqlite3 needed to be added to the - list of libs and header directories to be included) - - clientgui/ - Makefile.am - -Rom 17 Aug 2010 - - MGR: Remove copyright claims to wxWidgets code. - - clientgui/ - BOINCHtmlLBox.cpp, .h - BOINCVListBox.cpp, .h - -David 17 Aug 2010 - - client: check whether anonymous-app files exist - - client: parse (and ignore) element in state file - - client/ - client_types.cpp - cs_statefile.cpp - -Charlie 17 Aug 2010 - - MGR: Remove unused WXDLL* declarations to improve Linux compatibility. - - clientgui/ - BOINCHtmlLBox.cpp, .h - BOINCVListBox.cpp, .h - -Rom 18 Aug 2010 - - MGR: Set the email text box validator to a simple text validator when - the project in question only supports usernames. - - clientgui/ - AccountInfoPage.cpp - -Rom 18 Aug 2010 - - client: Only error out of the CPU version check if the call to CPUID(0) - returns zero. - - client/ - hostinfo_win.cpp - -Rom 18 Aug 2010 - - MGR: Try and clean up all the undefined reference errors for the GCC - linker - - clientgui/ - BOINCHtmlLBox.cpp, .h - BOINCVListBox.cpp, .h - stdwx.h - -Rom 18 Aug 2010 - - MGR: Finish implementing the use of Usernames in the account manager part - of the wizard. I must have been asleep at the wheel on that one. - - clientgui/ - AccountInfoPage.h - AccountManagerProcessingPage.cpp - ProjectProcessingPage.cpp - -David 22 Aug 2010 - - scheduler: change the "primary_platform_only" config option - to "prefer_primary_platform". - If an app has only only 32-bit versions, use the for 64-bit clients. - - sched/ - sched_config.cpp,h - sched_version.cpp - -David 22 Aug 2010 - - client: maintain "gpu_active_frac" in addition to "active_frac" - (which really means CPU active) - - client/ - client_state.cpp,h - time_stats.cpp,h - work_fetch.cpp - rr_sim.cpp - sim.h - -Charlie 23 Aug 2010 - - MGR: Further refinements to Client shutdown logic on Manager Exit: - Old: Manager shut down Client only if it started the Client. - New: - Don't show exit dialog if connected Client is not on localhost. - Mac: Manager shuts down Client only if it started the Client - and if the Client is on localhost. - Windows, Linux: Manager shuts down Client, whether or not the - Manager started the Client, but only if the Client is on - localhost and the user requests Client shutdown in the exit - dialog, even if running as a service on Windows. As before, - it skips the exit dialog and uses the saved behavior if the - user previously set "Remember this decision and do not show - this dialog." - - clientgui/ - BOINCClientManager.cpp - BOINCGUIApp.cpp - MainDocument.cpp - -Charlie 26 Aug 2010 - - MGR: On Mac only, Close Window menu item (or its shortcut Command-w) - closes the Event Log if it is the front window. - - clientgui/ - BOINCBaseFrame.cpp - -David 26 Aug 2010 - - client: treat notices from schedulers a little differently. - Ignore duplicate notices unless they're at least 24 hours - newer than the previous one. - - client/ - client_msgs.cpp - cs_scheduler.cpp - cs_notice.cpp - lib/ - common_defs.h - -David 27 Aug 2010 - - client: ignore case in names of "exclusive apps" - and exclusive GPU apps - - client: fix bug that caused GPU apps to not be - suspended or resumed immediately after - exclusive GPU app transition - - client: in log message, instead of saying - "fetching tasks for GPU", say which kind of GPU - - TODO: GPU suspend/resume works by setting or clearing - gpu_suspend_reason, then calling request_schedule_cpus(). - There's no explicit suspending or resuming. - CPU suspend/resume should work the same way. - - client/ - app.cpp - cs_prefs.cpp - scheduler_op.cpp - lib/ - str_replace.h - -David 27 Aug 2010 - - web: check the "next URL" passed to login and account - creation scripts to ensure they refer only to local pages - (i.e. they don't contain "://"). - This prevents cross-site scripting attacks (I think). - - html/ - inc/ - util.inc - user/ - login_action.php - create_account_action.php - -David 27 Aug 2010 - - client: back out changeset [21086], - which cleaned out project dir on reset. - The semantics of reset are to not delete sticky files. - - client/ - client_state.cpp - -David 28 Aug 2010 - - client: fix "boinc_temporary_exit()" support. - This is critical for GPU support. - - client/ - app_control.cpp - cpu_sched.cpp - -David 29 Aug 2010 - - tweaks - - db/ - boinc_db.cpp - tools/ - backend_lib.cpp - -David 29 Aug 2010 - - web: if SECURE_URL_BASE is defined in html/project/project.inc, - use it a prefix for forms that include passwords, - namely login_form.php and create_account.php. - Typically SECURE_URL_BASE would start with "https://". - - html/ - inc/ - util.inc - user/ - login_form.php - login_action.php - create_account_form.php - create_account_action.php - -Charlie 31 Aug 2010 - - client: fix problems with exclusive_gpu_app feature. - - client/ - app.cpp - client_state.cpp - lib/ - procinfo_mac.cpp - -David 1 Sept 2010 - - web: finish the above - html/ - inc/ - user.inc - user/ - edit_passwd_form.php - edit_email_form.php - -David 4 Sept 2010 - - fix various XSS vulnerabilities reported by the - Acunetix Web Vulnerability Scanner (free edition) - - tools/ - upgrade - html/ - project.sample/ - projects_specific_prefs.inc - inc/ - util.inc - user/ - login_action.php - pm.php - lanbuage_select.php - create_account_form.php - create_account_action.php - create_team.php - prefs_edit.php - mail_passwd.php - add_venue.php - login_form.php - -David 6 Sept 2010 - - web: make some strings translatable, fixes #1006, from Simek - - html/inc/ - result.inc - pm.inc - -Rom 6 Sept 2010 - - MGR: Properly display which components have trouble loading when - a skin is defined. - - MGR: A new new skin which will become the new default skin. - - clientgui/ - SkinManager.cpp - clientgui/skin/BOINC - - -David 7 Sept 2010 - - web: make strings translatable. From Simek, fixes #1007 - - html/ - inc/ - user.inc - team.inc - util.inc - user/ - create_profile.php - -David 7 Sept 2010 - - server (job submission): allow input templates to specify the - URL, size, and MD5 of input files. - This supports "non-local" input files, - i.e. files not present on the project server. - - NOTE: as implemented, - this requires a separate input template for each job. - It would be slightly better to let you specify the - URL/size/MD5 in the create_work() call. - - From Zoltan Farkas (SZTAKI) - - tools/ - backend_lib.cpp - -Rom 16 Aug 2010 - - Tag for 6.11.7 release, all platforms - boinc_core_release_6_11_7 - - / - configure.ac - version.h - -David 8 Sept 2010 - - client: support notice feeds from account managers. - Implementation: create a base class PROJ_AM, - from which both PROJECT and ACCT_MGR_INFO are derived, - with basic stuff like name, URL, and RSS feed list - - client/ - acct_mgr.cpp,h - app_start.cpp - client_types.cpp,h - cs_notice.cpp,h - gui_rpc_server_ops.cpp - -David 8 Sept 2010 - - finish the above - - client/ - acct_mgr.cpp,h - scheduler_op.cpp - -David 8 Sept 2010 - - debug the above. It now successfully displays an - RSS feed of news items from Google, - linked from a project manager - - client/ - cs_notice.cpp - lib/ - notice.cpp - parse.cpp - -Rytis 9 Sept 2010 - - user web: fix division by zero in host app versions page. - - html/user/ - host_app_versions.php - -David 9 Sept 2010 - - scheduler: fix "prefer_primary_platform" logic (I hope). - - sched/ - sched_version.cpp - -David 9 Sept 2010 - - client: remove duplicate notices based on GUID as well as text - (Google RSS feeds, e.g., change random strings in URLs - in the item description, but leave the GUID the same) - - client/ - cs_notice.cpp - -David 9 Sept 2010 - - client: if a client has no jobs for a resource, decay its STD - for that resource by a factor of e every day - - client/ - work_fetch.cpp - -Charlie 10 Sept 2010 - - MGR: Statistics tab: add scroll bar to project list, replace - hidden double-click function with new "Hide / Show Project - List" button, enable & disable buttons appropriately. - - clientgui/ - Events.h - ViewStatistics.cpp, .h - -David 11 Sept 2010 - - boinc_cmd: don't crash if can't connect to local client - - client/ - boinc_cmd.cpp - -Rytis 12 Sept 2010 - - user web: filter results by application. - - html/ - inc/ - result.inc - user/ - results.php - -Rom 13 Sept 2010 - - WINSCR: Set the screen saver log directory to the data directory. - - WINSCR: Already create a log file, even on release builds, just don't - write trace messages. - - WINSCR: Be a bit more paranoid about not being able to detect keyboard - and mouse activity. If the function fails for whatever reason - shutdown the screensaver. - - clientscr/ - screensaver_win.cpp - -David 13 Sept 2010 - - client: remove spurious msgs about deleting files while in use - - scheduler: add log messages related to max jobs in progress - - sched/ - sched_limit.cpp,h - sched_send.cpp - client/ - client_types.cpp,h - -David 13 Sept 2010 - - back end: compile fixes - - sched/ - sched_limit.cpp,h - sched_main.cpp - -Charlie 14 Sept 2010 - - MGR: Statistics tab: add graph showing sum of selected projects, rename - other mode buttons "All projects (separate)", "All projects (together)". - Minor bug fix: call UpdateSelection() from OnRestoreState(). - - clientgui/ - Events.h - ViewStatistics.cpp, .h - -David 14 Sept 2010 - - lib: check for malloc() NULL return; fixes #921 - lib/ - util.cpp - -Charlie 15 Sept 2010 - - MGR: Statistics tab: optimize and fix bugs in new graph showing sum of - selected projects. - - clientgui/ - ViewStatistics.cpp, .h - -David 15 Sept 2010 - - client: a bit of IPv6 compatibility - - use "sockaddr_storage" to store network addresses - (which may be IPv4 or IPv6) - rather than assuming they fit in an int. - - the entries in remote_hosts.cfg may now be IPv6 addresses - (a:b:c::e:f:g format), - or domain names of hosts that support only IPv6 - Note: GUI RPCs are still constrained to use IPv4, - but this should be easy to change if it's every needed - - Also: replace deprecated gethostbyname() with getaddrinfo(). - - client/ - client_state.cpp - gui_rpc_server.cpp,h - hostinfo_network.cpp - lib/ - gui_rpc_client.cpp,h - network.cpp,h - -David 15 Sept 2010 - - client: revert to old network functions (gethostbyname() etc.) on Win: - - inet_ntop() etc. exist only on Vista+ - - the other functions are declared in winsock2.h. - This breaks the Manager build, since wxwidgets includes winsock.h. - So to hell with it. - - windows build: manager doesn't depend on client - - client/ - gui_rpc_server.cpp - hostinfo_network.cpp - lib/ - gui_rpc_client.cpp,h - network.cpp,h - win_build/ - boinc.sln - -David 15 Sept 2010 - - web: improve server status page, and make it translatable - From Christian Beer - - html/ops/ - sample_server_status.php - -David 15 Sept 2010 - - web: move server status page from ops/ to user/. - Remove funky file-writing stuff - just use caching. - fixes #913 - - web: include link to server status page on sample front page - - html/ - ops/ - sample_server_status (removed) - user/ - sample_index.php - server_status.php (new) - -David 15 Sept 2010 - - compile fix for Mac - - lib/ - gui_rpc_client.cpp - -David 15 Sept 2010 - - API and sample apps: pass buf length arg to boinc_msg_prefix() - and use snprintf() to avoid overrun. - Can't see why this could ever happen. - Attempt to fix crash in E@h apps. - - apps/ - upper_case.cpp - samples/*/*.cpp - api/ - boinc_api.cpp,h - graphics2_unix.cpp - graphics2_win.cpp - -David 15 Sept 2010 - - client (Win): use MoveFileEx() to rename file. - More atomic than delete/rename. - fixes #1010 - lib/ - filesyst.cpp - -David 15 Sept 2010 - - client: if we successfully did CPU benchmarks, - don't keep doing them every 5 days unless restart the client - fixes #994 - - client/ - cs_benchmark.cpp - -David 15 Sept 2010 - - web: don't require that SECURE_URL_BASE be set, - or that it end with a / - - html/ - inc/ - user.inc - util.inc - user/ - create_account_form.php - edit_email_form.php - login_form.php - -David 16 Sept 2010 - - web: don't call filter_var() if it doesn't exist (PHP version < 5.2) - - html/ - inc/ - util.inc - user/ - language_select.php - mail_passwd.php - -David 16 Sept 2010 - - web: bug fix - - html/inc/ - pm.inc - -David 16 Sept 2010 - - web: server_status.php is not an ops page - - html/user/ - server_status.php - -David 16 Sept 2010 - - client: fix boinc_temporary_exit() handling on Unix (from Hien) - - client/ - app_control.cpp - -David 16 Sept 2010 - - client: improve "wrong URL" messages - - client: add title to client/server messages: "Notice from BOINC" - - client/ - client_msgs.cpp - cs_scheduler.cpp - -David 17 Sept 2010 - - scheduler: message tweak - tools/ - create_work.cpp - sched/ - handle_request.cpp - -David 17 Sept 2010 - - client: when computing non-BOINC CPU usage, - allow for the possibility that suspended BOINC apps - aren't really suspended - (e.g. multithread apps that don't use boinc_init_parallel()) - - client: message tweak - - client/ - app.cpp - cs_scheduler.cpp - -David 18 Sept 2010 - - scheduler: fix crashing bug when client reports a large # (1000+) - of results (256KB not enough for query in this case) - - db/ - boinc_db.cpp - -David 20 Sept 2010 - - web: appearance tweaks from Simek; fixes #1012 - - html/ - inc/ - util.inc - user/ - sample_index.php - main.css - edit_email_form.php - white.css - login_form.php - notices.phhp - edit_user_info_form.php - edit_forum_preferences_form.php - -Charlie 20 Sept 2010 - - Mac: Update XCode project for XCode 3.2.4. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 21 Sept 2010 - - client/web: change RSS feed mechanism a little. - If is included in feed description, - the client will append &since_time=x to the URL, - where x is the lastBuildDate of the previous reply. - This notices handler (notices.php) sends only notices - newer than this. - - client: discard old notices as they arrive - - html/user/ - notices.php - client/ - cs_notice.cpp,h - -David 22 Sept 2010 - - web: authenticate notices request - - html/user/ - notices.php - -David 22 Sept 2010 - - client: typo fix - - client/ - cs_notice.cpp - -Rom 23 Sept 2010 - - MGR: Display the default action in the system tray menu in bold again. - - MGR: If connected to the localhost, don't display the computer name - in the window title. - - MGR: Change the exit menu item text to be a little more specific about - what is being shutdown. Use the same scheme as the exit text in the - status bar so that it'll automatically be localized. - - SCR: Remove some old Win9x code. - - clientgui/ - AdvancedFrame.cpp - BOINCTaskBar.cpp - clientscr/ - screensaver_win.cpp, .h - -David 23 Sept 2010 - - client: write GPU info to client_state.xml, - so that it can be input file to the client simulator. - - client/ - cs_scheduler.cpp - cs_statefile.cpp - gui_rpc_server_ops.cpp - lib/ - app_ipc.cpp - coproc.cpp,h - hostinfo.cpp,h - -Charlie 24 Sept 2010 - Mac: add Mac executables of wrapper application. - - samples/ - wrapper/ - i386/ - wrapper_macOSX_i686 - ppc/ - wrapper_macOSX_ppc - x86_64/ - wrapper_macOSX_x86_64 - -David 24 Sept 2010 - - client simulator: major remodel and upgrade. - Insteady of using its own XML input files, - the simulator now takes a client_state.xml file as input. - The simulator generates a synthetic workload based on the - projects, apps, app versions, WUs, and result it finds there. - - This means that a user seeing aberrant behavior - can just send their client_state.xml file - and (hopefully) we can use the simulator to repro. - - The simulator now can model GPUs. - - As of this checkin, the simulator compiles but doesn't work. - There should be no change in the actual client. - - html/user/ - rss_main.php - client/ - makefile_sym - *.cpp - -David 24 Sept 2010 - - client: fix bug that cause wasted scheduler RPC - Old: when a job finished, we cleared the backoffs for the - resources it used. The idea was to get more jobs - immediately in the case where the client was at - a jobs-in-progress limit. - Problem: this resulted in an RPC immediately, - typically before the output files were uploaded. - So the client is still at the limit, and doesn't get jobs. - New: clear the backoffs at the point when output files - have been uploaded and the job is ready to report. - - client: change range in resource backoff from (0,x) to (.5, 1.5*x) - - client/ - work_fetch.cpp,h - client_state.cpp,h - app.cpp - -David 27 Sept 2010 - - client: add config option and --no_info_fetch - cmdline arg. - Suppresses the fetch of project list and of current client version #. - Use when running on grid nodes. - - debugging on client simulator. Not done yet. - - client/ - work_fetch.cpp,h - client_types.cpp,h - client_state.cpp - sim.cpp - work_fetch.cpp - sim_util.cpp - cs_cmdline.cpp - log_flags.cpp,h - cs_statefile.cpp - scheduler_op.cpp - time_stats.cpp - -Rom 28 Sept 2010 - - MGR: Make the new BOINC skin the default skin. - - clientgui/ - BOINCGUIApp.cpp - SkinManager.cpp, .h - clientgui/skins/BOINC/graphic/ - - clientgui/skins/BOINC/ - skin.xml - clientgui/skins/People for a Smarter Planet/ - skin.xml - win_build/ - boincmgr.vcproj - -Rom 28 Sept 2010 - - Tag for 6.11.8 release, all platforms - boinc_core_release_6_11_8 - - / - configure.ac - version.h - -David 28 Sept 2010 - - validator: if credit calculation returns an error, - wait 6 hours before retrying - - sched/ - validator.cpp - client/ - sim.cpp,h - client_state.h - cs_statefile.cpp - - -David 28 Sept 2010 - - client: if we suspend apps because non-BOINC CPU is is too high, - leave them in memory. - Otherwise (if the CPU use is caused by launching an app, - say by security software) - we would get into a loop. - - client/ - app_control.cpp - -Charlie 28 Sept 2010 - Mac: update release script to add new BOINC skin. - - mac_installer/ - release_boinc.sh - -David 29 Sept 2010 - - client: if a process has priority <= that of BOINC apps, - don't include it in non-BOINC CPU time. - Otherwise the presence of such a process could - prevent BOINC from running apps. - (Windows only - will do Unix/Mac later) - - lib/ - procinfo.h - procinfo_win.cpp - client/ - app.cpp - -David 29 Sept 2010 - - client: in computing non-BOINC CPU time, - ignore ACTIVE_TASKs that don't have a process. - - client: bug fix to previous checkin - - client/ - app.cpp - lib/ - procinfo_win.cpp - -David 29 Sept 2010 - - client (unix): don't count low-priority processes towards - non-BOINC CPU time. - NOTE: when you nice a process to 19, - its priority in /proc is 39 (at least on Ubuntu and FC11). - I can't find where this offset (20) is documented, - so I just hardwired 39. - - TODO: Mac - - lib/ - procinfo_unix.cpp - procinfo_mac.cpp - -Charlie 29 Sept 2010 - lib: Temporary work-around for unknown problem with IPV6-compatible - code on Mac. - - lib/ - gui_rpc_client.cpp,h - -David 29 Sept 2010 - - lib: make str_util.h C-compatible (from Matt Arsenault) - - lib/ - str_util.h - -Charlie 29 Sept 2010 - lib: Add test for low-priority processes to procinfo_setup() and - relatives on Mac. - - lib/ - procinfo_mac.cpp - -Charlie 30 Sept 2010 - lib: Fix problem with IPV6-compatible code on Mac: we need to set the - third argument to connect() differently for IPV4 or IPV6. - NOTE: This is not yet tested with actual IPV6 addresses. - - lib/ - gui_rpc_client.cpp,h - -Rom 30 Sept 2010 - - Tag for 6.11.9 release, all platforms - boinc_core_release_6_11_9 - - / - configure.ac - version.h - -David 30 Sept 2010 - - scheduler: check whether client is reporting the same result twice - in a given request message. - Eliminate duplicates; they mess things up. - - scheduler: fix RESULT#0 problem in message log - - user web: keep credit totals when merging hosts by name - - sched/ - sched_result.cpp - sched_types.cpp - html/user/ - merge_by_name.php - -David 30 Sept 2010 - - scheduler: typo in app_plan() for ATI GPUs; fixes #1016 - - sched/ - sched_customize.cpp - -David 30 Sept 2010 - - undo recent change to str_util.h; it broke FCGI compile - - lib/ - str_util.h - -David 1 Oct 2010 - - scheduler: deal correctly with jobs that need > 2GB RAM. - Such jobs fail on 32-bit machines, even if they have sufficient RAM, - because 32-bit OSs don't support address spaces > 2GB. - - In general, we want to support the following scenario: - - an app has a mixture of small (< 2GB) and big (> 2GB) jobs. - - there are app versions for both 32b and 64b platforms - - one of the 32b versions is faster than the 64b version - (say, it's a 32b GPU app) - - Goals: - If the client is 32b, send it only small jobs, - using the fast 32b version if possible - If the client is 64b and has sufficient RAM, - send it large jobs using the 64b version; - send it small jobs using the fast 32b version if possible, - else the 64b version - - Solution: extend get_app_version() so that it detects big jobs, - and uses only 64b versions for them. - Add a "for_64b_jobs" field to BEST_APP_VERSION - so that we maintain a separate memoized set of - BEST_APP_VERSIONs for big jobs. - - - client: don't set report_results_immediately inappropriately - - sched/ - sched_types.h - sched_version.cpp - client/ - log_flags.cpp - -David 3 Oct 2010 - - user web: typo fix. Fixes #1018. From Simek. - - html/user/ - merge_by_name.php - -Rom 4 Oct 2010 - - MGR: On Linix, minimize the main window instead of trying to hide it when - close is selected on the window instead of the menu. Ideally the main - window would just be hidden until the notification icon is clicked, but - apparently wxWidgets/GTK/X doesn't like it when you attempt to hide the - main window. - - MGR: Display what cpu architecture the manager was built for in the about - box. - - clientgui/ - BOINCBaseFrame.cpp - DlgAbout.cpp - -David 4 Oct 2010 - - client: remove debugging code accidentally left in - - client/ - client_state.h - cs_statefile.cpp - -David 4 Oct 2010 - - client: don't fetch RSS feeds if "no_info_fetch" flag is set - - client/ - client_state.cpp - -David 4 Oct 2010 - - web: fix bug in "email passwd" page - - html/inc/ - util.inc - -David 5 Oct 2010 - - client: fix bug causing garbage values in ATI descriptions - - lib/ - coproc.cpp - -David 5 Oct 2010 - - web: fix login bug - - html/user/ - login_action.php - -David 5 Oct 2010 - - crypt_prog: show cmdline options if error. Fixes #1019 - - lib/ - crypt_prog.cpp - -David 5 Oct 2010 - - client: don't show GPU suspend/resume msgs if no GPUs - - client/ - cs_prefs.cpp - -Charlie 6 Oct 2010 - - ss_app: call rpc.init(NULL) not rpc.init("localhost") to work around - a bug which prevented default screensaver boincscr from communicating - with client on Mac (and probably other computers which support IPV6.) - - clientscr/ - ss_app.cpp - -Charlie 6 Oct 2010 - - MGR: Add command-line argument --multiple or -m to allow multiple - instances of BOINC Manager to be run. If a second instance is - launched without this argument, it will bring the original - instance to the front and quit. If this argument is present, - the second instance will automatically run the Selectr Computer - dialog (as before.) - Also add "Launch another BOINC Manager" menu item to Advanced menu. - - clientgui/ - AdvancedFrame.cpp, .h - BOINCGUIApp.cpp, .h - Events.h - MainDocument.cpp - -David 6 Oct 2010 - - manager: remove last few instances of "detach" from messages - - sched/ - handle_request.cpp - clientgui/ - AdvancedFrame.cpp - -David 6 Oct 2010 - - fix a few absolutely last messages with "attach", "detach" - - clientgui/ - CompletionPage.cpp - AdvancedFrame.cpp - ProjectInfoPge.cpp - WelcomePage.cpp - AccountInfoPage.cpp - ViewResources.cpp - CompletionErrorPage.cpp - html/ - inc/ - prefs.inc - user/ - create_account_form.php - sample_index.php - weak_auth.php - -David 6 Oct 2010 - - client simulator: bug fixes - - client/ - sim.cpp,h - client_types.cpp - -Rom 7 Oct 2010 - - Increment version to 6.13.0. - - / - configure.ac - version.h - -David 7 Oct 2010 - - client: add config item: - limit the # of completed tasks reported per RPC - - client/ - log_flags.cpp,h - cs_scheduler.cpp - -David 7 Oct 2010 - - web: fix XSS vulnerability - - html/inc/ - pm.inc - -David 7 Oct 2010 - - GUI RPC: remove unneeded isIPV6 flag, factor out sizeof() logic - - lib/ - gui_rpc_client.cpp,h - clientgui/ - BOINCTaskBar.cpp - -David 7 Oct 2010 - - GUI RPC: when resolving hostnames, ask for only IPV4 addresses. - No point in allowing IPV6 since the client doesn't - create a listening socket for IPV6 - - lib/ - network.cpp - client/ - boinc_cmd.cpp - -David 7 Oct 2010 - - client simulator: updates. Fix web interface. - - client/ - client_state.h - cpu_sched.cpp - cs_prefs.cpp - cs_statefile.cpp - log_flags.cpp,h - sim.cpp - work_fetch.cpp - -Charlie 8 Oct 2010 - - Mac: Update build scripts and documentation. - - mac_build/ - buildc-ares.sh - buildcurl.sh - buildjpeg.sh - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - samples/ example_app/ - Makefile_mac2 - MakeMacExample.sh - wrapper/ - BuildMacWrapper.sh - -David 8 Oct 2010 - - client simulator: get it to work for GPU simulation - - web: small fixes to mollify skipfish - - html/ - inc/ - util.inc - user/ - language_select.php + uc2.cpp client/ - sim.cpp,h - client_state.h - sim_util.cpp - makefile_sim - cpu_sched.cpp - -Charlie 8 Oct 2010 - - Mac: Update build example. - - samples/ - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - -Charlie 11 Oct 2010 - - Mac: Update build scripts, build examples and documentation. - - mac_build/ - buildc-ares.sh - buildcurl.sh - buildjpeg.sh - BuildMacBOINC.sh - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - samples/ - example_app/ - Makefile_mac2 - MakeMacExample.sh - mac_build/ - UpperCase2.xcodeproj/ - project.pbxproj - wrapper/ - BuildMacWrapper.sh - -Rom 13 Oct 2010 - - Win/Linux: Implement the launch new manager functionality for Windows - and Linux. - - clientgui/ - AdvancedFrame.cpp - BOINCGUIApp.cpp, .h - lib/ - util.h - -Rom 13 Oct 2010 - - MGR: Sanitize the event log output from the CC. - - clientgui/ - DlgEventLog.cpp - -Rom 13 Oct 2010 - - MGR: Take two of the above. - - clientgui/ - DlgEventLog.cpp - MainDocument.cpp, .h - -David 13 Oct 2010 - - client: fix bug with the config option. - If # of ready-to-report tasks > max_tasks_reported, - then the excess ready-to-report tasks weren't getting - reported to the scheduler at all (i.e. not in either) - so the scheduler would resend them - (not a fatal problem, but a waste of bandwidth). - From Josef Segur. - - client/ - cs_scheduler.cpp - sched/ - feeder.cpp - -David 13 Oct 2010 - - API: compile fix for MinGW (from Bernd) - - lib/ - Makefile.mingw - -David 13 Oct 2010 - - API/client: move CUdevice_attribute_enum out of lib/coproc.h - to fix app build errors - - lib/ - coproc.h - client/ - coproc_detect.cpp - -Charlie 14 Oct 2010 - - client: fix compiler warning. - - client/ - cs_scheduler.cpp - -Rom 14 Oct 2010 - - MGR: Check for a duplicate instance much earlier in the initialization - cycle, before any window or document creation. Prevents rapid window - creation and then destruction. - - clientgui/ - BOINCGUIApp.cpp, .h - -David 14 Oct 2010 - - client: when an app exits, adjust debts before erasing ACTIVE_TASK. - Otherwise the last episode won't get accounted - - client simulator: add output file for debt info - - client/ - cs_apps.cpp - cs_scheduler.cpp - -Rom 14 Oct 2010 - - MGR: Complete above initialization changes for the Mac - - clientgui/ - BOINCGUIApp.cpp, .h - MainDocument.cpp - -Charlie 14 Oct 2010 - - MGR: Don't require --multiple arg to launch a new instance if both - --namehost and --password args are specified. - - clientgui/ - BOINCGUIApp.cpp - -Rom 15 Oct 2010 - - MGR: Handle paths with spaces in them when launching new instances - of the manager. - - clientgui/ - AdvancedFrame.cpp - -Rom 15 Oct 2010 - - MGR: It turns out it was some wxWidgets parameter parsing wierdness - in the newly launched application that was throwing the error. Double - quotes around the parameter didn't fix the issue. For the time being - just hard code 'boincmgr.exe' as argv[0] as it isn't used by the Windows - client at all. wxWidgets won't find --multiple if it is argv[0]. - - clientgui/ - AdvancedFrame.cpp - -David 15 Oct 2010 - - client: use project STD, rather than arrival time, - as the major criterion in choosing non-EDF GPU jobs. - GPU scheduling now respects resource share, - and as a result STD should no longer diverge. - - client simulator: various improvements, most notably - that we now generate gnuplot graphs of all debt types - - NOTE: the client problem was found and fixed using the simulator! - - client/ - client_state.h - client_types.h - cpu_sched.cpp - sim.cpp,h - sim_util.cpp - work_fetch.cpp - lib/ - coproc.h - -David 15 Oct 2010 - - scheduler: instead of "app is not available for your type of computer", - say "app is not available for Microsoft Windows (98 or later) running on an Intel x86-compatible CPU" (or whatever) - - sched/ - sched_send.cpp - -Charlie 16 Oct 2010 - - lib: Fix problems with Mac backtrace code: use atos only if present, etc. - (atos is installed only if developer tools are installed.) - - lib/ - mac/ - mac_backtrace.cpp, .h - QCrashReport.c - -David 16 Oct 2010 - - client: delete a notice if it's no longer in the RSS feed. - E.g., if a project deletes a news item, remove it from notices. - - notices RSS: remove the "since_time" mechanism - (an optimization that conflicts with the above) - - html/user/ - notices.php - lib/ - notice.h - client/ - cs_notice.cpp,h - sim.cpp - -David 16 Oct 2010 - - bug fix for the above - - client/ - cs_notice.cpp - -David 16 Oct 2010 - - user web: in RSS item for private message, don't say anything - about the message (sender, title, or content) - - user web: don't send an RSS item for a thread with no posts (i.e., hidden) - - client simulator: support global_prefs_override.xml - - html/inc/ - pm.inc - forum_rss.inc - client/ - sim.cpp - -Rom 16 Oct 2010 - - MGR(WIN): While it is a perfectly valid thing to use FindWindow() and - ShowWindow() on an application frame to restore an application from - a minimized state or a hidden state on Windows(75% of the UI test - automation would fail at Microsoft without this ability), it appeartly - isn't for other platforms. wxWidgets is or appears to be tracking window - state internally, which leads to problems when the OS restores the window - and the rest of the framework doesn't know about that change in state. - Certain window events were being ignored (like WM_CLOSE, menu selection - events, etc.). So replace the previous mechinism for bringing an existing - instance of the BOINC Manager to the foreground by creating a new global - window message which is tracked by the system tray icon. When the new - global message is fired make sure the CBOINCGUIApp::SetActiveGUI() function - is called to restore the window state which in turn updates all the internal - framework data structures. - - clientgui/ - BOINCGUIApp.cpp - clientgui/ - BOINCTaskBar.cpp, .h - clientgui/msw/ - taskbarex.cpp, .h - -David 18 Oct 2010 - - client: distinguish between messages to be displayed as HTML - (e.g. "Download new client here" link) and others - (e.g. "Bad tag in cc_config.xml: "). - - code cleanup; move show_message from main.cpp to client_msgs.cpp - - client/ - acct_setup.cpp - client_msgs.cpp,h - client_state.cpp - cs_cmdline.cpp - cs_statefile.cpp - gui_rpc_server.cpp - log_flags.cpp - main.cpp,h - -David 18 Oct 2010 - - client: on startup, generate a message and notice - about new client version if needed - - client/ - client_state.cpp,h - acct_setup.cpp,h - Makefile.am - -David 18 Oct 2010 - - client: notice debugging - - client/ - cs_notice.cpp - -Charlie 18 Oct 2010 - - Mac: Update XCode project for new source files client/current_version.cpp,.h. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 19 Oct 2010 - - client simulator: various fixes - - client/ - app.cpp - client_msgs.cpp - client_state.cpp - cs_notice.cpp - makefile_sim - sim.cpp,h - sim_util.cpp - lib/ - coproc.cpp - -Rom 19 Oct 2010 - - MGR: Add missing keyboard shortcut for the Event Log - - MGR: Add missing ellipses for the new instance of BOINC Manager and - Event Log. - - MGR: Display a simple message when saying that there are no notices - to be displayed when the client reports there are zero notices. - - clientgui/ - AdvancedFrame.cpp - NoticeListCtrl.cpp - -Charlie 16 Oct 2010 - - lib: Mac backtrace code (including the backtrace() API) doesn't work - on PowerPC Macs running under OS 10.5.x, so display explanatory text - when attempting a backtrace on those machines. - - lib/ - mac/ - mac_backtrace.cpp - -Bernd 20 Oct 2010 - - lib: - - fixed whitespace error in Makefile.mingw - - build and install svn_version.h in Makefile.mingw - - fixed boinc_win.h for MinGW gcc-4 - - not sure why "client_msgs.h" was ever included in procinfo_unix.cpp, - but in current code caused a nasty trail of includes breaking the - Linux build, so removed it - - lib/ - Makefile.mingw - boinc_win.h - procinfo_unix.cpp - -David 20 Oct 2010 - - client: msg tweak - - client: ignore exclusive apps including "boinc" - - client simulator: fixes - - client/ - scheduler_op.cpp,h - sim.cpp - makefile_sim - log_flags.cpp - cpu_sched.cpp - -David 22 Oct 2010 - - client simulator: no defaults for app params (fpops_est, latency_bound). - They can be determined implicitly by WUs/results, - or explicitly in the record. - If you do neither, the app is ignored. - - client/ - client_types.h - sim.cpp - -David 22 Oct 2010 - - client: update STD of ineligible projects by decay only. - Not sure why, but this eliminates gradual negative drift. - - client/ - work_fetch.cpp - -David 26 Oct 2010 - - client: linux compile fix - - client: small fix for GPU scheduling - (use anticipated debt instead of STD) - - client/ - app_start.cpp - cpu_sched.cpp - sim.cpp - client_types.h - -David 27 Oct 2010 - - scheduler: fix logic that deals with jobs that need > 2GB RAM. - My change of 1 Oct ([22440]) required that such jobs - be processed with 64-bit apps, - on the assumption that 32-bit apps have a 2 GB user address space limit. - However, it turns out this limit applies only to Windows - (kernel and user mode share the 4GB address space; each gets half). - On Linux, the split is 3GB user / 1 GB kernel. - On Mac OS X, user mode and kernel mode have separate address spaces, - each of them 4 GB. - - client/ - app.cpp - hostinfo_unix.cpp - hostinfo_win.cpp - lib/ - coproc.cpp - str_util.h - util.h - sched/ - sched_customize.cpp - sched_score.cpp - sched_version.cpp - -David 27 Oct 2010 - - manager: if attaching to existing account, - don't check min passwd length - - clientgui/ - AccountInfoPage.cpp - -David 28 Oct 2010 - - scheduler/feeder: add a project config option . - If set, the feeder doesn't read jobs into shmem, - and the scheduler doesn't send jobs. - Intended for use when a project wants to process - a backlog of completed jobs and not issue more. - - sched/ - sched_config.cpp,h - feeder.cpp - handle_request.cpp - -David 28 Oct 2010 - - manager: fix non-translatable "0 bytes" - - clientgui/u - ViewResources.cpp - -David 28 Oct 2010 - - scheduler: don't send translatable strings to pre-6.12 clients - - client/ - client_msgs.cpp,h - lib/ - str_util.cpp,h - sched/ - sched_types.cpp - -David 29 Oct 2010 - - web: fix next-URL mechanism for admin login (from Michael Tarantino) - - html/ - inc/ - util_ops.inc - ops/ - login_form.php - login_action.php - -David 29 Oct 2010 - - client and manager: fix notice titles - - code cleanup: please use standard coding conventions - - client/ - client_msgs.cpp - clientgui/ - NoticeListCtrl.cpp - -David 29 Oct 2010 - - client: small initial checkin for new scheduling system. - Keep track of per-project recent estimated credit - - api/ - boinc_api.cpp - client/ - client_types.cpp - cpu_sched.cpp - net_stats.cpp - work_fetch.h - lib/ - util.cpp,h - sched/ - credit.cpp - update_stats.cpp - -David 30 Oct 2010 - - client: show --no_gpus option in --help - - client/ - sim.cpp - cs_cmdline.cpp - -Rytis 01 Nov 2010 - - ops: extend manage_apps to estimate feeder shmem work items for each - application. Useful for projects with multiple applications and limited - work supply. - - html/ops/ - manage_apps.php - -David 01 Nov 2010 - - client simulator: model the scheduler's deadline check mechanism - - scheduler: improve the deadline check mechanism slightly. - When updating "estimated delay" (a rough measure of how long - a resource is saturated with high-priority work) - take into account the # of instances used by the job, - and the # of total instances - - client/ - client_types.h - sim.cpp - work_fetch.h - sched/ - sched_send.cpp - -David 01 Nov 2010 - - client: don't preempt GPU jobs in middle of time slice - - client/ - cpu_sched.cpp - -David 03 Nov 2010 - - client: fix problems with job scheduling policy. - Old: job scheduling has 2 phases. - In the first phase (schedule_cpus()) we make a list of jobs, - with deadline-miss and high-STD jobs first. - Keep track of the RAM used, - and skip jobs that would exceed available RAM. - Stop scanning when the # of CPUs used by jobs in the list - exceeds the # of actual CPUs. - - In the 2nd phase (enforce_schedule()), we add currently running jobs - (which may be in the middle of a time slice) to the list, - and reorder to give priority to such jobs, - and possibly also to multi-thread jobs. - We then run and/or preempt jobs, keeping track of RAM used. - - Problems: - - suppose we add an EDF 1-CPU job to the list, then a MT job. - We'll stop at that point because #CPUs is exceeded. - But enforce_schedule() won't run the MT job, - and CPUs will be idle. - - Because the list may be reordered, skipping jobs based - on RAM is not correct, and may cause deadlines to be missed. - - New: - - when making the job list, keep track of #CPUs used - by MT jobs and non-MT jobs separately. - Stop the scan only if the non-MT count exceeds #CPUs. - This ensures that we have enough jobs to use all the CPUs, - even if the MT jobs can't be run for whatever reason. - - don't skip jobs because of RAM usage - - skip MT jobs if the MT CPU count is at least #CPUs - - Notes: - - ignoring RAM usage in phase 1 can cause idleness in some cases, - e.g. suppose there are 4 GB of RAM and the list has - jobs that use 3 GB, but there are also some jobs that use 1 GB. - I'm not sure how to fix this. - - Maybe the 2-phase approach is not a good idea. - We did it this way for efficiency, - so that we don't have to recompute the job list - each time a job checkpoints. - But this is probably not a concern, - and I like the idea of a simpler approach, - e.g. reducing the policy to a single comparison function. - - client/ - cpu_sched.cpp - -David 03 Nov 2010 - - python DB layer: fields with values None or '' - where being omitted from query strings. - This is incorrect. - For example, suppose you have an app version with nonempty plan_class, - then you try to add a version with no plan class. - The query would omit the "and plan_class = ''" - so it would match the existing app version and not add a new version. - Reported by Rytis. - Hopefully this won't break anything. - - py/Boinc/ - db_base.py - -David 03 Nov 2010 - - user web: various enhancements and fixes from Simek. - Fixes #1020 - - html/ - inc/ - forum.inc - user.inc - team.inc - profile.inc - util.inc - user/ - img/ - forum_bg.png (new) - post.png (new) - head - create_account_form.php - forum_forum.php - forum_help_desk.php - forum_index.php - forum_search.php - forum_search_action.php - forum_thread.php - get_passwd.php - main.css - pm.php - profile_menu.php - server_status.php - team.php - team_manage.php - white.css - -David 03 Nov 2010 - - validator: fix bug with --credit_from_wu - HOWEVER: use of this option is discouraged. - Use the default credit system. - - sched/ - validator.cpp - -David 03 Nov 2010 - - make_project, upgrade scripts: - create a symbolic link from html/user/user_profile to html/user_profile - (needed to make profiles work) - - tools/ - make_project - py/Boinc/ - setup_project.py - -David 04 Nov 2010 - - fix formatting in PHP code - - html/ - various - -David 04 Nov 2010 - - GUI RPC: parse GPU info, FLOPS from APP_VERSION records - (client already sends this info) - - lib/ - gui_rpc_client_ops.cpp - gui_rpc_client.h - -David 04 Nov 2010 - - manager: show app speed and task FLOPs estimate in task Properties - - clientgui/ - DlgItemProperties.cpp - -David 04 Nov 2010 - - client: gpu_active_frac was being computed incorrectly, - resulting in various scheduling problems - - client/ - time_stats.cpp - -David 04 Nov 2010 - - admin web: fix bugs in manage_apps.php - - html/ops/ - manage_apps.php - -David 05 Nov 2010 - - validator: fix another bug with --credit_from_wu - - make_project, update scripts: don't quit it user_profiles - already exists - - sched - credit.cpp - validate_util.cpp - validator.cpp - py/Boinc/ - setup_project.py - -David 05 Nov 2010 - - client: comment out a debug msg - - client/ - work_fetch.cpp - -David 05 Nov 2010 - - admin web: fix bugs in manage_app_versions page - - client: message tweak - - client/ - rr_sim.cpp - html/ops/ - manage_app_versions.php - -David 08 Nov 2010 - - web: show prefs bools as checkboxes rather than radio yes/no - - html/inc/ - prefs_util.inc - -Rom 08 Nov 2010 - - MGR: Fix the event log so that it doesn't store the event log's - size information when it is in a minimized state. - - MGR: Fix the close dialog issue on wxGTK, apparently there is a - hidden flag that governs the handling of the GTK callback - function. Fixes #962 (Thanks for the patch cli) - - clientgui/ - DlgAdvPreferencesBase.cpp - DlgEventLog.cpp - DlgItemProperties.cpp - -David 08 Nov 2010 - - server programs: print error message instead of numeric retval - in log messages - - lib/ - str_util.h - error_numbers.h - sched/ - (most).cpp - -David 08 Nov 2010 - - web: fix "seperator" spelling - - html/ - inc/ - forum.inc - user/ - bolt.css - main.css - style2.css - white.css - -David 08 Nov 2010 - - client: fix harmless compile warning - - make_project: don't try to install non-existent file - - py/Boinc/ - setup_project.py - client/ - cpu_sched.cpp - -David 08 Nov 2010 - - web: add an option project-specific pref for - "accelerate GPU tasks by dedicating a CPU to each one". - Enable this by putting - $accelerate_gpu_apps_pref = true; - in html/project/project.inc - - html/inc/ - prefs.inc - -David 09 Nov 2010 - - unix build system: fix for non-english locale, from Nicolas. fixes #975 - - generate_svn_version.sh - -David 09 Nov 2010 - - client, scheduler, RPC protocol: - - If the scheduler doesn't have any app versions for resource type X, - it includes an element 1 in the reply msg - (e.g., 1) - - The client parses and stores these flags, - and doesn't ask a project for work for a resource - if the project doesn't have app versions for it. - Apparently I started this change in [19375] (October 2009) - and forgot to finish it. - - sched/ - sched_types.cpp - client/ - work_fetch.cpp - client_types.cpp - -David 09 Nov 2010 - - scheduler: bug fix to the above - - sched/ - sched_types.cpp - -David 09 Nov 2010 - - client: fix "Snooze GPU" - - client/ - cpu_sched.cpp - -David 09 Nov 2010 - - make_project: with --test_app, copy all the executables - (for many platforms) from samples/example_app/bin - - make_project: change name of example app from uppercase to example_app. - - update_versions: allow version numbers to not have decimal points - - sample work generator: make app name and template files - command-line options; - default to "example_app", "example_app_in.xml", "example_app_out.xml" - - db/ - schema.sql - sched/ - sample_work_generator.cpp - tools/ - create_work_example - make_project - update_versions - py/Boinc/ - database.py - -David 09 Nov 2010 - - client: change scheduling policy to allow multithread jobs to coexist - with GPU jobs that use significant CPU time. - Old: run a MT job only if total CPU usage will be < #CPUs + 1. - So if you have some GPU jobs running and their CPU usage sums to < 1, - BOINC will run a MT job too. - But if CPU usage > 1 BOINC won't run the MT job, - and some CPUs will be idle. - Note: to maximize throughput, it might be better to run - either GPU jobs or MT jobs, but not both at the same time. - However, volunteers don't like it when CPUs are idle. So... - New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs. - So we'll run a 4-core MT job (at low priority) - even if GPU jobs (which run at normal priority) use > 1 CPU. - (Yes, the MT job might run very slow) - client/ - cpu_sched.cpp - -David 09 Nov 2010 - - manager: don't show resources redundantly on task properties page - - clientgui/ - DlgItemProperties.cpp - MainDocument.cpp,h - -David 10 Nov 2010 - - boinccmd: --get_cc_status now prints its result - - feeder: don't panic if can't find app for result; - if the app is deprecated, it won't be in shmem - - sched/ - feeder.cpp - lib/ - gui_rpc_client.cpp - gui_rpc_client_print.cpp - str_util.cpp,h - client/ - boinc_cmd.cpp - -David 10 Nov 2010 - - client: fix yesterday's checkin [22661] for anonymous platform: - if project P is anonymous platform - don't request work for resource R from P - if there is no app version using R in P/app_info.xml - else - don't request work for resource R from P - if P tells us it has no app versions using R - - client/ - client_types.h,cpp - client_state.cpp - scheduler_op.cpp - -David 10 Nov 2010 - - server: add scripts to submit jobs for demo application - - tools/ - demo_submit - demo_query - html/inc/ - boinc_db.inc - py/Boinc/ - setup_project.py - sched/ - sample_work_generator.cpp - -Charlie 11 Nov 2010 - - Mac SS: Minor tweak for use in debugging. - - clientscr/ - mac_saver_module.cpp - -Rom 11 Nov 2010 - - MGR: Disable balloons on Linux for the time being. - - clientgui/gtk/ - taskbarex.h - -Charlie 12 Nov 2010 - - MGR: Save window dimensions and position on SIZE and MOVE events - to make sure changes are recorded even if the window is minimized - (iconized) when exiting BOINC. - - clientgui/ - AdvancedFrame.cpp, .h - DlgEventLog.cpp, .h - sg_DlgMessages.cpp, .h - -David 14 Nov 2010 - - admin web: fix bug in credit.php - html/ops/ - credit.php - lib/ - common_defs.h - -David 17 Nov 2010 - - client: account manager RPC: - Additions to request message: - X - X - The estimated remaining duration of unstarted - and in-progress tasks - Additions to reply message, within , optional: - 0|1 - suspend or resume project (overrides local state) - 0|1 - if set, abort unstarted jobs - - client/ - acct_mgr.cpp,h - app.h - client_types.cpp,h - cpu_sched.cpp - cs_scheduler.cpp - gui_rpc_server_ops.cpp - rr_sim.cpp - work_fetch.cpp - html/ops/ - team_export.php - -Rom 17 Nov 2010 - - client: Add support to detect VirtualBox VM software. - - client/ - client_state.cpp - hostinfo_win.cpp - lib/ - hostinfo.cpp, .h - -Rom 17 Nov 2010 - - sched: Parse the detected virtual machine software from - the scheduler request so it can be used in plan classes. - - db/ - boinc_db.h - sched/ - sched_types.cpp - -David 17 Nov 2010 - - client and scheduler: a client host may have multiple VM systems installed. - TODO: check for VirtualBox on Mac, Linux - - client/ - client_state.cpp - hostinfo_win.cpp - db/ - boinc_db.h - lib/ - hostinfo.cpp,h - sched/ - sched_types.cpp - -Charlie 18 Nov 2010 - - client: Add support to detect VirtualBox VM software on Mac. - - client/ - hostinfo_unix.cpp - -Charlie 18 Nov 2010 - - Mac Installer: remove obsolete kludge for generating x86_64 screensaver. - - mac_installer/ - release_boinc.sh - -Rom 18 Nov 2010 - - win_tray: Add logging support to trap crashes. - - clienttray/ - tray_win.cpp - win_build/ - boinctray.vcproj - -David 18 Nov 2010 - - client: in account manager requests, - include the following per-project attributes: - suspended_via_gui, dont_request_more_work, detach_when_done, ended - - client/ - acct_mgr.cpp - -David 18 Nov 2010 - - client: restore code to maintain recent estimated credit - - admin web: clean up manage_user.php - - client/ - client_types.cpp - cpu_sched.cpp - html/ops/ - manage_user.php - -Rom 18 Nov 2010 - - client: Add VirtualBox detection for linux - - client/ - hostinfo_unix.cpp - hostinfo_win.cpp - -Charlie 19 Nov 2010 - - Mac Installer: eliminate wrapper application around install package - (was only needed for OS 10.3.x support); set our custom icon in - the install package "BOINC Installer.pkg". - - clientgui/ - mac/ - SetVersion.cpp - res/ - MacPkgIcon.zip - mac_installer/ - release_boinc.sh - -Charlie 19 Nov 2010 - - Mac Installer: to permit remote install via SSH, suppress dialogs if - COMMAND_LINE_INSTALL environment variable was set by command-line - installer; if set, recognize two additional environment variables - NONADMINUSERSOK (to allow non-admin users to run Manager) and - SETBOINCSAVER (to set BOINC as screensaver for all BOINC users.) - - mac_installer/ - PostInstall.cpp - -David 20 Nov 2010 - - client: improve the way credit history is maintained - Old: maintain list of daily records. - When add a new record, delete records older than a month - Problem: - If there's a gap in the record (e.g. because project was down) - deleting old records may result in a list that - has an entry only for today. - Data for the last month is lost. - New: - When appropriate, adjust the date of old records - rather than deleting them - - client/ - scheduler_op.cpp - -David 20 Nov 2010 - - start script: don't write error message if period task is already - running, and output is not a TTY (i.e., cron). - Otherwise admin gets a lot of spurious emails. - - sched/ - start - -Charlie 22 Nov 2010 - - Mac Installer: It turns out that the command-line installer clears all - environment variables, so instead of checking environment variables - during command-line installs, we check for the existence of files - /tmp/nonadminusersok.txt and /tmp/setboincsaver.txt. In normal GUI - installs, these are ignored and the normal BOINC installer dialogs - are used to determine these options. See the comments at the top of - PostInstall.cpp for details of doing command-line installs on remote - Macs. - - mac_installer/ - PostInstall.cpp - postinstall - postupgrade - -Rom 22 Nov 2010 - - MGR: Switch to the tasks tab when a request to execute benchmarks has - been requested. The messages tab no longer exists. - - clientgui/ - AdvancedFrame.cpp - -David 22 Nov 2010 - - client: fix bug where client would ask project for work for a resource - even when the project doesn't have app versions that use the resource. - TODO: there are 2 functions, - compute_may_have_work() and dont_fetch(), - that do the same thing and both have misleading names. - Clean this up. - Rom: please back-port to 6.10 - - client/ - work_fetch.cpp - -Charlie 23 Nov 2010 - - Mac Installer: Better handling of custom installer icon. - - clientgui/ - res/ - MacPkgIcon.zip - mac_installer/ - release_boinc.sh - -Charlie 23 Nov 2010 - - MGR: Statistics tab: in graph showing sum of selected projects, always - show statistics for the last 30 days. This is now possible due to - November 20 changes to the way credit history is maintained. - - clientgui/ - ViewStatistics.cpp - -Charlie 23 Nov 2010 - - Remove BOINC_RCSID tags from more source files. - - api/ - mac_icon.cpp - make_app_icon_h.cpp - clientgui/ - Localization.cpp - mac/ - MacSysMenu.cpp - SetVersion.cpp - clientscr/ - mac_saver_module.cpp - lib/ - synch.cpp - mac_installer/ - Installer.cpp - LoginItemAPI.c - PostInstall.cpp - -Rom 23 Nov 2010 - - client: Copy the AltiVec CPU feature to the p_features field, leave - AltiVec in the host model field for backwards compatibility. - - client/ - hostinfo_unix.cpp - -David 23 Nov 2010 - - client: implement more scheduler changes that use - recent estimated credit (REC) instead of debt. - These changes are enabled by - #define USE_REC - in work_fetch.h. - If this is commented out (the default) the client uses - debt-based scheduling, same as before. - TODO: work-fetch policy changes - - client simulator: various fixes: - - compute idle and wasted fraction based on all processing resources, - not just CPU - - compute job completion times based on FLOPS, not CPU seconds - - compute and use project->no_X_apps - etc. - - client/ - app.h - client_state.cpp - client_types.cpp,h - cpu_sched.cpp - gui_rpc_server_ops.cpp - sim.cpp,h - sim_util.cpp - work_fetch.cpp,h - html/user - main.css - -David 23 Nov 2010 - - GUI RPC, client side: add error-checking for CC_STATE::parse(); - avoid crash if error or missing item in reply XML - - client/ - sim.cpp - cpu_sched.cpp - lib/ - gui_rpc_client_ops.cpp - -David 23 Nov 2010 - - server scripts (e.g. update_versions): - compute MD5 checksums be reading files in pieces instead - of reading whole file into memory. From Tolu Aina - - py/Boinc/ - tools.py - -Charlie 24 Nov 2010 - - client: fix compiler warning. - - client/ - cpu_sched.cpp - -Rom 24 Nov 2010 - - vbox: Create a new VirtualBox wrapper using the VirtualBox COM - API set. Use the existing wrapper as the baseline. Current - wrapper just dumps the existing VMs defined on the machine. - More to follow. - - samples/vboxwrapper/mscom/ - VirtualBox.h - VirtualBox.tlb - VirtualBox_i.c - samples/vboxwrapper/ - vbox.h - vbox_win.cpp - vboxwrapper.cpp - win_build/ - boinc.sln - vboxwrapper.vcproj - -David 24 Nov 2010 - - client: work fetch fix: try to maintain GPU work all projects, - since we now do round-robin for GPUs as well as CPU. - NOTE: this bug was found using the client simulator! - - client simulator: generate REC graph - - client/ - work_fetch.cpp,h - cpu_sched.cpp - sim.cpp - -David 24 Nov 2010 - - client: do exponential backoff (from 10 min to 24 hours) - on account manager RPC failures, - rather than always waiting 24 hours - - client/ - acct_mgr.cpp,h - client_state.h - work_fetch.h - -David 24 Nov 2010 - - web: remove DBNAME hack, which allowed users to see the DB name - (not a big deal, but bad form). - Fixes #1028 - - html/ - inc/ - bossa_db.inc - db_conn.inc - forum_db.inc - ops/ - autolock.php - bolt_datagen.php - notify.php - repair_forums.php - transition_all.php - user/ - forum_search_action.php - -Charlie 26 Nov 2010 - - client: fix crash bug. - - client/ - client_types.cpp - -David 26 Nov 2010 - - client: use 0|1 instead of or "" as XML boolean. - This distinguishes between "false" and "not defined" - (did this in a few places, should do it everywhere) - - client/ - acct_mgr.cpp - client_types.cpp - -David 27 Nov 2010 - - client: send host info in account manager request message - - client/ - acct_mgr.cpp - -David 28 Nov 2010 - - web: show details of single-replicated WUs if they have an error - fixes #1036 - - html/user/ - workunit.phph - -Rom 29 Nov 2010 - - vboxwrapper: Remove unneeded cruft. Vbox can report how long a - VM has been running since the last state change, we'll use that - instead. - - vboxwrapper: provide basic stub functions for starting/stopping/ - suspending/resuming a VM. Leave wrapper functionality in - vboxwrapper, and VM specific functionality in vbox_*. Ideally - only the stub functions would have to change for other VM - implementations. - - samples/vboxwrapper/ - vbox.cpp, .h - vbox_win.cpp - vboxwrapper.cpp - win_build/ - vboxwrapper.vcproj - -David 29 Nov 2010 - - add support for making wrappers for Rappture: - https://nanohub.org/infrastructure/rappture/ - - samples/ - wrappture/ - wrappture.cpp,h - wrappture_example.cpp - Makefile - wrapper/ - wrapper.cpp - -David 29 Nov 2010 - - add VS project file for wrappture_example; fix Win compile - - samples/wrappture/ - wrappture.cpp - wrappture_example.cpp - win_build/ - boinc.sln - wrappture_example.vcproj - -David 30 Nov 2010 - - scheduler: add vbox32 and vbox64 plan classes for VirtualBox apps. - - client/ - sim.cpp - lib/ - filesys.cpp - sched/ - sched_types.h - sched_customize.cpp - sched_version.cpp - -David 30 Nov 2010 - - client: on startup, generate a notice if any jobs require more RAM - than is allowed by prefs - - client/ - client_state.cpp - cpu_sched.cpp - -Bernd 01 Dec 2010 - - api: check return values of functions used in boinc_msg_prefix(), - return a (valid) empty string if an error occurred - - api/ - boinc-api.cpp - -Rom 01 Dec 2010 - - MGR: Use standard menus, even on Windows, for the Simple GUI. - - clientgui/ - sg_StatImageLoader.cpp - -David 1 Dec 2010 - - API: use localtime_r() instead of localtime() - - api/ - boinc_api.cpp - client/ - acct_mgr_cpp - client_types.h - -David 1 Dec 2010 - - client: fix major bug in job scheduling - Old: scheduling has 2 phases: - 1) computing a list of jobs to run (a vector of RESULT*); - this is done infrequently - 2) enforcing the schedule; this is done more frequently - Problem: - when we enforce the schedule, - the RESULTs in the jobs-to-run list may not still be runnable, - and in fact they may not still exist (dangling pointer). - New: combine the 2 phases - - client/ - client_state.cpp,h - app_control.cpp - cpu_sched.cpp - lib/ - prefs.h - -David 1 Dec 2010 - - client, acct manager protocol: - allow , and bools - within in reply message. - They suppress work fetch for that resource type from that project. - - scheduler: - check max_granted_credit after wu.rsc_fpops_bound, - so that max_granted_credit will be enforced - even if wu.rsc_fpops_bound is absurdly high - Fixes #1034. From Diggory Hardy. - - sched/ - credit.cpp - client/ - sim.cpp - acct_mgr.h - client_types.cpp - cs_statefile.cpp - acct_mgr.cpp - -Charlie 2 Dec 2010 - - lib: The custom Mac backtrace code doesn't work on Intel Macs running - under OS 10.5.x, so use newer backtrace() and backtrace_symbols() - APIs under OS 10.5.x, with explanatory text suggesting alternatives. - - lib/ - mac/ - mac_backtrace.cpp - -Charlie 2 Dec 2010 - - Mac Installer: Updates for OS 10.6.5 compatibility. - - mac_installer/ - PostInstall.cpp - release_boinc.sh - WaitPermissions.cpp - -David 2 Dec 2010 - - client: fix scheduling bug. - The round-robin simulation wasn't handling multithread jobs correctly. - For example, given two 3-CPU jobs, - it would model running them together on a 4-CPU host. - This doesn't correspond with the CPU scheduler, - which runs only 1 at a time. - So the simulator would say that there are no idle CPUs - when in fact there are, and no new CPU jobs would be fetched. - - client/ - rr_sim.cpp - -David 2 Dec 2010 - - client: fix typo that broke communication with account managers - - API: compile fix for Win - - client/ - acct_mgr.cpp - api/ - boinc_api.cpp - -David 2 Dec 2010 - - manager: fix compile warnings; from Steffen Moller - - clientgui/ - */*.xpm - -Charlie 6 Dec 2010 - - Mac Installer: Fix failure to auto-launch on OS 10.4.x. - - mac_installer/ - postinstall - postupgrade - -Bernd 7 Dec 2010 - - API: MinGWs runtime API has neither localtime_r nor localtime_s, - but it should be safe to use localtime here - - api/ - boinc_api.cpp - -David 7 Dec 2010 - - Fix bugs in Rappture wrapper - - Add README file and templates for Rappture wrapper - - create_work: create defaults for --wu_name, --wu_template, --result_template - - user web: fix typo on workunit.php - - tools/ - create_work.cpp - html/user/ - workunit.php - style2.css - samples/wrappture/ - fermi_in (new) - fermi_out (new) - wrappture.cpp - README (new) - -Rom 8 Dec 2010 - - VBOX: Implement stubs for starting/stopping/suspending/resuming VMs - TODO: create/delete. - - samples/vboxwrapper/ - vbox.cpp, .h - vbox_win.cpp - vboxwrapper.cpp - vm.cpp, .h - win_build/ - vboxwrapper.vcproj - -David 7 Dec 2010 - - client: fix scheduling bug when a job has fraction_done = 1 - but it's not finished yet. - ACTIVE_TASK::est_dur() was returning 0 - when it should have returned elapsed_time. - - client/ - work_fetch.cpp - -David 8 Dec 2010 - - API: add support from Truetype fonts (from Carl Christensen) - - api/ - ttffont.cpp,h - -David 8 Dec 2010 - - scheduler: in some cases the system may have a too-low estimate - of the performance of an app version on a host. - It will then stop using that app version, - so the estimate never has a chance to converge to its correct value. - Fix: multiply by a random factor (mean 1, stddev .1) - when comparing the FLOPS estimates of app versions. - - client/ - sim_util.cpp - lib/ - util.cpp,h - sched/ - sched_version.cpp - -David 9 Dec 2010 - - scheduler: in app_plan_sse3(): check for CPU features in - p_model as well as p_features; - pre-6.x clients report them in p_model. - - client: fix bug where "reread config file" didn't update - the max log file sizes - - client/ - main.cpp - log_flags.cpp - sched/ - sched_customize.cpp - -David 9 Dec 2010 - - transitioner: fix bug where retry jobs weren't getting sent - because invalid jobs were counted as successful. - How could this bug possibly have survived this long? - From TJM (thanks -- who are you?) - Fixes #1029 - - sched/ - transitioner.cpp - -David 11 Dec 2010 - - client: fix scheduling problem: - Old: enforce_schedule() won't run an active job if its - working set size exceeds remaining available RAM. - Problem: there may be a lot of similar jobs. - The client starts one, finds that its working set is too large, - starts the second, and so on. - Solution: if J is an unstarted job, - and there are started jobs using the same app version, - consider J's working set size to be the largest of - the working sets of those jobs. - - client: fix an apparent bug that could oversaturate - the CPUs with single-thread jobsk - - client/ - client_types.h - cpu_sched.cpp - -David 13 Dec 2010 - - client: work fetch: if the chosen project is currently uploading a file, - and an upload started in the last 5 min, don't fetch work from it. - The goal is to merge the 2 scheduler RPCs - (fetch work, report completed taskS) into a single RPC. - Note: this may result in idleness in some cases. - - scheduler: if client doesn't handle plan class (pre-5.10), - check plan-class app versions anyway, - but only use if it's a single-CPU app. - This allows single-CPU app versions with specific requirements - (like SSE) to be issued to old clients. - From Bernd Machenschalk - - client/ - client_types.h - work_fetch.cpp - client_state.h - pers_file_xfer.cpp - cs_scheduler.cpp - sched/ - sched_types.h - sched_version.cpp - -David 16 Dec 2010 - - client: if detect that system clock has been set backwards - (either at startup or during execution) - reset a number of "wait until X" variables; - otherwise we might wait years to contact a project, restart a file xfer, etc. - Notes: - - there is no problem setting clocks forward; things just happen prematurely - - some variables (e.g. task deadlines) are not reset, - because it's not clear what to set them to - - sched: remove ati_opencl plan class until we understand what it is - - sched/ - sched_customize.cpp - lib/ - coproc.h - client/ - client_types.h - client_state.cpp,h - coproc_detect.cpp - -David 17 Dec 2010 - - client: improve text of "message from server" notices - - manager: change "add account manager" to "use account manager". - "Add" is confusing, because you can't add multiple account managers - like you add projects. - - client: recognize a few new ATI GPU models - from [P3D] Crashtest - - client/ - client_msgs.cpp - coproc_detect.cpp - cs_scheduler.cpp - clientgui/ - AccountInfoPage.cpp - WelcomePage.cpp - -David 17 Dec 2010 - - API: small tweak that should help narrow down the occasional crashes - in fprintf() and boinc_msg_prefix() seen by E@h - - api/ - boinc_api.cpp - -David 17 Dec 2010 - - client: tweak to ATI CPU recognition - from [P3D] Crashtest - client/ - coproc_detect.cpp - -Rytis 21 Dec 2010 - - user web: add some CSS classes for easier styling - - html/ - inc/ - bbcode_html.inc - forum.inc - user/ - forum_edit.php - forum_forum.php - forum_post.php - -David 22 Dec 2010 - - client simulator: add client availability logic - - client/ - client_state.cpp - sim.cpp,h - time_stats.cpp - -David 23 Dec 2010 - - client: initial, partial checkin for hysteresis work-fetch - client/ - work_fetch.cpp,h - client_state.h - sim.cpp - sim_util.cpp - sim_control.php - -Rytis 24 Dec 2010 - - user web: change forum RSS encoding from ISO-8859-1 to UTF-8 - - html/inc/ - forum_rss.inc - -David 25 Dec 2010 - - client: enabled REC-based scheduling with a cmdline option - rather than a compile flag - - client/ - work_fetch.cpp,h - client_types.cpp,h - client_state.cpp - sim.cpp - gui_rpc_server_ops.cpp - sim_control.php - cpu_sched.cpp - -David 30 Dec 2010 - - client: more hysteresis work fetch policy stuff - - client simulator work - - client/ - work_fetch.cpp,h - sim.cpp sim_control.cpp diff --git a/checkin_notes_2010 b/checkin_notes_2010 new file mode 100644 index 0000000000..3a1eb310d9 --- /dev/null +++ b/checkin_notes_2010 @@ -0,0 +1,8869 @@ +David 3 Jan 2010 + - client: ATI available RAM wasn't being detected correctly + + client/ + coproc_detect.cpp + +David 4 Jan 2010 + - web: don't show news items if they're hidden + + html/inc/ + news.inc + +David 4 Jan 2010 + - client: RSS feed stuff + + client/ + cs_notice.cpp,h + lib/ + notice.cpp + +Rom 4 Jan 2010 + - lib: fixup notice RPCs to make them manager compatible. + - lib: remove memset from notice constructor, bad things can happen + when you null out a std::string structure. + + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + notice.cpp, .h + +Rom 4 Jan 2010 + - MGR: Implement Notice RPC infrastructure. + + clientgui/ + AsyncRPC.cpp, .h + MainDocument.cpp, .h + +Rom 4 Jan 2010 + - MGR: Implement UI plumbing for notices + + clientgui/ + ViewNotifications.cpp, .h + +Rom 4 Jan 2010 + - MGR: Display each notice in the notices tab. + + clientgui/ + MainDocument.cpp + ViewNotifications.cpp, .h + +David 4 Jan 2010 + - GUI RPC: return notices in order of increasing seqno, not decreasing + client/ + cs_notice.cpp + +Rom 4 Jan 2010 + - MGR: Present the newest notices first. + + clientgui/ + MainDocument.cpp + lib/ + gui_rpc_client_ops.cpp + +Bernd 5 Jan 2010 + a couple of locality scheduling fixes: + - remove obsolete and buggy code from transitioner (create_result() in backend_lib) + - account for 'mixed' scheduling in explain_to_user() in sched_send.cpp + - finish transition to configurable patterns for distinguishing files reported by the client + in the Einstein@home-specific part of send_work_locality in sched_locality + (removed previous hardcoded strcmps) + + tools/ + backend_lib.cpp + sched/ + sched_send.cpp + sched_locality.cpp + +David 4 Jan 2010 + - code shuffle + + client/ + work_fetch.cpp + +David 4 Jan 2010 + - client: fix format strings for ninstances (can be fraction now) + + client/ + scheduler_op.cpp + work_fetch.cpp + +David 5 Jan 2010 + - client: scheduling problem: + - a project overestimates job FLOP counts + - the client starts jobs in EDF mode + - as job progresses and fraction done increases, + its completion time estimate decreases until + it's no longer a deadline miss. + - job gets preempted by other job from that project; + you end up with lots of partly completed jobs. + Solution (I hope): if an app version has running jobs, + compute a "temp DCF" for the app version, + which is the min of dynamic/static estimates for its jobs. + Apply this scaling factor to completion time estimates + for unstarted jobs in RR simulation + - client: the estimation of remaining time of running jobs was wrong + (how did this bug survive so long?) + + client/ + app.h + client_types.h + rr_sim.cpp + work_fetch.cpp + +Charlie 6 Jan 2010 + - client: Eliminate x86_64 Mac client; i386 client determines if + system supports x86_64 applications and sets HOSTTYPE and + platform accordingly. This allows us to link with the 32-bit + CUDA libraries. The one other effect is that the benchmarks + are run in 32-bit mode even on a 64-bit capable Mac. + - client: Async get_state RPC was not updating state.have_ati field. + - MGR: Rebuild Advanced Menu and Taskbar Menu after connecting to + client, so GPU Activity and Snooze GPU items are displayed if + needed. + + client/ + cs_cmdline.cpp + cs_platforms.cpp + clientgui/ + AdvancedFrame.cpp + AsyncRPC.cpp + sg_BoincSimpleGUI.cpp + mac/ + config.h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 6 Jan 2010 + - client: bug in ACTIVE_TASK::est_dur() + + client/ + work_fetch.cpp + +David 6 Jan 2010 + - client: notice fixes + + client/ + client_state.cpp + cs_notice.cpp,h + +David 6 Jan 2010 + - admin web: allow setting per-app HR class + + html/ops/ + manage_apps.php + +Charlie 6 Jan 2010 + - client: Fix compiler warning. + - client: Fix crash bug. + NOTE: do not call memset(this, 0, sizeof(*this)) when the data + contains a std::string. + + client/ + cs_notice.cpp + +David 6 Jan 2010 + - boinccmd: add --get_notices option + + client/ + boinc_cmd.cpp + +Charlie 7 Jan 2010 + - Mac: Fix bug in backtrace code which showed up only under OS 10.6. + + lib/ + mac/ + mac_backtrace.C + +Charlie 7 Jan 2010 + - Mac: Fix bug in backtrace code which showed up only under OS 10.6. + - Mac installer: Add CUDA information to Mac ReadMe files. + + lib/ + mac/ + mac_backtrace.C + mac_installer/ + GR-ReadMe.rtf + PTP-ReadMe.rtf + ReadMe.rtf + +David 7 Jan 2010 + - manager: tweak notice appearance + + client/ + cs_notice.cpp + clientgui/ + ViewNotifications.cpp + +David 7 Jan 2010 + - client: work fetch fix: avoid sending null request in certain cases. + - client: fix crash in notices code + client/ + cs_notice.cpp + work_fetch.cpp + +Rom 7 Jan 2010 + - MGR: Prevent timer events from causing recursive ui issues. + + clientgui/ + ViewNotifications.cpp + +Charlie 8 Jan 2010 + - client: Fix another crash bug due to calling memset(this, 0, sizeof(*this)) + when the data contains a std::string. + + client/ + cs_notice.cpp + +Charlie 8 Jan 2010 + - MGR: Separate refresh of Event Log from refresh of tabs. + - MGR: Update Notices tab only when data has changed. + - MGR: Clean up some async RPC logic. + + clientgui/ + AdvancedFrame.cpp + AsyncRPC.cpp, .h + DlgEventLog.cpp, .h + MainDocument.cpp, .h + sg_BoincSimpleGUI.cpp + ViewNotifications.cpp, .h + +Charlie 8 Jan 2010 + - MGR: When Event Log is open, do get_messages RPC once per second but + do view-specific periodic RPCs at their normal View refresh rate. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseFrame.cpp, .h + MainDocument.cpp, .h + +David 9 Jan 2010 + - client (Mac): append /usr/local/cuda/lib to LD_LIBRARY_PATH + and DYLD_LIBRARY_PATH + - client simulator: compile fixes + + client/ + app.cpp + app_start.cpp + client_state.h + cs_apps.cpp + rr_sim.cpp + sim.cpp,h + time_stats.cpp + work_fetch.cpp + +David 9 Jan 2010 + - user web: make user search translatable + html/user/ + donations.php + user_search.php + +David 10 Jan 2010 + - client: fix notification display logic + + clientgui/ + ViewNotifications.cpp + +David 10 Jan 2010 + - fix python deprecation warning (from Jeremy Cowles) + + py/Boinc/ + tools.py + +David 11 Jan 2010 + - API: if app can't acquire lock file, tell the client not + to restart app for 10 minutes. + Hopefully what will happen is: + - another instance of app is running in slot dir + (shouldn't happen, but sometimes does) + - that app will eventually finish, and will write + a checkpoint file saying so. + It will call boinc_finish(0), but the client won't notice + that it has exited. + - the next time the client starts the app, + it will acquire lock, see that it's done, + and call boinc_finish(0). + This time the client will notice, + and the job will be reported as correct. + The downside to all this is that the client won't know + that the CPU is in use, and will schedule NCPUS jobs. + + api/ + boinc_api.cpp + +Charlie 12 Jan 2010 + - client sandbox: set LD_LIBRARY_PATH and DYLD_LIBRARY_PATH in switcher. + For unknown reasons, the these 2 environment variables are not + passed in to switcher, though all other environment variables do get + propagated. + + client/ + switcher.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Bernd 12 Jan 2010 + - file_deleter: + - Limit the number of files to be deleted in one 'antique + deletion' pass to 50000 (can be changed with -delete_antiques_limit). + Previously large number of antiques led to not deleting any at all. + - Allow to change the interval between passes with -delete_antiques_interval. + - Allow to specify the name of an application instead of the appid. + + sched/ + file_deleter.cpp + +David 12 Jan 2010 + - client: add config option; + sends the first rather than last 64KB of stderr to server. + This doesn't belong here; this choice should come from the server. + I may take this out later. + - user web: when add a private message, always add a notification + + client/ + app_control.cpp + log_flags.cpp,h + html/ + inc/ + news.inc + pm.inc + project.sample/ + project.inc + user/ + edit_form_preferences_form.php + rss_main.php + lib/ + util.cpp + +David 12 Jan 2010 + - manager: "Notifications" => "Notices". Consistent terminology. + + clientgui/ + Events.h + AdvancedFrame.cpp + Makefile.am + ViewNotifications* -> ViewNotices* + +David 12 Jan 2010 + - client: small tweak to work fetch: + if project has crazy DCF, don't automatically request 1 sec; + only request work if there's a shortfall. + - intermediate checkin for notices stuff + + client/ + Makefile.am + work_fetch.cpp + html/ + inc/ + forum_rss.inc + notify.inc + pm.inc + user/ + notices.php (new) + sched + handle_request.cpp + sched_types.cpp,h + +David 12 Jan 2010 + - Notices: put message bodies inside CDATA + - XML_PARSER: handle CDATA + + client/ + cs_notice.cpp,h + lib/ + notice.cpp + parse.cpp,h + +Charlie 13 Jan 2010 + - MGR: The fix of 14 Oct 2009 for "initial first connection problem on + startup" caused the Tools menu to be incorrect when switching from + Simple to Advanced View if using an account manager: solve this by + calling pDoc->IsConnected() in CAdvancedFrame::CreateMenu() instead + of using bool argument bRPCsSafe. Remove unused bRPCsSafe arg from + CAdvancedFrame::CreateNotebook(), CAdvancedFrame::CreateStatusbar(). + - Mac: Update XCode project for ViewNotifications* -> ViewNotices*. + + clientgui/ + AdvancedFrame.cpp, .h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 13 Jan 2010 + - server: client version numbers are represented as + 10000*major + 100*minor + release, + rather than 100*major + minor. + Sometimes you need release-level resolution. + This affects: + - app_version.min_core_version + - config: min_core_client_version_announced + - config: min_core_client_version + Projects using these must multiply them by 100. + + html/inc/ + notify.inc + forum_rss.inc + sched/ + sched_types.cpp,h + sched_send.cpp + handle_request.cpp + +David 13 Jan 2010 + - scheduler: close DB connection on SIGTERM (from Bernd M.) + + sched/ + sched_main.cpp + +David 13 Jan 2010 + - manager: in Notices tab, direct links to default web browser + + clientgui/ + ViewNotices.cpp,h + +Rom 14 Jan 2010 + - MGR: Use an event handler, the function overload is deprecated. + + clientgui/ + ViewNotices.cpp,h + +David 15 Jan 2010 + - web DB code: fix PHP warning when enumeration returns nothing. + From Nicolas. fixes #974 + - client: tiny code shuffle + + client/ + work_fetch.cpp + cpu_sched.cpp + html/inc/ + db_conn.inc + +David 15 Jan 2010 + - user web: make a bunch of strings translatable (from Nicolas) + + html/ + inc/ + pm.inc + user.inc + util.inc + user/ + language_select.php + edit_passwd_form.php + edit_email_form.php + locale/templates/ + BOINC-Project-Generic.pot + +Charlie 16 Jan 2010 + - Mac Installer: fix bug launching client when configured as a service. + + mac_installer/ + PostInstall.cpp + +David 17 Jan 2010 + - scheduler/feeder: if any client version number field + (min_core_version etc.) is < 10000, + multiply it by 100 and print a warning. + + sched/ + sched_config.cpp + sched_send.cpp + sched_shmem.cpp + handle_request.cpp + +Rytis 18 Jan 2010 + - user web: do SQL escaping before storing prefs in the database as some + projects store user-editable strings in the preferences. + + html/inc/ + prefs.inc + +David 18 Jan 2010 + - scheduler: use COPROC_REQ instead of COPROC when parsing + anonymous-platform app versions. + Otherwise fractional GPU requirements get truncated to zero. + Thanks to Crunch3r for identifying the problem. + + sched/ + sched_types.cpp + +David 18 Jan 2010 + - API: fix crashing bug. Don't memset(0) APP_INIT_DATA; + it contains HOST_INFO, which now contains COPROCS, + which has a vector. + Define a clear() for APP_INIT_DATA. + + lib/ + app_ipc.cpp,h + +David 18 Jan 2010 + - client: initial checkin for "don't compute if CPU usage above X" + + client/ + app.cpp,h + coproc_detect.cpp + cs_prefs.cpp + lib/ + common_defs.h + procinfo_win.cpp + win_build/ + libboinc.vcproj + +David 18 Jan 2010 + - client and user web: finish the above. + Should add the Adv Prefs dialog as well. + + client/ + cs_prefs.cpp + html/inc/ + prefs.inc + lib/ + prefs.cpp,h + +Rom 19 Jan 2010 + - lib: Don't allow the diagnostics threads to be suspended. + If a crash happens within the remaining threads + the process will deadlock. + + lib/ + diagnostics.h + diagnostics_win.cpp + win_util.cpp + +David 19 Jan 2010 + - API: fix crashing bug. There was a leftover memset(aid, 0) + in boinc_parse_init_data_file() + - client sim: make it work again + + api/ + boinc_api.cpp + client/ + sim.cpp + sim_util.cpp + +David 19 Jan 2010 + - web: translation fix from Nicolas: + "There is a bug in tra() that causes problems if one of the arguments + contains a replacement marker itself. For example, if the first + argument contains an encoded URL, which contains '%2', the second + argument may appear in the middle of the URL." + - client simulator: further fiddling around. Not done. + + html/inc/ + translation.inc + client/ + sim.cpp + work_fetch.cpp + cpu_sched.cpp + +David 19 Jan 2010 + - client simulator: done for now + + client/ + sim.cpp + rr_sim.cpp + +David 19 Jan 2010 + - client: brute-force attempt at eliminating domino-effect preemption: + if job A is unstarted and EDF, + and there's a job B that is later in the list, + is started, has the same app version, + and has the same arrival time, + move A after B. + - client: remove the "temp_dcf" mechanism, + which had the same goal but didn't work. + - client: in computing overall debt for a project, + subtract a term that reflects pending work. + This should reduce repeated fetches from the same project. + - client simulator: tweaks + + client/ + client_types.h + cpu_sched.cpp + rr_sim.cpp + sim.cpp,h + sim_util.cpp + work_fetch.cpp,h + html/user/ + language_select.php + +Charlie 21 Jan 2010 + - MGR: Implement Mac accessibility for Event Log. + + clientgui/ + BOINCListCtrl.h + DlgEventLogListCtrl.cpp, .h + mac/ + MacAccessiblity.cpp, .h + +Bernd 21 Jan 2010 + - lib: Updated Makefile.mingw to include coproc.cpp/h + + lib/ + Makefile.mingw + +Charlie 22 Jan 2010 + - Mac Sandbox: To keep authenticators private, make all .xml files readable + only by user and group boinc_master; except ss_config.xml is world- + readable so screensaver coordinator can access it. All other files + except gui_rpc_auth.cfg are world-readable to allow access by + screensavers. + + clientgui/ + mac/ + SetupSecurity.cpp + mac_build/ + Mac_SA_Secure.sh + +Bernd 22 Jan 2010 + lib: add cal.h to install headers + + lib/ + Makefile.am + +David 22 Jan 2010 + - user web: clean up LANG_NAME_* mess + + html/ + ops/ + build_po_boinc.php + user/ + language_select.php + +David 22 Jan 2010 + - DB purge: allow fractional min_age_days (from Travis Desell) + + sched/ + db_purge.cpp + transitioner.cpp + +David 22 Jan 2010 + - user web: don't show "database error" if result refers + to deleted app version + + client/ + app_start.cpp + html/inc/ + result.inc + sched/ + transitioner.cpp + +David 25 Jan 2010 + - transitioner: fix bug where WUs with error_mask <> 0 keep + transitioning every 10 days, hence never become eligible for purging. + The problem: the transitioner has a "safety net" where, + if the WU doesn't have a canonical result, + it arranges for another transition in 10 days. + Skip this if error_mask<>0. + + sched/ + transitioner.cpp + +David 25 Jan 2010 + - client: when launching app, delete init_data.xml using switcher + prior to trying to write it, + in case it's owned by another user (e.g., boinc_project) + + client/ + app_start.cpp + +David 26 Jan 2010 + - client/manager: eliminate duplicate notices. + When appending a new notice, we check whether one with + the same title and description is present already. + If so we remove one or the other, depending on the situation. + + This introduces the possibility of "holes" in the seqno space. + In order that the manager learns of these deletions, + we use the following mechanism: + whenever a notice is removed (because it's a dup or too old) + a flag is set in each GUI_RPC_CONN. + On the next get_notice() RPC, the client returns the entire + list of notices, preceded by a dummy notice with seqno=-1; + this tells the RPC stub function to replace the current list + rather than appending to it. + + client/ + client_msgs.cpp + cs_notice.cpp,h + gui_rpc_server.h + gui_rpc_server_ops.cpp + samples/multi_thread/ + multi_thread.cpp + +David 26 Jan 2010 + - web: assume all translation files are UTF-8 + + html/ + inc/ + util.inc + ops/ + build_po_boinc.php + user/ + sample_index.php + +Charlie 26 Jan 2010 + - Mac Sandbox: The init_data.xml file in each slot directory also contains + an authenticator; to keep these private, change ownership of the "slots" + directory to boinc_master:boinc_project and eliminate read and execute + permissions of this directory for "other". For consistency, make the + same changes to the "projects" directory. The individual slot and + project directories are still world-executable and they and their + contents are still world-readable, so the Client can still read files + created by project apps with ownership boinc_project:boinc_project. + - NOTE: I believe this should not cause any problems for either BOINC or + project applications, but it needs to be tested thoroughly. + + client/ + check_security.cpp + file_names.cpp + clientgui/ + mac/ + SetupSecurity.cpp + doc/ + sandbox.php + mac_build/ + Mac_SA_Insecure.sh + Mac_SA_Secure.sh + +Charlie 27 Jan 2010 + - MGR: Fix minor bugs in Mac accessibility reporting kAXWindowAttribute and + kAXTopLevelUIElementAttribute. + + clientgui/ + mac/ + MacAccessiblity.cpp + +David 27 Jan 2010 + - client: fix small bug that could interfere with work fetch + on hosts with both NVIDIA and ATI GPU + + client/ + work_fetch.cpp + +David 27 Jan 2010 + - client: fix work fetch bug that prevented getting work + from an overworked project, + even if idle instance or major shortfall. + - GUI RPC: finish the notice-duplication thing + + client/ + work_fetch.cpp,h + lib/ + gui_rpc_client_ops.cpp + +David 27 Jan 2010 + - client: remove debug msgs + + client/ + app.cpp + +David 28 Jan 2010 + - client: if a project has zero resource share, + treat it as a "backup project": + fetch work from it only if there is an idle instance + and no other projects have work. + + client/ + acct_mgr.cpp + client_types.cpp,h + rr_sim.cpp + work_fetch.cpp + +Charlie 28 Jan 2010 + - Mac Sandbox: SetupAuthorizationExecuteWithPrivileges() forks to run chmod and chown, + leaving zombie processes which can exceed the system-imposed limit of processes + MAXUPRC for a user. Call waitpid() to clear these zombies. + - Mac Sandbox: fix comment in Mac_SA_Secure.sh script. + + clientgui/ + mac/ + SetupSecurity.cpp + mac_build/ + Mac_SA_Secure.sh + +David 28 Jan 2010 + - client: fix my last checkin + + client/ + client_types.cpp + cs_statefile.cpp + +David 29 Jan 2010 + - user web: allow zero resource share + - client: allow zero resource share + + apps/ + upper_case.cpp + html/inc/ + prefs.inc + client/ + work_fetch.cpp + makefile_sim + +David 29 Jan 2010 + - user web: if Akismet rejects thread reply, show warning + + html/user/ + forum_reply.php + +David 30 Jan 2010 + - manager: move Preferences and Options to Task menu. + Give them more descriptive names. + Clean up mnemonics + + clientgui/ + AdvancedFrame.cpp + +David 1 Feb 2010 + - graphics API: if font missing, find one that isn't (from Kevin) + + api/ + txf_util.cpp + +Charlie 2 Feb 2010 + - ss_app: Allow branding for GridRepublic by compiling with -D_GRIDREPUBLIC on + non_apple systems and by testing Branding file on Macs. + - ss_app: Add a high-resolution background GridRepublic logo. + - Mac Installer: update script for new gridrepublic_ss_logo.jpg file, etc. + - Mac Installer: add .txt extension to copyright files in GUI installer extras. + + clientscr/ + ss_app.cpp + res/ + gridrepublic_ss_logo.jpg + mac_installer/ + make_GridRepublic.sh + make_ProgThruProc.sh + release_boinc.sh + +David 2 Feb 2010 + - scheduler: don't send CUDA jobs to Macs with client < 6.10.28; + they'll crash. + + sched/ + sched_customize.cpp + +Rom 2 Feb 2010 + - client: newer ATI drivers crash if struct_size isn't filled out + before the structure is used. + + client/ + coproc_detect.cpp + +Charlie 2 Feb 2010 + - Mac SS: look for Branding file in BOINC Data folder before the one in Manager + to avoid confusion if newer copies of BOINC Manager exist elsewhere on system. + (This is primarily for convenience in debugging on build system) + + clientscr/ + mac_saver_module.cpp + +David 3 Feb 2010 + - client: if GPU get available RAM fails, don't use the GPU + - web: put $languages_in_use into $GLOBALS. + Apparently it can't be referenced as a global in Drupal otherwise + + client/ + client_types.cpp + html/inc/ + tranlsation.inc + +David 4 Feb 2010 + - web: code shuffle for Drupal + + html/ + inc/ + host.inc + stats_sites.inc + user/ + hosts_user.php + +David 4 Feb 2010 + - web: Drupal stuff + + html/ + drupal/ + home + view_profile + hosts_user + inc/ + user.inc + user/ + home.php + +David 4 Feb 2010 + - scheduler: add example code for SETI@home's situation + where app has both GPU and CPU versions, + but for certain jobs (VLAR WUs in this case) + the GPU version performs poorly and shouldn't be used. + + The fix is a kludge - it will result in these jobs + not being sent to the host at all, + rather than being sent with the CPU app. + The current architecture makes it difficult to do otherwise. + One possible fix would be to create a separate app + for VLAR jobs, with only CPU app versions. + + sched/ + sched_customize.cpp + +Charlie 4 Feb 2010 + - Mac Installer: when adding non-admin users to group boinc_master, also add + them to group boinc_project; this fixes permissions error -1200 for non- + admin users; show "Please wait" alert if WaitPermissions takes > 15 seconds. + + client/ + check_security.cpp + mac_installer/ + AddRemoveUser.cpp + PostInstall.cpp + WaitPermissions.cpp + +David 4 Feb 2010 + - web: fix bug that caused news RSS to show wrong items + + html/inc/ + forum_rss.inc + +Rom 5 Feb 2010 + - WINSCR: cleanup configuration dialog text. + + clientscr/ + boinc_ss.rc + +Rom 5 Feb 2010 + - MGR: Enable task bar icon on Linux. + + clientgui/ + AsyncRPC.cpp + BOINCBaseFrame.cpp + BOINCGUIApp.cpp + +Rom 5 Feb 2010 + - MGR: Move cross-platform event handlers for creating context menus and updating + tooltips out of the Windows only scope. + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 5 Feb 2010 + - MGR: Fix build break by adjusting the SetIcon function prototype so that it conforms + to the wxWidget standard. + + clientgui/ + BOINCTaskBar.cpp, .h + clientgui/msw/ + taskbarex.cpp, .h + +Rom 5 Feb 2010 + - MGR: Change the 'Open BOINC Manager' menu item ID for the task bar icon. wxID_OPEN + causes a folder icon to be prepended to the menu item on Linux. + - MGR: Enable the Test Notification menu item on Linux + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 6 Feb 2010 + - MGR: Introduce balloons to Linux version of BOINC Manager. + (Note: Not debugged yet) + + clientgui/ + BOINCTaskBar.cpp, .h + Makefile.am + clientgui/gtk/ + taskbarex.cpp, .h + clientgui/msw/ + taskbarex.cpp, .h + +David 6 Feb 2010 + - parsing of platforms from WCG's get_project_config.php was wrong + + doc/ + get_platforms.inc + +David 7 Feb 2010 + - web: make a bunch of strings translatable (from Christian Beer) + fixes #977 + + html/ + inc/ + result.inc + user/ + workunit.php + result.php + +David 7 Feb 2010 + - more tra()s from Christian. fixes #976 + + html/user/ + user_search.php + +Rom 8 Feb 2010 + - client: detect CPU information via the cpuid instruction instead of + the registry. This change is only for Windows but I haven't tested + this with GCC. + + client/ + hostinfo_win.cpp + +Charlie 8 Feb 2010 + - MGR: Fix build breaks and potential crashes from recent task bar changes. + - Mac SS: change configuration dialog text to match new Windows wording. + + clientgui/ + BOINCBaseFrame.cpp + BOINCTaskBar.cpp, .h + clientscr/ + res/ + BOINCSaver.nib + +David 9 Feb 2010 + - client: undo [17160]. 0 in cc_config.xml + no longer means simulate zero CPUs. + There are several places that divide by ncpus. + Zero CPUs doesn't make any sense anyway. + + client/ + cpu_sched.cpp + work_fetch.cpp + +Rom 9 Feb 2010 + - client: some more CPU detection cleanup. + + client/ + hostinfo_win.cpp + +Charlie 10 Feb 2010 + - Mac installer: If installing an acct_mgr_url.xml file, don't install it + directly into the BOINC Data directory. Instead, put it into the + installer's resources and have the postinstall or postupgrade script + copy it to the BOINC Data directory. This fixes a problem which would + happen if the user later ran the standard BOINC installer without an + acct_mgr_url.xml file: the Apple installer would then delete the file, + causing BOINC to detach from the account manager. + + mac_installer/ + make_GridRepublic.sh + make_ProgThruProc.sh + postinstall + postupgrade + +Charlie 10 Feb 2010 + - Mac Installer: Fix receipt name for GridRepublic installer so we can remove it. + + mac_installer/ + PostInstall.cpp + +Rom 10 Feb 2010 + - build: Attempt to hook up the gtk flags and libs to BOINC Manager + + / + configure.ac + clientgui/ + Makefile.am + +Rom 10 Feb 2010 + - MGR: Move GTK structures out of the class scope. + + clientgui/gtk + taskbarex.cpp, .h + +Rom 10 Feb 2010 + - build: replace gtk flags and libs with libnotify + + / + configure.ac + clientgui/ + Makefile.am + +Rom 10 Feb 2010 + - MGR: Add some debugging to the notification code + + clientgui/gtk + taskbarex.cpp, .h + +Rom 10 Feb 2010 + - MGR: Re-enable the test notification mechanism so + that it is compatible with Linux. + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 10 Feb 2010 + - MGR: Re-enable the context menu support mechanism so + that it is compatible with Linux. + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 10 Feb 2010 + - MGR: Fill in missing pieces to get the notification + handler to signal us when a notification has closed. + + clientgui/gtk + taskbarex.cpp, .h + +Rom 10 Feb 2010 + - MGR: Over half of the information on the Internet about + libnotify is now out of date. The 'closed-reason' + property has been removed and that is why I was having + so many problems. Hook up the events I can determine + from the remaining information. + + clientgui/gtk + taskbarex.cpp, .h + +Rom 10 Feb 2010 + - MGR: Re-enable the balloon context click event handler + for Linux. + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 10 Feb 2010 + - MGR: The Linux notification area doesn't report when mouse + activity happens over the notification icon, so merge the + OnMouseMove event handler with the OnRefresh event handler + so we have the correct tooltips. + + clientgui/ + BOINCTaskBar.cpp, .h + +Rom 10 Feb 2010 + - MGR: Another place that interacts with the taskbar but was + included only if compiled for Windows or the Mac. + + clientgui/ + AsyncRPC.cpp + MainDocument.cpp + +Rom 10 Feb 2010 + - MGR: Only notify the OS of a change in the notification area + if something has changed, otherwise don't update. + + clientgui/ + BOINCTaskBar.cpp, .h + +David 11 Feb 2009 + - client: if a project is anonymous platform and it has no + app versions that use a resource, + don't request work from it for that resource. + + client/ + work_fetch.cpp,h + client_state.cpp + html/inc/ + prefs.inc + +Charlie 11 Feb 2010 + - Mac: Update build script for OS 10.6 and XCode 3.2 (thanks to Jack + Shultz for pointing out this was needed.) + + mac_build/ + BuildMacBOINC.sh + +Charlie 11 Feb 2010 + - MGR: Mac Taskbar does not support tooltips, so exclude tooltip code on Macs. + + clientgui/ + BOINCTaskBar.cpp + +David 13 Feb 2010 + - web: make strings translatable. fixes #980 + + html/user + edit_user_info_form/action.php + +David 14 Feb 2010 + - client: include CPU usage of client in BOINC total. + Also include manager if its name includes "boinc" + (can't figure out another way) + + lib/ + procinfo*.cpp + +David 14 Feb 2010 + - web: more translations, from Christian. fixes #981 + + html/ + inc/ + prefs.inc + user/ + prefs_remove.php + prefs.php + prefs_edit.php + add_venue.php + +Charlie 15 Feb 2010 + Mac wrapper: add build script and make file to buuild wrapper on Mac. + + samples/ + wrapper/ + BuildMacWrapper.sh + Makefile_mac + +David 15 Feb 2010 + - web: more translations, from Christian. fixes #982 + + html/various + +Charlie 16 Feb 2010 + - Samples: Update MakeMacExample.sh and Mac make files in example_app for + OS 10.6 and XCode 3.2. + + samples/ + example_app/ + Makefile_mac + Makefile_mac2 + MakeMacExample.sh + +David 16 Feb 2010 + - manager: first whack at "suspend if CPU load exceeds x" in dialog + clientgui/ + DlgAdvPreferences* + html/ops/ + cancel_wu_action.php + +David 16 Feb 2010 + - screensaver: fix bug where sometimes no tasks are shown; + change font sizes for max of 2 sizes at a time + + clientscr/ + ss_app.cpp + +Rom 16 Feb 2010 + - MGR: Fix icons for dialogs that display them. + + clientgui/ + DlgEventLog.cpp + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + +David 17 Feb 2010 + - db_dump: don't error out if try to rename output dir + and it doesn't exist. + Seems to me that this would cause db_dump to always fail + for new projects. + + sched/ + db_dump.cpp + +David 17 Feb 2010 + - web: fix typo + + html/inc/ + prefs.inc + +David 18 Feb 2010 + - assimilator: fix --one_pass bug (from Bernd) + + sched/ + assimilator.cpp + +David 18 Feb 2010 + - client: don't accumulate LTD for projects w/ suspended jobs + + client/ + work_fetch.cpp + +David 18 Feb 2010 + - wrapper: print more detailed msgs if process creation fails + + samples/wrapper/ + wrapper.cpp + +Rom 18 Feb 2010 + - locale: automatically update each language based on whatever the + new template has. + + locale/ + updatetrans.sh + +David 18 Feb 2010 + - various components: fix inconsistencies in how user names + and team names are represented. + In particular, edit_user_info_action.php was using + htmlentities() on names; this led to double-encoding. + + The new rules: + 1) no HTML tags allowed in either one. + This is enforced silently, using strip_tags() + 2) names are stored in the DB exactly as entered. + They may contain chars like & and >. + They may contain non-ASCII characters + (use UTF-8 if you want them displayed correctly). + None of these are not escaped. + 3) When the names are put in XML + (e.g. in scheduler reply or db_dump output) + they are XML-escaped. + This escapes <, &, and non-ASCII chars + 4) The client leaves them in this form, + and writes them that way in GUI RPCs + and init_data.xml files. + 5) The parsing of GUI RPC replies and init_data.xml files + XML-unescapes them. + + html/ + inc/ + user.inc + user/ + edit_user_info_action.php + lib/ + app_ipc.cpp + gui_rpc_client_ops.cpp + +David 18 Feb 2010 + - API: in txfRenderString, replace non-ASCII chars with ?. + Otherwise it calls abort()! + + api/ + texfont.cpp + +David 18 Feb 2010 + - client: fix bug in "suspend if CPU load too high" feature. + Forgot to convert between fraction and percentage + + client/ + app.cpp + cs_prefs.cpp + log_flags.cpp + +David 19 Feb 2010 + - web: translation stuff + html/ + inc/ + result.inc + user/ + prefs.php + +David 20 Feb 2010 + - admin web: a project must provide an .htaccess file + or an auth_ops() function (not necessarily both). + New projects are given an .htaccess file with no .htpasswd, + so they must either create a .htpasswd file + or define auth_ops() in order to use admin web pages. + + tools/ + make_projects + html/ + project/ + sample_project.inc + inc/ + util_ops.inc + +Rom 23 Feb 2010 + - client: Add a function to the client software to be able to detect + the number of bytes sent and received across all non-loopback + interfaces. + + client/ + hostinfo_win.cpp + +David 23 Feb 2010 + - web: translation typo + html/user/ + team_forum.php + +Charlie 25 Feb 2010 + - MGR: Fix a long-standing bug that made sizers fail on Mac for Advanced + Preferences dialog: I added bSizer1->Fit(this) to end of constructor. + To work around this bug, the dialog had been made resizeable and the + height and width were saved in the Manager settings. But this meant + that when we add an item to the dialog, it is too small until the + user expands it. And Modal dialogs like this should not be resizeable. + I also made the dialog no longer resizeable by the user. + + clientgui/ + DlgAdvPreferences.cpp + DlgAdvPreferencesBase.cpp, .h + +Rom 25 Feb 2010 + - WIN: Add some missing CPU features to the feature list + - WIN: Make sure the Brand string for a CPU is printable. Older Intel + processors have some control characters. + + client/ + hostinfo_win.cpp + +Charlie 26 Feb 2010 + - MGR: Save and restore height and width of Properties dialog; fix comments. + + clientgui/ + DlgAdvPreferences.cpp + DlgItemProperties.cpp, .h + +Charlie 26 Feb 2010 + - MGR: Implement lost features from old messages display in Event Log: + filtering by project (show only this project), dimming Event Log + display when disconnected; alternating gray and white background + stripes for readability. + + clientgui/ + DlgEventLog.cpp, .h + MainDocument.cpp + +Rom 26 Feb 2010 + - client: Add SEH handlers around the Nvidia and ATI detection + routines. Take care of situations where something within + the vendors functions cause a crash. + + client/ + coproc_detect.cpp + +David 26 Feb 2010 + - admin web: reorganize main page; + add "transition all" command + + db/ + boinc_db.h + html/ops/ + index.php + manage_apps.php + job_times.php + manage_app_versions.php + clear_host.php + transition_all.php + +David 26 Feb 2010 + - scheduler: add plan class "cuda_fermi": + requires CUDA 2.3 and compute capability 2.0+ + + sched/ + sched_customize.cpp + +David 26 Feb 2010 + - client: if suspend a file xfer, set upload_offset to -1; + that way it will query server for file length when it resumes, + rather than uploading from the beginning + - client: back out SEH handling for GPU detection + client/ + coproc_detect.cpp + file_xfer.cpp + pers_file_xfer.cpp + +David 27 Feb 2010 + - client: if have coproc jobs but coproc is missing, + skip those jobs in RR sim. + Otherwise we add stuff to uninitialized data structures, + and a crash can result. + - client: initialize the above data structures anyway + + client/ + work_fetch.cpp + rr_sim.cpp + +David 27 Feb 2010 + - client: fix bug that interfered with work fetch + for particular resources in anonymous platform case. + + client/ + work_fetch.cpp + +David 1 Mar 2010 + - server: if MySQL version is 5.0.19 <= v < 5.1, + set the reconnect option before real_connect() instead of after. + From Oliver Bock. + + db/ + db_base.cpp + sched/ + sched_customize.cpp + client/ + cpu_sched.cpp + +Rom 1 Mar 2010 + - client: Improve error checking with CPU detection features. + - lib: cleanup some warnings. + + client/ + hostinfo_win.cpp + lib/ + str_util.h + +David 1 Mar 2010 + - client: if suspending apps because of CPU benchmarks, + leave them in memory + + client/ + app.h + app_control.cpp + cs_prefs.cpp + +Charlie 2 Mar 2010 + - MGR: Fix more Event Log bugs: Exit from taskbar closes Event Log just + like exit from regular menu; enable and disable Copy Selected and Filter + buttons depending on selected messages; fix misplaced curly bracket in + CMainDocument::RunPeriodicRPCs() which caused excessive CPU usage and + other problems. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseFrame.cpp + BOINCTaskBar.cpp + DlgEventLog.cpp, .h + MainDocument.cpp + +Charlie 2 Mar 2010 + - MGR: Keep getting messages even if the Event Log is not open; otherwise + some may be lost due to the limited size of the client's buffer, + causing gaps when the Event Log is later opened. + + clientgui/ + MainDocument.cpp + +Rom 2 Mar 2010 + - client: Add missing European SKUs to the host detection code. + (from: Robert Kreß) + + client/ + hostinfo_win.cpp + +David 2 Mar 2010 + - API: Win: resume other threads before exiting from timer thread. + Attempt to fix E@h bug. + - client: fix messages: asking for X instances doesn't mean + that X instances are idle + + api/ + boinc_api.cpp + client/ + scheduler_op.cpp + +David 2 Mar 2010 + - add remote job submission system (from Toni Giorgino) + + rboinc/* + +David 2 Mar 2010 + - client: generalize the GUI RPC mechanism to access via HTTP. + The handler checks for POST headers, + and if present adds a reply header. + Also: remove the restriction that request messages + must be read in their entirety on the first recv(). + + I'm testing this using javascript's XMLHttpRequest. + It's not completely working; + the browser sends an OPTIONS request, then sends a POST. + The BOINC client parses and replies to these, + but for some reason the browser doesn't seem to be + parsing the POST reply. + + client/ + gui_rpc_server.cpp,h + gui_rpc_server_ops.cpp + +Charlie 2 Mar 2010 + - MGR: Save & restore size information of properties dialogs separately + for project and task property dialogs, also save and restore dialog + positions on Mac. + + clientgui/ + DlgItemProperties.cpp, .h + +Rom 3 Mar 2010 + - MGR: Use theme colors when setting up the color scheme for list items. + The previous use of gray just happened to be the same color as the + deselected but highlighted list item which caused the 'gray' + backgrounded items to display a white background after Windows + inverted the color for highlighting. By using theme colors we avoid + having to worry about such things. + + clientgui/ + BOINCBaseView.cpp + DlgEventLog.cpp + +David 3 Mar 2010 + - scheduler: code cleanup: goto considered harmful + - scheduler: when calculate scheduler runtime, + don't include the part reading request msg from client. + That can be misleadingly long + + sched/ + sched_array.cpp + handle_request.cpp + sched_resend.cpp + +Rom 3 Mar 2010 + - client: more Windows SKU detection changes + (from: [P3D] Crashtest) + + client/ + hostinfo_win.cpp + +David 3 Mar 2010 + - scheduler: cuda_fermi class needs CUDA version 3.0+ + - boinccmd: "result" -> "task" + + sched/ + sched_customize.cpp + lib/ + gui_rpc_client_print.cpp + client/ + boinc_cmd.cpp + +David 3 Mar 2010 + - update_versions: if file is already in download dir, + and is the same, don't copy (it might not be writeable) + - client: change "result" to "task" in user-visible messages + + py/Boinc/tools.py + client/ + client_state.cpp + cs_scheduler.cpp + +David 3 Mar 2010 + - web: fix bug that caused "send email" and "show hosts" + in project prefs to always select "no" + + html/inc/ + prefs.inc + +Charlie 4 Mar 2010 + - MGR: Instead of alternating gray and white backgrounds in lists, + create CBOINCListCtrl and CDlgEventLogListCtrl with wxLC_HRULES + flag. This avoids theme color conflicts with our backgrounds. + It also eliminates the need to set item attributes in the views, + since the default attribute setting already uses theme colors. + (We still use item attributes in the Event Log to list + error messages in red text.) + + clientgui/ + BOINCBaseView.cpp,.h + BOINCListCtrl.cpp, .h + DlgEventLog.cpp + +Charlie 4 Mar 2010 + - MGR: in Event Log: enable and disable Copy Selected and Filter buttons + immediately when selecting or deselecting items; fix Mac-only bug + drawing selected items when Event Log window is inactive. + + clientgui/ + DlgEventLog.cpp, .h + DlgEventLogListCtrl.cpp, .h + +Rom 4 Mar 2010 + - MGR: Remove some hacks to deal with early wxGTK bugs which have since + been fixed. + + clientgui/ + AdvancedFrame.cpp + Events.h + +Rom 4 Mar 2010 + - MGR: Restore wxGTK hacks, bug is still alive and well. + + clientgui/ + AdvancedFrame.cpp + Events.h + +David 4 Mar 2010 + - client: don't start new network activity if CPU benchmarks in progress + + client/ + client_state.cpp + +Charlie 4 Mar 2010 + - MGR: Allow compile-time choice of either rules or alternating gray and white + background stripes in lists by defining EVENT_LOG_STRIPES (in DlgEventLog.h) + and BASEVIEW_STRIPES (in BOINCBaseView.h) to 0 for rules or 1 for stripes. + + clientgui/ + BOINCBaseView.cpp,.h + BOINCListCtrl.cpp, .h + DlgEventLog.cpp, .h + DlgEventLogListCtrl.h + +Bernd 5 Mar 2010 + include sys/types.h for gid_t + + lib/ + filesys.h + +Bernd 5 Mar 2010 + for now maintain (install, uninstall) header files in both BOINC/ and boinc/ + (BOINC/ kept for compatibility, shall be dropped at some point later) + + lib/ + Makefile.mingw + +Bernd 5 Mar 2010 + fix to compile boinc_api.cpp on Windows + looks like copy/paste error, retval is not defined there + David, please review & change if necessary + + api/ + boinc_api.cpp + +David 5 Mar 2010 + - client: revisit the domino-effect preemption problem. + Removed my changes of 19 Jan 2010, which didn't work. + Added new mechanism: keep track of whether a job J has ever run in EDF. + If so, and if another job of the same project and resource type as J + is marked as deadline miss, then mark J as deadline miss, + so that it won't get preempted. + - web: change "result" to "task" in server status page + - admin web: show server stable SVN revision, not trunk + + html/ops/ + index.php + sample_server_status.php + client/ + client_types.h + app.cpp,h + cpu_sched.cpp + +David 5 Mar 2010 + - server: major improvements to locality scheduling from Einstein@home. + Triggering the work generator is now done via the DB + instead of flat files. + + Since only E@h uses locality scheduling, + I kept the DB changes in a separate file (db/schema_locality.sql). + There's a new field in the workunit table, + and that's a required update (in db_update.php) + - manager: compile fix + + clientgui/ + DlgEventLog.h + db/ + boinc_db.cpp,h + schema.sql + schema_locality.sql + sched/ + sched_locality.cpp + Makefile.am + html/ops + db_update.php + lib/ + Makefile.am + +David 6 Mar 2010 + - web RPC: generalize team lookup so that you can look up multiple + teams in one RPC. From Willy de Zutter. + + html/user/ + team_lookup.php + +David 8 Mar 2010 + - server credit stuff (partial checkin) + + db/ + boinc_db.h + schema.sql + sched/ + credit_test.cpp + lib/ + average.cpp,h + Makefile.am + +David 9 Mar 2010 + - server credit stuff. + New policy: anon platform and old platform jobs + get average credit, possibly scaled by elapsed time. + We no longer attempt to guess what app version produced them. + + db/ + boinc_db.h + schema.sql + sched/ + credit_test.cpp + lib/ + average.cpp,h + +David 9 Mar 2010 + - client: if a GPU job is blocked on available mem, + don't fetch more jobs for that resource type + + db/ + boinc_db.h + sched/ + credit_test.cpp + client/ + client_types.cpp,h + work_fetch.cpp + cpu_sched.cpp + +David 10 Mar 2010 + - client: don't suspend non-CPU-intensive jobs because of CPU load + + lib/ + common_defs.h + client/ + gui_rpc_server_ops.cpp + cs_prefs.cpp + time_stats.cpp + app_control.cpp + +Charlie 10 Mar 2010 + - MGR: Improve performance when reducing number of rows in lists (as + when selecting "Show active tasks") by calling ClearSelections() + and SetItemCount() instead of repeatedly calling DeleteItem(). + + clientgui/ + BOINCBaseView.cpp + +David 10 Mar 2010 + - credit test program: create a data file separately so you + don't have to do a big DB query each time + + sched/ + credit_test.cpp + html/ops/ + credit_test.php + +Charlie 11 Mar 2010 + - MGR: Fix a bug which caused unnecessary demand RPCs on some platforms: + set RPC time stamps to 1 rather than 0 in RefreshRPCs() so a not to + trigger initialization code. + + clientgui/ + MainDocument.cpp + +Rom 11 Mar 2010 + - MGR: Prevent flicker and lack of display by using the regular tooltip + for the Project List control on Windows. + + clientgui/ + ProjectListCtrl.cpp, .h + +David 11 Mar 2010 + - credit test program: + It's working pretty well; for S@h, new credit is 56% of old credit, + whether or not we include small-credit jobs. + - improve AVERAGE class (from John McLeod) + sched/ + credit_test.cpp + lib/ + average.cpp,h + +Charlie 11 Mar 2010 + - MGR: Fix to my previous checkin: RefreshRPCs() shouldn't change time stamp + if it was zero, as this is a special vslue to indicate the RPC has never + been called. + + clientgui/ + MainDocument.cpp + +Charlie 11 Mar 2010 + - MGR: use alternating gray and white background stripes in all lists; change + gray color to (247, 247, 247) from (240, 240, 240). Use system colors for + text. + + clientgui/ + BOINCBaseView.cpp,.h + BOINCListCtrl.cpp, .h + DlgEventLog.cpp, .h + DlgEventLogListCtrl.h + +David 11 Mar 2010 + - Manager/client: show project name with notices + + client/ + client_msgs.cpp + cs_notice.cpp,h + clientgui/ + ViewNotices.cpp + lib/ + notice.cpp + +Charlie 12 Mar 2010 + - MGR: Allow separate compile-time choice of rules and / or alternating gray + and white background stripes in lists by defining EVENT_LOG_RULES and + EVENT_LOG_STRIPES (in DlgEventLog.h) and BASEVIEW_RULES and BASEVIEW_STRIPES + (in BOINCBaseView.h); set each to 1 to enable or 0 to disable; currently all + are set to 1 for both stripes and rules in both types of lists. + + clientgui/ + BOINCBaseView.h + DlgEventLog.h + +Rom 12 Mar 2010 + - Remove BOINC_RCSID tags from source files, we are doing branching and tagging + properly. + + + +David 12 Mar 2010 + - GUI RPC: in the structures used in the C++ interface to GUI RPC, + change various std::string to char[n], to improve performance. + + NOTE: std::string should ONLY be used in cases where there is + no a priori limit on string length. + If there's a limit (e.g. because the string originates in + a fixed-size database field) always use char[n]. + + clientgui/ + sg_StatImageLoader.cpp + BOINCBaseView.cpp + sg_StatImageLoader.h + sg_ViewTabPage.h + sg_ProjectsComponent.cpp + sg_ViewTabPage.cpp + MainDocument.h + MainDocument.cpp + ViewStatistics.cpp + DlgItemProperties.cpp + ViewWork.cpp + ViewProjects.cpp + lib/ + gui_rpc_client_print.cpp + gui_rpc_client_ops.cpp + gui_rpc_client.h + client/ + boinc_cmd.cpp + +David 12 Mar 2010 + - client: we weren't marking GPU jobs as EDF-scheduled + + client/ + cpu_sched.cpp + +David 12 Mar 2010 + - server: DB update queries check that the number of affected rows is 1. + However, MySQL's default is that "affected rows" is + rows actually modified, which is not what we want. + Use the CLIENT_FOUND_ROWS option in mysql_real_connect() + to change the semantics to "rows matched". + From Oliver Bock. + + db/ + db_base.cpp + +David 12 Mar 2010 + - GUI RPC: more replacement of std::string + + clientgui/ + sg_ViewTagPage.cpp + DlgItemProperties.cpp + ViewWork.cpp + db/ + schema.sql + schema_locality.sql + sched/ + credit_test.cpp + lib/ + gui_rpc_client_print.cpp + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 15 Mar 2010 + - client: in computing non-BOINC CPU time, + exclude any process whose executable includes "boinc", case-insensitive. + Fix problem with BoincTasks.exe + NOTE: this affects only Win and Linux; + Mac already had case-insensitive comparison. + + lib/ + procinfo_unix.cpp + procinfo_win.cpp + +Charlie 16 Mar 2010 + - Mac Sandbox: Fix bug in my changes of 26 Jan 2010 to set projects directory + and slots directory to group boinc_project, not boinc_master. + + client/ + file_names.cpp + +Bernd 16 Mar 2010 + allow out-of-source-tree build & install of MinGW Makefile build + + lib/ + Makefile.mingw + +David 16 Mar 2010 + - fix bugs in strcasestr(), which apparently had never been tested + - fix typo in schema + + db/ + schema.sql + lib/ + str_util.cpp + +Rom 16 Mar 2010 + - Define HAVE_ALLOCA in boinc_win.h so that any component using + strcasestr in str_util.cpp uses stack allocations instead of + more expensive heap allocations. + - Move remaining HAVE_* defines from project files to boinc_win.h + + lib/ + boinc_win.h + win_build/ + *.vcproc + +Charlie 18 Mar 2010 + - MGR: If user selects Event Log from menu when Event Log window already open, + just bring it to the front instead of opening another window. + - lib: Fix crash bugs. + + clientgui/ + BOINCGUIApp.cpp + lib/ + gui_rpc_client_ops.cpp + +David 18 Mar 2010 + - client (and anything else using MFILE): Win efficiency fix. + Shockingly, realloc() wasn't doing exponential growth. + So create realloc_aux() that does. + + lib/ + mfile.cpp + gui_rpc_client_ops.cpp + +Charlie 19 Mar 2010 + - MGR: Switch background color for the list view stripes back to + the original color (240, 240, 240) from (247, 247, 247). + + clientgui/ + BOINCBaseView.cpp + DlgEventLog.cpp + +Rom 22 Mar 2010 + - MGR: Add event map to the properties dialog. + + clientgui/ + DlgItemProperties.cpp, .h + +David 22 Mar 2010 + - feeder: with -allapps option, allow some apps to have zero weights; + no jobs will be sent for them. + + sched/ + sched_shmem.cpp,h + feeder.cpp + +Charlie 22 Mar 2010 + - MGR: Fix crash bug when using Mac accessibility with Event Log. + + clientgui/ + DlgEventLogListCtrl.cpp, .h + +David 22 Mar 2010 + - client: fix bug where if anon platform file had bad platform name, + it would cause jobs to get discarded on client restart. + - manager: remove flicker-producing messages on status bar + + client/ + cs_statefile.cpp + clientgui/ + BOINCBaseFrame.cpp + BOINCBaseFrame.h + lib/ + mfile.cpp + +Charlie 23 Mar 2010 + - Mac SS: Fix build break due to RPC changes of std::string to char[n]. + + clientscr/ + screensaver.cpp + +David 23 Mar 2010 + - feeder: compile fix + + sched/ + feeder.cpp + +Charlie 23 Mar 2010 + - MGR: Change Advanced Menu item "Run GPU never" to "Suspend GPU". + + clientgui/ + AdvancedFrame.cpp + +Bernd 24 Mar 2010 + - db_purge: + - fix -one_pass + - added -dont_delete (don't delete from DB, for testing) + - added -daily_dir (write archives in a new directory each day) + + sched/ + db_purge.cpp + +David 25 Mar 2010 + - web RPC: include mem and disk info in host XML record + + html/inc/ + xml.inc + +Rom 25 Mar 2010 + - MGR: Simplify the taskbar code before implementing the notice detection + code for the taskbar. + + clientgui/ + BOINCTaskBar.cpp + +David 25 Mar 2010 + - boinccmd: add --set_gpu_mode command + - fix some compile warnings + + client/ + cs_notice.cpp,h + work_fetch.cpp + boinc_cmd.cpp + gui_http.cpp,h + main.cpp + +David 25 Mar 2010 + - user web: if a forum or thread is not visible to a user, + remove their subscriptions to it. + + html/ + inc/ + forum.inc + user/ + forum_thread.php + forum_forum.php + +David 28 Mar 2010 + - user web: in above case, remove notifications as well + + html/inc/ + forum.inc + +David 28 Mar 2010 + - Manager: fix bug in task properties app name display + + lib/ + gui_rpc_client_ops.cpp + +Rom 29 Mar 2010 + - MGR: Display a balloon on Windows and Linux, while causing + the dock to bounce on the Mac whenever new notices arrive. + - MGR: More cleanup work for the task bar. + + clientgui/ + BOINCTaskBar.cpp, .h + clientgui/msw/ + taskbarex.cpp + +David 29 Mar 2010 + - client/manager: show "No CPU prefs" etc. in project properties + + client/ + client_types.cpp + clientgui/ + DlgItemProperties.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +David 29 Mar 2010 + - server: various changes; + see http://boinc.berkeley.edu/trac/wiki/CreditNew + + Projects will need to update DB and recompile all back-end programs. + + Summary: + - new way of computing credit + - "reliable host" mechanism is per app version + - "host punishment" mechanism is per app version + - adjustment of wu.rsc_fpops_est provides the + equivalent of per app version DCF + - max jobs in progress is now per app + - max jobs per RPC is now per app + + TODO: + - reliable mechanism: + - populate and use host_app_version.error_rate + - populate host_app_version.turnaround + - host punishment: + - populate host_app_version.max_jobs_per_day + - populate host_app_version.n_jobs_today + - use app.max_jobs_per_day_init + - job limits: + - use app.max_jobs_in_progress, max_gpu_jobs_in_progress + - use app.max_jobs_per_rpc + - adjust wu.rsc_fpops_est + - remove old credit stuff + fpops_cumulative, credit_multiplier + credit computation in scheduler + + - AVERAGE class: use the Knuth algorithm (Wikipedia) + + db/ + boinc_db.cpp,h + constraints.sql + db_base.cpp,h + schema.sql + html/ + inc/ + forum_rss.inc + translation.inc + ops/ + db_update.php + team_export.php + user/ + app_versions.php (new) + forum_moderate_thread.php + lib/ + Makefile.am + average.cpp,h + py/Boinc/ + database.py + sched/ + Makefile.am + credit.cpp,h + credit_test.cpp,h + feeder.cpp + handle_request.cpp + sched_config.cpp,h + sched_send.cpp + transitioner.cpp + validate_util2.cpp,h + validator.cpp + tools/ + upgrade + +David 29 Mar 2010 + - client/manager: prefix anonymous platform apps with "Local: " + + client/ + client_state.cpp + client_types.cpp + clientgui/ + DlgItemProperties.cpp + ViewWork.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +Charlie 29 Mar 2010 + - MGR: Call get_notices RPC once per minute when Notices tab is not open + so we can notify the user when new notices become available. + + clientgui/ + MainDocument.cpp, .h + +Charlie 29 Mar 2010 + - MGR: Mac fixes for recent task bar cleanup work. Remove taskbar icon + tooltip code on Mac since Mac Taskbar Icon does not support + tooltips (this code is not removed by compiler optimization.) + + clientgui/ + BOINCTaskBar.cpp, .h + mac/ + MacSysMenu.cpp + +Charlie 30 Mar 2010 + - MGR: If there are new notices on Mac: + - Request user attention if Manager is hidden, and + - Display an alert if Manager is open to a tab other than Notices + (If Manager is now hidden, alert will appear when Manager is shown.) + Allow updates to continue behind the notification alert. + + clientgui/ + BOINCTaskBar.cpp, .h + +David 30 Mar 2010 + - client/manager/GUI RPC: project_info.xml file can contain . + If present, and a new user account is created, + it will be made a member of that team if it exists. + + clientgui/ + AdvancedFrame.cpp + WizardAttachProject.cpp,h + ProjectProcessingPage.cpp + sg_BoincSimpleGUI.cpp + html/user; + create_account.php + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + client/ + acct_setup.cpp,h + +Rom 30 Mar 2010 + - MGR: Bad things happen when you don't initialize default values + for variables under wxWidgets. + + clientgui/ + TermsOfUsePage.cpp + +David 30 Mar 2010 + - finish up the auto-team feature + + html/user/ + account_finish_action.php + create_account.php + +David 30 Mar 2010 + - client: NVIDIA peak FLOPS estimate was wrong for Fermi + (32 cores, not 8) + + lib/ + coproc.h + +David 31 Mar 2010 + - client: delete project_init.xml if attached to any project. + - manager: avoid divide by zero if the only project + has zero resource share + + client/ + gui_rpc_server_ops.cpp + clientgui/ + MainDocument.cpp + +David 31 Mar 2010 + - client: Fermi compute capability is 2, not 3 + + lib/ + coproc.h + +Rom 31 Mar 2010 + - MGR: Fix double inclusion problem with change in header layouts + on Linux. + + clientgui/gtk/ + taskbarex.cpp + +David 31 Mar 2010 + - client: give dynamic estimate (based on fraction done) + a greater weight in time-to-completion estimate + + client/ + work_fetch.cpp + +David 31 Mar 2010 + - client: when looking for new file xfers to start, + favor those that are partially done + - client: fix crashing bug if a project is detached + while an RSS feed fetch for it is in progress + - code cleanup: switch from /// back to // for comments + (so much for doxygen) + + client/ + pers_file_xfer.cpp + file_xfer.cpp + client_types.cpp + cs_notices.cpp + *.h + +Charlie 1 Apr 2010 + - MGR: Show number of unread notices in title of Notices tab (we consider + all notices as having been read when Notices tab is showing and BOINC + Manager is front process). Notify (balloon on Window or Linux, bounce + Dock icon on Mac for 15 seconds) repeatedly when there are unread + messages, with notification frequency set by Options dialog reminder + interval slider. + Note: Should there be 2 separate reminder frequency sliders for network + connection and Unread notices? + + clientgui/ + AdvancedFrame.cpp, .h + BOINCBaseFrame.cpp, .h + BOINCTaskBar.cpp, .h + DlgOptions.cpp + MainDocument.cpp, .h + MacSysMenu.cpp + +David 1 Apr 2010 + - web: show anon platform correctly in task list + + html/inc/ + result.inc + +Rom 1 Apr 2010 + - MGR: Only execute a set mode when the menu item has been checked. + On Linux the act of checking and unchecking menu items + programatically causes events to be fired and processed just + like user input. This causes the menu items to flip flop + back and forth between different modes. + + clientgui/ + AdvancedFrame.cpp + +David 1 Apr 2010 + - manager: fixed one last (hopefully) instance of == applied to + a char[] formerly std::string + + clientgui/ + AsyncRPC.cpp + sg_ProjectComponents.cpp + ViewStatisticts.cpp + +David 1 Apr 2010 + - scheduler: choose cuda_fermi over other cuda plan classes + + sched/ + sched_customize.cpp + +David 1 Apr 2010 + - validator: improved log messages + - fix some compiler warnings + + sched/ + sched_types.cpp,h + credit.cpp + +David 1 Apr 2010 + - manager: change text for notice-frequency slider + + clientgui/ + DlgOptions.cpp + +David 2 Apr 2010 + - backend programs: change the way PFC and elapsed-time statistics + are written to the DB. + The incremental approach was bogus. + New approach: + host_app_version: write directly; R/W interval is tiny + app_version: maintain an explicit list of update samples + for both PFC and credit. + When the validator flushes its app_version cache, + do careful updates. + Note: when using double fields in careful updates, + you can't test for equality. Use abs(new-old) < 1e-N + + db/ + boinc_db.h + sched/ + start + credit.cpp + validator.cpp + lib/ + average.h + +David 2 Apr 2010 + - backend: improved messages for app version credit updates + + sched/ + credit.cpp + +David 2 Apr 2010 + - backend: fix scaling problem that was producing xe15 size credits. + This had messed up the beta DB, which I had to clean up. + Added a cap (1e5) to prevent this in the future. + + sched/ + credit.cpp + +David 2 Apr 2010 + - backend: make "print queries" a runtime instead of compile-time + decision (bool g_print_queries) + + db/ + db_base.cpp,h + +Charlie 1 Apr 2010 + - Mac: Update build instructions to replace dead link for + downloading JPEG 6b sources. + + mac_build/ + HowToBuildBOINC_XCode.rtf + +Charlie 3 Apr 2010 + - Mac: Build with c-ares 1.6.0 instead of c-ares 1.7.0, because the newer + c-ares has problems resolving host names on OS 10.6 with default + settings when used with AT&T U-Verse 2Wire gateway routers and Airport. + + mac_build/ + buildc-ares.sh + buildcurl.sh + HowToBuildBOINC_XCode.rtf + setupForBoinc.sh + boinc.xcodeproj/ + project.pbxproj + +David 4 Apr 2010 + - Client: fix bug that caused wrong jobs to be run EDF + (needed to initialize a var inside loop, not outside) + + client/ + cpu_sched.cpp + +David 4 Apr 2010 + - client: clean out project dir on reset. fixes #978 + + client/ + client_state.cpp + +Charlie 5 Apr 2010 + - MGR: If user is not active, delay notification until he is active + (Mac only). + + clientgui/ + BOINCTaskBar.cpp + +David 5 Apr 2010 + - validator: -d 4 means -d 3 plus print all DB queries + (todo: do this for all daemons) + - validator: change cmdline args from -foo to --foo + (todo: do this for all daemons) + - validator: pass max_granted_credit to assign_credit_set() + + sched/ + credit.cpp,h + hr.cpp,h + hr_info.cpp + sched_hr.cpp + sched_send.cpp + validator.cpp,h + +David 5 Apr 2010 + - validator: remove update_credit_per_cpu_sec(). Irrelevant. + TODO: remove related code + - validator: update wu.canonical_credit correctly. + However, this field should be deprecated. + - validator: check for error return from assign_credit_set(). + + db/ + boinc_db.h + sched/ + credit.cpp,h + validator.cpp + +David 5 Apr 2010 + - server: fix messed-up app version stats export + + html/user/ + app_versions.php + +David 5 Apr 2010 + - server: change all backend programs so that -d 4 means + -d 3 plus print DB queries + + sched/ + various.cpp + +David 5 Apr 2010 + - client: read_file_malloc() must open file in binary mode, + else it won't get the right part of the file + + lib/ + util.cpp + +David 5 Apr 2010 + - server: make the -d 4 feature work with FCGI + + db/ + db_base.cpp + sched/ + credit.cpp + sched_main.cpp + +David 6 Apr 2010 + - user web : improve result display + + html/inc + result.inc + +David 6 Apr 2010 + - client: don't do RSS fetch if network suspended + sched/ + sched_customize.cpp + sched_send.cpp + client/ + cs_notices.cpp + +David 6 Apr 2010 + - validator: detect jobs that used GPU app but fell back to CPU + (SETI@home does this if GPU initialization fails). + Treat these like CPU apps for credit purposes. + + sched/ + credit.cpp + +David 6 Apr 2010 + - client: don't include graphics apps in non-BOINC CPU time + + client/ + app.cpp + client_state.cpp,h + lib/ + procinfo.h + procinfo_win.cpp + +Charlie 7 Apr 2010 + - Mac SS: Optimize screensaver for OS 10.6. + - client: don't include graphics apps in non-BOINC CPU time (Mac). + + clientscr/ + Mac_Saver_ModuleView.m + screensaver.cpp + lib/ + procinfo_mac.cpp + +David 7 Apr 2010 + - client: don't include graphics apps in non-BOINC CPU time (Unix). + + lib/ + procinfo_win.cpp + procinfo_unix.cpp + +David 7 Apr 2010 + - client: allow zero resource shares from account managers + + client/ + acct_mgr.cpp + +David 7 Apr 2010 + - admin web: show more credit-related info + + html/inc/ + boinc_db.inc + db_ops.inc + +David 7 Apr 2010 + - client: "allow_remote_gui_rpc" is available via cc_config.xml + as well as command-line. + - client: show allow_remote_gui_rpc option, + and contents of remote_host.cfg, in message log on startup + - client: code cleanup: move some options from + CLIENT_STATE to OPTIONS + + client/ + client_state.cpp,h + cs_cmdline.cpp + gui_rpc_server.cpp + log_flags.cpp,h + main.cpp + sim.h + +David 7 Apr 2010 + - admin web: "User privileges" didn't work if the project + had set forum_preferences.special_user to "0000000", + as had been done in SETI@home for some reason. + Also, show user ID as well as name; name is not unique. + + html/ops/ + manage_special_users.php + profile_screen_form.php + +David 7 Apr 2010 + - client: revert [21035]; remove project_init.xml only if + attached to the project it specifies + (requested by Kevin Reed) + + client/ + gui_rpc_server_ops.cpp + +Rom 8 Apr 2010 + - WINSETUP: Add support for the tag in the Windows + installer for the auto created project_init.xml file. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateProjectInitFile.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 7 Apr 2010 + - scheduler: app_plan() no longer has to guess how efficiently + an app version will run on a particular host. + - scheduler: fix memory leak: BEST_APP_VERSIONs weren't being freed + + sched/ + sched_customize.cpp + sched_types.cpp + sched_version.cpp + sched_send.cpp + +David 7 Apr 2010 + - scheduler: sweeping changes to the way job runtimes are estimated: + see http://boinc.berkeley.edu/trac/wiki/RuntimeEstimation + + sched/ + credit.cpp,h + sched_send.cpp + sched_shmem.cpp,h + sched_types.cpp,h + sched_version.cpp,h + +David 7 Apr 2010 + - client: attempt to fix bug where a GPU would be assigned + to multiple jobs at the same time. + I fixed one error (reference arg to assign_coprocs()) + but I can't see why this would explain the problem. + I added a lot of extra log messages. + - user web: give scientists moderator privileges + + client/ + cpu_sched.cpp + html/inc/ + forum.inc + +Charlie 9 Apr 2010 + SS: Ignore SUSPEND_REASON_CPU_USAGE in SS coordinator, so it won't kill + graphics apps for short-term CPU usage spikes (such as anti-virus.) + + clientscr/ + screensaver.cpp + +Charlie 9 Apr 2010 + - client: Fix bug in determining non-BOINC CPU time (Mac). + + lib/ + procinfo_mac.cpp + +David 9 Apr 2010 + - scheduler and validator: distinguish between + 1) peak FLOPS (based on benchmarks or GPU attributes). + This does not change over time. + It's not adjusted on the basis of statistics. + It's not affected by wu.rsc_fpops_est. + It can be compared across projects. + versus + 2) projected FLOPS: the scheduler's best guess as to what will satisfy + X * elapsed_time = wu.rsc_fpops_est; + this is used to make server-side runtime estimates, + and it's sent to the client and used for its runtime estimates. + It may be based on the (host, app version) elapsed time average. + My checkin [21153] mistakently confounded these two. + + Notes: + 1) app_plan() now must return both peak and projected FLOPS. + 2) result.flops_estimate stores peak FLOPS + 3) the field in app_info.xml files should be + projected FLOPS. But its accuracy is not important; + it's not used once the server has statistics + for the (host, app version) + + sched/ + credit.cpp + sched_customize.cpp + sched_send.cpp + sched_types.cpp,h + sched_version.cpp + +David 10 Apr 2010 + - scheduler: fix egregious bug which limited sending to 1 job per RPC + - scheduler: fix bug that broke anon platform + + Note: Bruce Allen once advised me to take a few days and just + observe BOINC in action. + I should really do this more often; it always turns up bugs + and/or design flaws. + + sched/ + sched_version.cpp + sched_send.cpp + +Charlie 13 Apr 2010 + - client: Add code for determining non-BOINC CPU time for GridRepublic + and Progress Thru Processors clients (Mac & Windows). + + lib/ + procinfo_mac.cpp + procinfo_win.cpp + +Bernd 13 Apr 2010 + - scheduler: as db-driven client file management isn't ready yet, + adapt Einstein@home-specific file management hack to current run + + sched/ + sched_locality.cpp + +David 13 Apr 2010 + - server: change the following from per-host to per-(host, app version): + - daily quota mechanism + - reliable mechanism (accelerated retries) + - "trusted" mechanism (adaptive replication) + - scheduler: enforce host scale probation only for apps with + host_scale_check set. + - validator: do scale probation on invalid results + (need this in addition to error and timeout cases) + - feeder: update app version scales every 10 min, not 10 sec + - back-end apps: support --foo as well as -foo for options + + Notes: + - If you have, say, cuda, cuda23 and cuda_fermi plan classes, + a host will have separate quotas for each one. + That means it could error out on 100 jobs for cuda_fermi, + and when its quota goes to zero, + error out on 100 jobs for cuda23, etc. + This is intentional; there may be cases where one version + works but not the others. + - host.error_rate and host.max_results_day are deprecated + + TODO: + - the values in the app table for limits on jobs in progress etc. + should override rather than config.xml. + + Implementation notes: + scheduler: + process_request(): + read all host_app_versions for host at start; + Compute "reliable" and "trusted" for each one. + write modified records at end + get_app_version(): + add "reliable_only" arg; if set, use only reliable versions + skip over-quota versions + Multi-pass scheduling: if have at least one reliable version, + do a pass for jobs that need reliable, + and use only reliable versions. + Then clear best_app_versions cache. + Score-based scheduling: for need-reliable jobs, + it will pick the fastest version, + then give a score bonus if that version happens to be reliable. + When get back a successful result from client: + increase daily quota + When get back an error result from client: + impose scale probation + decrease daily quota if not aborted + Validator: + when handling a WU, create a vector of HOST_APP_VERSION + parallel to vector of RESULT. + Pass it to assign_credit_set(). + Make copies of originals so we can update only modified ones + update HOST_APP_VERSION error rates + Transitioner: + decrease quota on timeout + + db/ + boinc_db.cpp,h + sched/ + most files + +David 15 Apr 2010 + - client: get rid of spurious "Using proxy settings from GUI" message + + client/ + cs_prefs.cpp + gui_rpc_server_ops.cpp + lib/ + proxy_info.cpp + +Charlie 15 Apr 2010 + - client: Improve code for determining non-BOINC CPU time for branded + clients (Mac & Windows). + + lib/ + procinfo_mac.cpp + procinfo_win.cpp + +Charlie 15 Apr 2010 + - client: fix build break. + + client/ + coproc_detect.cpp + +David 16 Apr 2010 + - back end programs: improve log msgs + db/ + boinc_db.h + sched + sched_config.cpp,h + sched_version.cpp + sched_send.cpp + credit.cpp + sched_main.cpp + + +Rom 16 Apr 2010 + - MGR: Handle the Event Log's size better, pass in the correct dialog + size to the dialog creation routines instead of setting the size + after dialog initialization. Avoids artifacts and things having + to be tweaked later. + + clientgui/ + DlgEventLog.cpp, .h + +David 16 Apr 2010 + - admin web: use only valid results in FLOPS count graph + html/ops/ + job_times.php + +David 16 Apr 2010 + - back end: typo and tweaks + + sched/ + credit.cpp + html/inc/ + db_ops.inc + +David 16 Apr 2010 + - client: fix bug in mechanism that inhibits work fetch + for a GPU if it lacks available memory + + client/ + client_state.cpp + coproc_detect.cpp + cpu_sched.cpp + +Charlie 16 Apr 2010 + - Mac Installer: Set uninstaller's writeable-by-user permission bit so + 3rd-party Unarchiver can inflate the Zip file (from Eric Myers). + + mac_installer/ + make_GridRepublic.sh + make_ProgThruProc.sh + release_boinc.sh + +Charlie 17 Apr 2010 + - Mac Installer: AddRemoveUser utility accepts both full / login user + names and short / Posix user names. + + mac_installer/ + AddRemoveUser.cpp + +David 17 Apr 2010 + - client: improve GPU scheduling + old: assign GPUs, then check available RAM + Problem: may cause starvation on multi-GPU systems. + new: use available RAM info in the assignment process. + Prevents starvation, also reduces the number of driver calls. + + client/ + client_state.cpp + client_types.cpp,h + coproc_detect.cpp + cpu_sched.cpp + lib/ + coproc.h + sched/ + sched_customize.cpp + +David 17 Apr 2010 + - client: when a GPU job finishes, clear the "schedule backoff" + of other jobs of that type. + They're waiting for GPU RAM, which may now be available. + - client: bug fix in GPU RAM availability + - client: fix testing setup for GPU RAM availability + + client/ + app_control.cpp + client_state.cpp + coproc_detect.cpp + cpu_sched.cpp + lib/ + coproc.h + +David 19 Apr 2010 + - client: clean up logic related to GPU available memory. + If a driver call to get available mem fail, mark the GPU as unusable. + + client/ + client_msgs.h + client_types.cpp,h + coproc_detect.cpp + cpu_sched.cpp + work_fetch.cpp + lib/ + coproc.h + html/ops/ + purge_profile.php + +David 19 Apr 2010 + - validator: fix bug where host.total_credit not incremented + + db/ + boinc_db.cpp + sched/ + credit.cpp + +David 19 Apr 2010 + - validator: message tweak + + sched/ + credit.cpp + +Charlie 19 Apr 2010 + - Mac Installer: PostInstall gets short / Posix user name from getpwnam(), + writes additional diagnostic information to installer log. + + mac_installer/ + PostInstall.cpp + +David 20 Apr 2010 + - client: show "waiting for GPU memory" in task status + + client/ + client_types.cpp + cpu_sched.cpp + clientgui/ + ViewWork.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +David 21 Apr 2010 + - back end: new way of deciding: + - whether host is "reliable" for an app version + - whether host is eligible for single replication for an app version + - whether to use host scaling + In each case, the answer is yes if the number of + consecutive valid results is above a threshold. + This replaces existing "error rate" and "scale probation" mechanisms. + + TODO: the # of consecutive valid results should also determine + a limit on jobs in progress for an app version. + Namely, if N is the threshold for host scaling, the limit should be + ndevices*(max(1, consecutive_valid - N)) + The client currently doesn't supply enough + app version info to do this. + It could be approximated; that would give some protection + against cherry-picking. + - credit: more conservative formulas for combining claimed credit + among replicas. + If there are normal replicas, we use a "low average" + that weights each sample by the sum of the other samples. + Otherwise we use the min (not the average) of the approximate samples. + + NOTE: a DB update is required + + db/ + boinc_db.cpp,h + schema.sql + html/ops/ + db_update.php + sched/ + credit.cpp,h + sched_config.h + sched_result.cpp + sched_send.cpp + sched_shmem.cpp,h + transitioner.cpp + validator.cpp + +David 21 Apr 2010 + - client: keep track of daily history of network transfers + + client/ + client_state.cpp,h + file_names.h + http_curl.cpp + net_stats.cpp,h + +David 21 Apr 2010 + - client: bug fixes for the above + + client/ + client_state.cpp + net_stats.cpp + +David 21 Apr 2010 + - client: add preference for limiting network xfers in last N days + (no GUI yet) + + lib/ + prefs.cpp,h + common_defs.h + client/ + client_stte.cpp + net_stats.cpp,h + cs_prefs.cpp + +David 21 Apr 2010 + - client: bug fixes for the above + client/ + cpu_sched.cpp + cs_prefs.cpp + net_stats.cpp + lib/ + prefs.cpp + +Charlie 22 Apr 2010 + - client: Add get_network_usage_totals() function to the Macintosh + client to report the number of bytes sent and received across + all non-loopback interfaces. Note: this code may also work on + onther UNIX-like systems in addition to Macintosh. + + client/ + hostinfo_unix.cpp + +David 22 Apr 2010 + - client: fix bug with NVIDIA GPUs. + Some of them allow only 1 CUDA context at a time. + You need to create a CUDA context to get available VRAM. + So the client would run a CUDA job, then immediately kill it. + Solution: + - If a GPU app is running, + let it keep running regardless of available VRAM + (if it's still running, it has enough VRAM). + - But don't start new apps if there's not enough available VRAM, + or it the amount is unknown + (if the client can't create a CUDA context, + the app won't be able to either) + - client: if is set, print available GPU RAM periodically + + client/ + coproc_detect.cpp + cpu_sched.cpp + html/inc/ + prefs.inc + lib/coproc.h + +David 22 Apr 2010 + - user web: first whack at cleaning up the mess which is prefs.inc + (to be continued) + + html/inc/ + prefs.inc + +Rom 23 Apr 2010 + - CC: Reduce how often the client reports the amount of available + VRAM to once every 60 seconds. + + client/ + coproc_detect.cpp + cpu_sched.cpp + lib/ + coproc.h + +David 23 Apr 2010 + - user web: more cleanup of prefs.inc + - client: code cleanup + + html/inc/ + prefs.inc + lib/ + coproc.h + client/ + coproc_detect.cpp + cpu_sched.cpp + +David 23 Apr 2010 + - user web: separate general stuff from prefs.inc + + html/inc/ + prefs.inc + prefs_util.inc (new) + client/ + coproc_detect.cpp + +David 23 Apr 2010 + - user web: add network quota pref (the goal that spurred all this cleanup) + - rename prefs.daily_xfer_period to daily_xfer_period_days + + html/inc/ + prefs.inc + prefs_util.inc + lib/ + prefs.cpp,h + client/ + cs_prefs.cpp + +David 23 Apr 2010 + - manager: add network quota to advanced prefs dialog + + clientgui/ + DlgAdvPreferences.cpp + DlgAdvPreferencesBase.cpp + DlgAdvPreferencesBase.h + +David 23 Apr 2010 + - client: Win: kill runaway apps using TerminateProcess() + rather than TerminateProcessById(). + The latter doesn't work in protected mode. + - client: pid_handle => process_handle. misnomer + + client/ + app.cpp,h + app_start.cpp + app_control.cpp + +David 23 Apr 2010 + - client: report daily xfer stats in scheduler request + (not used by scheduler, but maybe later) + + client/ + net_stats.cpp,h + cs_prefs.cpp + cs_scheduler.cpp + +David 25 Apr 2010 + - user web: message tweaks + + html/inc/ + prefs.inc + prefs_util.inc + +David 26 Apr 2010 + - client: clean up network suspension logic. + There are now separate flags for + "file_xfers_suspended": don't do file transfers + "network_suspended": don't do any network comm + (scheduler RPCs, RSS fetch, master fetch, etc.) + The policy: + if preferences/settings say no network + (quota exceeded, no-network mode, user active, time, excl. app) + then: + file_xfers_suspended = true + if (no recent network-related RPC) network_suspended = true + - user web: code cleanup for project prefs + + client/ + client_state.cpp,h + cs_prefs.pp + html/inc/ + prefs.inc + prefs_util.inc + +David 26 Apr 2010 + - user web: bug fixes for prefs + + html/inc/ + prefs.inc + prefs_util.inc + +David 26 Apr 2010 + - validator: bug fixes: bad formula for low_average(); + failure to reread app_versions because of 1e6/1e-6 typo + + db/ + boinc_db.h + sched/ + credit.cpp + +David 27 Apr 2010 + - client: write daily net history on shutdown + - client: remove extraneous calls to calShutdown() + in ATIs available-RAM code. + + client + coproc_detect.cpp + net_status.cpp,h + main.cpp + cs_scheduler.cpp + html/project.sample/ + project_specific_prefs.inc + +Charlie 28 Apr 2010 + - MGR: more Event Log bug fixes: fix Copy Selected button when filtering + by project; save window dimensions properly when exiting Manager with + Event Log window open; add spaces around field delimiters when copying + to clipboard for better readability; fix sizer problem on Mac (buttons + disappeared if window height was too small) by initializing size of + CDlgEventLogListCtrl to wxDefaultSize instead of 640X480. + + clientgui/ + DlgEventLog.cpp + DlgEventLogListCtrl.cpp + +David 28 Apr 2010 + - client: network bandwidth total was counting 1 day too many + - client simulator: start GPU support + + client/ + net_stats.cpp + +Charlie 29 Apr 2010 + - client: Add get_max_cpu_temperature to the Macintosh client to + report the highest current CPU temperature as degrees Celsius. + This code is for Intel macs only. Returns zero if it fails + (or on a PowerPC Mac). I do have code to do this on PowerPC + Macs, but it is long and complex. + + client/ + hostinfo_unix.cpp + +David 29 Apr 2010 + - client: minor code cleanup + - manager: fix typo + + client/ + work_fetch.cpp + clientgui/ + ProxyInfoPage.cpp + +David 29 Apr 2010 + - user web: no limit on PMs for moderators, admins etc. + + html/ + inc/ + forum.inc + user/ + pm.php + +David 29 Apr 2010 + - user web: in BBCode->HTML conversion there was a limit of + 20 tags converted. + I don't think a limit is needed. + In any case, I changed it to 1000 + + html/inc + text_transform.inc + +David 29 Apr 2010 + - client: standardize debug messages. + Messages enabled by are prefixed by "[foo]" + client/ + (most).cpp + +David 29 Apr 2010 + - client: missed one + + client/ + cs_scheduler.cpp + +Charlie 30 Apr 2010 + - client: Restore RUN_MODE_ALWAYS functionality in network suspension + logic which was lost in code cleanup of 26 Apr 2010. + + cs_prefs.pp + +David 30 Apr 2010 + - manager: if user clicks Retry in Transfer tab while network is suspended, + show an alert. + - manager: in transfers tab, show it if transfers are suspended + because network is suspended + - manager: in tasks tab, if a task is downloading or uploading + and network is suspended, show it + + client/ + work_fetch.cpp + clientgui/ + ViewTransfers.cpp + ViewWork.cpp + +David 3 May 2010 + - client: day boundary for "transfer at most X in N days" + is midnight local time, not UTC + - update translation templates + + sched/ + sched_send.cpp + client/ + sim.cpp + net_stats.cpp + +Rom 3 May 2010 + - client: fix build break + + client/ + net_stats.cpp + +Rom 5 May 2010 + - client: include the configured download url in the + get_newer_version RPC. + + client/ + gui_rpc_server_ops.cpp + +Rom 5 May 2010 + - lib: update client-side RPC files for configured + download url. + - manager: update get_newer_version async RPC for + configured download url. + + clientgui/ + AsyncRPC.cpp, .h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +Charlie 5 May 2010 + - MGR: Fix build break. + + clientgui/ + AsyncRPC.cpp, .h + +David 6 May 2010 + - manager: fix tooltip msgs + + clientgui/ + AdvancedFrame.cpp + sg_ProjectsComponent.cpp + +David 7 May 2010 + - manager: improve "suspended" messages for tasks and transfers + - manager: code reorg. ViewTransfers and DlgItemProperties + both had a long member function to generate a string describing a task. + One of these was out of date. + Replaced these with a single non-member function. + - manager: fixed sizer problem in attach wizard that caused missing word + - client: minor code reorg + + client/ + client_state.h + cs_prefs.cpp + clientgui/ + DltItemProperties.cpp,h + MainDocument.cpp,h + ViewTransfers.cpp + ViewWork.cpp,h + WelcomePage.cpp + lib/ + str_util.cpp,h + +David 7 May 2010 + - client: when emerge from bandwidth quota network suspension, + add 0..1hr random delay to existing transfers, + to avoid DDOS effect + + db/ + boinc_db.cpp + client/ + client_state.cpp + pers_file_xfer.cpp,h + +David 7 May 2010 + - manager: if a project has pending trickle up, + show it in the project status + + clientgui/ + ViewProjects.cpp + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 7 May 2010 + - user web: fix PHP warning + - admin web: add tool for debugging credit + + html/ + inc/ + prefs.inc + boinc_db.inc + db_ops.inc + ops/ + credit.php (new) + +Rom 7 May 2010 + - DIAG: Make init functions consistent with one another. + + lib/ + diagnostics.cpp + +David 8 May 2010 + - client: fix time-zone offset in net BW quota + + client/ + net_stats.cpp + +Rytis 9 May 2010 + - user web: fix PHP warning when netsoft stats are down + + html/inc/ + user.inc + +David 10 May 2010 + - manager: in transfers tab, show reason why transfer is suspended + - manager: WTF?? master URL, not name, identifies projects. + - manager: got rid of a bunch of unused functions + + clientgui/ + DlgItemProperties.cpp + MainDocument.cpp,h + ViewTransfers.cpp + +Rom 10 May 2010 + - client & lib: bring header inclusion up-to-date for the CC to begin + hunting down a memory leak. + + client/ + + lib/ + + +Rom 10 May 2010 + - client: re-enable memory leak detection on Windows. + + client/ + main.cpp + +Rytis 11 May 2010 + - user web: use full output transform for frontpage news posts (to handle + newlines and other related stuff). + - user web: add a warning in case admin hasn't changed show_news() call to + the new format. + + html/inc/ + news.inc + +David 11 May 2010 + - client: temporarily enable logic that deallocates memory on exit, + so that we can look for memory leaks. + - client: enable bandwidth quota limit only if both + #MB and #days are nonzero. + - scheduler: when resending work, don't send more than + client is requesting + - scheduler: restore Cobblestone factor to 100 + + sched/ + sched_resend.cpp + credit.h + client/ + dhrystone2.cpp + check_state.cpp + cs_prefs.cpp + main.cpp + app.cpp + +David 11 May 2010 + - client: delete messages on exit + + client/ + client_msgs.cpp,h + check_state.cpp + +David 11 May 2010 + - client: fix memory leak + + lib/ + coproc.h + +Rom 11 May 2010 + - client: leave template for causing the debugger to break on a + specific memory allocation. + + client/ + main.cpp + +Charlie 11 May 2010 + - client: Fix build break on Mac. Please be careful changing the order + of #includes. + + client/ + gui_rpc_server_ops.cpp + +David 11 May 2010 + - client: on resume from net bandwidth quota suspend, + apply same random backoff to all transfers. + - client: when changing ncpus via config file, + don't modify host_info.p_ncpus + - client: show effective #CPUs separately from physical # + + client/ + client_state.cpp,h + pers_file_xfer.cpp + cpu_sched.cpp + +David 11 May 2010 + - client: clear config before rereading config file. + This means that, e.g. if you remove + it will revert to the actual number. + However, it also means that any config params + set via command line will be overridden. + + client/ + log_flags.cpp + +Rytis 12 May 2010 + - user web: use CDATA section for title in the RSS feed + + html/inc/ + forum_rss.inc + +David 12 May 2010 + - client: fix crashing bug. + Deleting records in ~COPROCS() was bad, + since we copy HOST_INFO to APP_INIT_DATA, + leading to a double deletion. + + client/ + cpu_sched.cpp + lib/ + coproc.h + +David 12 May 2010 + - web: string fix + + html/user/ + team_lookup.php + +David 12 May 2010 + - client/manager: keep track of "GPU suspended reason". + Report it to the manager + (it was already in CC_STATUS, but not populated) + - manager: fix system tray icon popup text + + client/ + app.cpp,h + cpu_sched.cpp + cs_prefs.cpp + gui_rpc_server_ops.cpp + clientgui/ + BOINCTaskBar.cpp + lib/ + gui_rpc_client_ops.cpp + +David 12 May 2010 + - scheduler: changeset 21148 broke the scheduler. + We store pointers to BEST_APP_VERSION in both APP_VERSION and RESULT. + We can't then fiddle with the vector that these point into. + Switch back to using a vector of pointers. + This restores the memory leak, which I'll deal with later. + + sched/ + sched_types.h + sched_version.cpp + +David 12 May 2010 + - scheduler: fix for daily quota enforcement + + sched_version.cpp + +David 12 May 2010 + - client: make GPU available RAM measurement #ifdef-selectable, + and default it to off + - client: if we print available GPU RAM (which we now don't) + have a separate timer per GPU type + - scheduler: add new plan classes cuda_opencl (sic) and ati_opencl + + client/ + client_state.cpp + coproc_detect.cpp + lib/ + coproc.h + sched/ + sched_customize.cpp + +David 13 May 2010 + - scheduler: fix bug in daily job quota check + + sched/ + sched_version.cpp + +David 13 May 2010 + - client and scheduler RPC: + Add more info to "project in-progress job list". + Old: entries included only job name and app plan class; + this was used to resend lost jobs, + and to count the # of CPU and GPU jobs. + But it's not usable e.g. for per-app in-progress limits. + New: send the client's app versions (including usage info) + and for each in-progress job, which app version it uses. + (This reduces request-message size compared with sending + usage info and app name per job). + - client and scheduler RPC: + Add more info to "all in-progress job list", and make it optional. + This list is used by schedulers that do deadline checks + using EDF workload simulation. + Old: the list is always sent, and it contains no info + about job resource usage + New: the list is sent only if the scheduler asked for it + in a previous reply, + and each entry now contains resource usage (CPU, GPUs) + Note: the scheduler's EDF simulator is outdated; + it doesn't know about GPU jobs. + But we may as well get the info in place. + + client/ + client_types.cpp,h + cs_scheduler.cpp + scheduler_op.cpp + sched/ + sched_config.h + +David 13 May 2010 + - client: just send 1 copy of app versions + + client/ + cs_scheduler.cpp + +David 13 May 2010 + - manager: in sys tray pop up, if computing is disabled, + don't say whether GPU is enabled (confusing). + + clientgui/ + BOINCTaskBar.cpp + +David 14 May 2010 + - API: compile fixes for MinGW + + lib/ + boinc_win.h + filesys.cpp + api/ + Makefile.mingw + +David 14 May 2010 + - client: include app versions only of this project in sched req + + client/ + cs_scheduler.cpp + +David 14 May 2010 + - client: fix bug that randomly caused idle GPUs + + client/ + coproc_detect.cpp + +Charlie 17 May 2010 + - MGR: Rework Mac accessibility for better compatibility with OS 10.6. + + clientgui/ + BOINCListCtrl.cpp, .h + mac/ + MacAccessiblity.cpp, .h + +Rytis 17 May 2010 + - user web: fix boolean type preferences for non-english languages where + PREF_BOOL is used + + html/inc/ + prefs_util.inc + +Bernd 18 May 2010 + - scheduler: fix query in send_old_work() + from Oliver Bock + + sched/ + sched_locality.cpp + +David 18 May 2010 + - client: don't promote multithread jobs ahead of EDF jobs + + client/ + cpu_sched.cpp + +David 18 May 2010 + - client/scheduler: in COPROCS, instead of having a vector of + pointers to dynamically allocated COPROC-derived objects, + just have the objects themselves. + Dynamic allocation should be avoided at all costs. + + client/ + app_start.cpp + client_state.cpp,h + client_types.cpp + coproc_detect.cpp + cpu_sched.cpp + cs_scheduler.cpp + cs_statefile.cpp + rr_sim.cpp + scheduler_op.cpp + wim.h + work_fetch.cpp + lib/ + coproc.cpp,h + hostinfo.cpp,h + sched/ + handle_request.cpp + sched_customize.cpp + sched_send.cpp + sched_types.cpp,h + +David 18 May 2010 + - client simulator: fix build + - code cleanup: removed include of client/cpp.h from lib/msg_log.cpp. + Stuff in lib/ should NOT include stuff from client/. + + lib/ + msg_log.cpp + client/ + sim.cpp,h + sim_util.cpp + +David 18 May 2010 + - client: fix error in GPU confirm message (it always said 0) + + client/ + cpu_sched.cpp + +David 18 May 2010 + - GUI RPC: include HOST_INFO in CC_STATE + + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 18 May 2010 + - Manager: change order of columns in tasks tab + + clientgui/ + ViewWork.cpp + +David 18 May 2010 + - scheduler: fix bug in single-replication decision (from Rytis) + + clientgui/ + ViewWork.cpp + sched/ + sched_send.cpp + client/ + rr_sim.cpp + +David 19 May 2010 + - web: don't cache hosts page, and make it more translatable + + html/user/ + hosts_user.php + +David 19 May 2010 + - boinccmd: don't authorize if no password found or given + + client/ + boinc_cmd.cpp + +David 19 May 2010 + - GUI RPC: improved error reporting + + lib/ + gui_rpc_client_ops.cpp + html/ops/ + credit.php + +David 19 May 2010 + - manager: more column reorder in Tasks tab + + clientgui/ + ViewWork.cpp + +David 19 May 2010 + - client: message tweak + + client/ + app_control.cpp + +David 20 May 2010 + - scheduler: message tweaks + + sched/ + sched_main.cpp + sched_customize.cpp + +David 20 May 2010 + - client, Unix: error checking in reading /proc entries. + Avoid garbage values e.g. of working_set_size + - scheduler: message tweaks + + lib/ + error_numbers.h + str_util.cpp + procinfo_unix.cpp + client/ + app_control.cpp + sched/ + sched_version.cpp + +David 20 May 2010 + - scheduler: SETI@home's CUDA and CUDA 2.3 apps apparently don't + run on Fermi (compute capability 2) hardware. + Temporary solution: change app_plan() accordingly + - scheduler: message tweaks + sched/ + sched_customize.cpp + sched_version.cpp + +David 20 May 2010 + - scheduler: fix memory leak (free BEST_APP_VERSION objects) + + sched/ + sched_types.h + sched_version.cpp + +Rytis 23 May 2010 + - user web: extend account manager script to export more information + (from Willy de Zutter) + + html/user/ + am_get_info.php + +Charlie 24 May 2010 + - MGR: If get_results RPC takes x seconds, do it no more often than + once every (x * GET_RESULTS_FREQUENCY_FACTOR) seconds. + GET_RESULTS_FREQUENCY_FACTOR is currently defined as 10. + NOTE: we must measure the RPC time in the RPC thread, so this + code assumes that dtime() is thread-safe, or at least that any + error introduced due to thread preemption is small. + + clientgui/ + AsyncRPC.cpp, .h + MainDocument.cpp, .h + +David 24 May 2010 + - scheduler: preliminary checkin of new limit code + + sched/ + sched_limit.cpp,h (new) + +David 25 May 2010 + - client: fix bug in accounting of elapsed time and CPU time + + client/ + app.cpp,h + app_control.cpp + +Rom 26 May 2010 + - WINBUILD: Properly handle detection of Visual Studio when + somebody has all of them installed (2005/2008/2010). + + win_build/ + boinc_cli.vcproj + boincmgr.vcproj + buildenv.cmd + +David 26 May 2010 + - client: fix build failure on FreeBSD (SCHED_BATCH doesn't exist there) + (from Rene Mayorga) + + client/ + app_start.cpp + +Rom 27 May 2010 + - client: fix elasped time tracking bug + (from Kevin Reed) + + client/ + app_start.cpp + +Rom 28 May 2010 + - samples: plug in a skeleton CUDA sample with nothing in it. Setup Windows + project environment so the thing will at least compile. The nvcc compiler + is a bit touchy. + + samples/cuda + cuda.cu + cuda_kernel.cu + win_build/ + boinc.sln + cuda.rules + cuda.vcproj + +David 31 May 2010 + - GUI RPC client side: set up a 30 second receive timeout for + socket to client. That way GUI won't hang if client does. + From Fred of BoincTasks + + lib/ + network.cpp + gui_rpc_client.cpp + +David 31 May 2010 + - server: code cleanup + + sched/ + sched_types.h + sched_config.cpp,h + +Rytis 1 Jun 2010 + - user web: do not wait for cross-project stats for more than 3 seconds as + it slows down "Your account" page load in case stats server is slow to + respond. + + html/inc/ + user.inc + +David 1 Jun 2010 + - client/server/API: rename cudaDeviceProp to CUDA_DEVICE_PROP to + avoid conflict with nvidia's structure. + Note: these structures don't have to be the same, + since we populate our struct one item at a time. + + lib/ + coproc.h + +David 1 Jun 2010 + - scheduler: fix bug that caused resent jobs with anonymous platform + to have zero FPOPS est and bound + + sched/ + sched_result.cpp + sched_send.cpp + handle_request.cpp + +David 1 Jun 2010 + - scheduler: add fine-grained "max jobs in progress" control. + You can now specify limits for specific apps, + and/or for the project as a whole. + Within each of these, you can specify limits on + CPU jobs, GPU jobs, or total jobs. + In the case of CPU and GPU limits, you can specify + whether the limit should be scaled by the number of devices. + + Note: the enforcement of this is done in get_app_version(), + since per-resource-type limits may dictate what app versions + we can use for a particular job. + + sched/ + Makefile.am + sched_config.cpp,h + sched_limit.h + sched_score.h + sched_send.cpp + sched_types.cpp,h + sched_version.cpp + +David 1 Jun 2010 + - back end: change "daily result quota" mechanism. + Old: config.xml specifies an initial daily quota (say, 100). + Each host_app_version starts out with this quota. + On the return of a SUCCESS result, + the quota is doubled, up to the initial value. + On the return of an error result, or a timeout, + the quota is decremented down to 1. + Problem: + Doesn't accommodate hosts that can do more than 100 jobs/day. + New: similar, but + - on validation of a job, daily quota is incremented. + - on invalidation of a job, daily quota is decremented. + - on return of an error result, or a timeout, + daily quota is min'd with initial quota, then decremented. + Notes: + - This allows a host to have an unboundedly large quota + as long as it continues to return more valid + than invalid results. + - Even with this change, hosts that return SUCCESS but + invalid results will continue to get the initial daily quota. + It would be desirable to reduce their quota to 1. + + db/ + boinc_db.cpp + sched/ + sched_result.cpp + sched_send.cpp + transitioner.cpp + validator.cpp + +David 1 Jun 2010 + - manager: linux compile fix, from jochen + + clientgui/gtk/ + taskbarex.cpp + +David 1 Jun 2010 + - user web: fix forum RSS feed + + html/inc/ + forum_rss.inc + +Rom 2 Jun 2010 + - MGR: Apply patches submitted by Nicolás Alvarez + * Convert tabs to spaces for consistency. + * Add BOINC copyright/license comment header. + * Rename the numbered sizer variables to something descriptive and useful. + * Remove useless sizers with only one element inside. + * Declare and assign sizers in the same statement. + * Split GUI creation into one method per tab. + + clientgui/ + DlgAdvPreferencesBase.cpp, .h + +David 2 Jun 2010 + - client: add --fetch_minimal_work option (cmdline and config file) + If set, then: + if there are any active jobs at startup, don't fetch more work + otherwise make exactly 1 scheduler RPC requesting work, + and request only enough jobs to fill all devices. + - client: --exit_when_idle: make it available in config file + and change semantics to: + If set: exit if + 1) there are no tasks, and + 2) either there was an active task on startup, + or we made a scheduler RPC requesting work + Note: if there are not active tasks on startup, + and the client makes a work request which doesn't return work, + it will exit. + + When these flags are used together, + the client will do 1 job per device and exit. + This may be useful when running as grid backfill. + + client/ + client_state.cpp,h + cs_cmdline.cpp + cs_scheduler.cpp + log_flags.cpp,h + work_fetch.cpp + +David 2 Jun 2010 + - client: code cleanup (move some config vars from CLIENT_STATE to CONFIG) + + client/ + app.cpp + app_control.cpp + client_state.cpp,h + cs_benchmark.cpp + cs_cmdline.cpp + cs_prefs.cpp + log_flags.cpp,h + sim.h + +Rom 2 Jun 2010 + - MGR: When starting up and attaching to a project for the first time, + show the correct tab if in the advanced view. + + clientgui/ + AdvancedFrame.cpp + +Charlie 2 Jun 2010 + - client: fix compiler warning (unused variable.) + + client/ + log_flags.cpp + +David 2 Jun 2010 + - scheduler: change backoff policy if a host has reached daily job quota. + Old: back off until random time in 1st hour of next day + New: no server-dictated backoff; rely on client backoff + This is needed to let hosts recover in a reasonable amount of time + after a burst of errors. + - scheduler config: it turns out we can't put arbitrary XML in config.xml; + The Python code is set up to parse only 1 level of tags (??), + and I'm not up to the task of changing this. + So the fine-grained job limit feature [21674] needs to use + a different file, namely config_aux.xml + + sched/ + sched_config.cpp,h + sched_limit.cpp + sched_send.cpp + +David 3 Jun 2010 + - scheduler: fix anon platform bug that caused zero FPOPS est + + sched/ + sched_send.cpp + +David 3 Jun 2010 + - user web: add "Application info" link in host page, + linking to new page showing host_app_versions for this host + - scheduler: message tweaks + + html/ + inc/ + host.inc + user/ + host_app_versions.php + sched/ + sched_version.cpp + sched_result.cpp + +David 4 Jun 2010 + - scheduler: bug fixes for jobs-in-progress limits + - client: msg tweak + + sched/ + sched_types.h + sched_limit.cpp + sched_version.cpp + sched_config.cpp + client/ + acct_mgr.cpp + +David 4 Jun 2010 + - admin web: add start/end times to team import log output + + html/ + inc/ + db_ops.inc + ops/ + credit.php + team_import.php + +Charlie 7 Jun 2010 + - client: Display Mac OS Version as well as Darwin version in Event Log. + + client/ + client_state.cpp + +Charlie 7 Jun 2010 + - Mac: Don't generate xX86_64 client symbol table (was empty); fix + generation of PowerPC symbol tables (thin to ppc7400 not ppc). + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 8 Jun 2010 + - client: user-visible text (message body, notice title and description) + are now translatable, + using the convention that any substring enclosed in _(" ... ") + should be passed throughh wxGetTranslation() or the equivalent. + - client: when writing messages to stdout, strip out _(...) + - manager: translate strings from client + - scheduler: message tweaks + + client/ + client_msgs.cpp,h + main.pp + clientgui/ + DlgEventLog.cpp + MainDocument.cpp,h + ViewMessages.cpp + ViewNotices.cpp + sg_DlgMessages.cpp + sched/ + sched_customize.cpp + sched_send.cpp + +David 8 Jun 2010 + - client: make all MSG_USER_ALERT messages (i.e., those shown as notices) + translatable (and change some MSG_USER_ALERT messages to MSG_INFO). + + client/ + acct_mgr.cpp + acct_setup.cpp + client_state.cpp + cs_account.cpp + cs_cmdline.cpp + cs_scheduler.cpp + cs_statefile.cpp + gui_rpc_server.cpp + hostinfo_unix.cpp + log_flags.cpp + net_stats.cpp + +David 8 Jun 2010 + - manager: add a script that generates a .pot for the manager + that includes the client source code as well + + clientgui/ + build_po + +Charlie 9 Jun 2010 + - Mac installer: Create script to build installer for Campus Party (installs + custom project_init.xml file.) + + mac_installer/ + release_campus_party.sh + +Rom 9 Jun 2010 + - win_build: Commit project files to build sample applications for cuda + and OpenCL (ATI & Nvidia) + + samples/ + + win_build/ + + +David 10 Jun 2010 + - server: change credit constant from 100 to 200. + Data from S@h beta (running for a month or so) + suggests that this will almost exactly match the + average credit granted by S@h's old system + (which, in theory, is the reference for other projects) + + sched/ + credit.h + html/inc/ + result.inc + +David 10 Jun 2010 + - database: remove unused fields from app table + + db/ + boinc_db.cpp,h + schema.sql + html/ops/ + db_update.php + +David 12 Jun 2010 + - server: delete old credit stuff + - user web: show host link in user result list. Fixes #999 + + db/ + boinc_db.cpp,h + schema.sql + html/ + inc/ + result.inc + user/ + results.php + sched/ + credit.cpp,h + handle_request.cpp + sample_bitwise_validator.cpp + sample_trivial_validator.cpp + sched_config.cpp,h + sched_locality.cpp + sched_result.cpp + validate_util.cpp,h + +David 14 Jun 2010 + - API: fix bug that caused parallel apps to get compute error + when they were suspended without "leave in memory" pref + - user web: if in-progress result has credit, show it; fixes #998 + + html/inc/ + result.inc + api/boinc_api.cpp + +David 14 Jun 2010 + - scheduler: tweaks to user messages + + sched/ + sched_customize.cpp + sched_resend.cpp + handle_request.cpp + +David 15 Jun 2010 + - client: call curl_global_cleanup() on exit + (minor memory leak) + + client/ + http_curl.cpp + +David 15 Jun 2010 + - scheduler: restore scaling of daily quota by # processors + and/or config.gpu_multiplier + - client: msg tweak + + db/ + boinc_db.h + sched/ + sched_version.cpp + client/ + log_flags.cpp + +Charlie 15 Jun 2010 + Mac: fix compiler warning. + + lib/ + procinfo_mac.cpp + +David 16 Jun 2010 + - client: let fake CUDA specify driver version + - client: restore call to diagnostics_finish() on exit. + (should print mem info, but doesn't) + - manager: notices display tweak + + client/ + client_state.cpp + coproc_detect.cpp + main.cpp + clientgui/ + ViewNotices.cpp + lib/ + coproc.h + +David 16 Jun 2010 + - scheduler: fix structural problems with sending user messages. + Old: various redundant and/or misleading messages were sent. + New: + - if host w/ no GPU contacts a GPU-only project, + send high-pri message saying they need a GPU + - if host w/ GPU has driver too old for all versions, + send high-pri message saying to update driver + - if host w/ GPU has driver too old for some versions, + send low-pri message saying to update driver + - if host has GPU but too little RAM for any app, + send low-pri message saying so + - scheduler: revamp GPU plan class functions + + client/ + cs_notices.h + lib/ + coproc.cpp,h + notice.cpp + sched/ + handle_request.cpp + sched_array.cpp + sched_customize.cpp,h + sched_send.cpp + +David 16 Jun 2010 + - user web: don't show claimed credit + + html/inc/ + result.inc + +David 17 Jun 2010 + - database: app.min_avg_pfc should default to 1, not 0 + + db/ + schema.sql + html/ops/ + db_update.php + +David 17 Jun 2010 + - API: make boinc_msg_prefix() thread-safe + + api/ + boinc_api.cpp + +David 17 Jun 2010 + - user web: code cleanup in prefs.inc + + html/inc/ + prefs.inc + +Charlie 18 Jun 2010 + - lib: Fix the value returned from get_mac_addresses() on Macintosh + computers. It has returned the value of kernResult, which is 0 + on success, instead of true for success, since the routine was + first written in November 2008. This causes the client to + generate a new random CPID every time the client is launched. + + lib/ + mac_address.cpp + +Charlie 18 Jun 2010 + MGR: save last notice which has been read in persistent storage, by + saving its arrival time. Store a separate entry for each CPID + so it will work for Managers managing multiple remote clients. + + clientgui/ + MainDocument.cpp, .h + +David 18 Jun 2010 + - sample apps: compile fixes + + apps/ + upper_case.cpp + samples/example_app/ + uc2.cpp + api/ + boinc_api.cpp,h + graphics2_unix.cpp + +David 18 Jun 2010 + - scheduler: estimate peak FLOPS of anon platform app versions + based on CPU and GPU usage (or, if missing, 1 CPU). + Previously we were using the user-supplied element, + and if it was missing all hell broke loose. + - client: free malloced items on exit + + sched/ + sched_types.cpp + client/ + check_state.cpp + +David 18 Jun 2010 + - validator: because of the above problem, + some results have flops_estimate == 0, which causes divide by zero. + Check for this and use 1e10. + + sched/ + credit.cpp + +Charlie 18 Jun 2010 + MGR: Take into account that there may be gaps in the sequence numbers + because some notices may have been deleted. + + clientgui/ + MainDocument.cpp, .h + +Rytis 20 Jun 2010 + - user web: flag to send less information on team member XML requests + (from Willy de Zutter). + + html/ + inc/ + xml.inc + user/ + team_email_list.php + +David 21 June 2010 + - validator: fix possible divide-by-zero + - validator: when claimed credit is too high, + assign standard credit rather than exiting. + + sched/ + credit.cpp + +David 21 June 2010 + - API: add BOINC copyright notice to graphics2_win.cpp. + This file originally used code from the following tutorial, + which shows how to open a window using GLUT: + http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 + The code has now been completely rewritten; + in particular, it doesn't use GLUT anymore. + - scheduler: change default limit on #CPUs from 16 to 64 + + api/ + graphics2_win.cpp + sched/ + sched_config.cpp + +David 21 June 2010 + - apps: compile fix + + samples/ + wrapper/ + wrapper.cpp + multi_thread/ + multi_thread.cpp + +David 22 June 2010 + - client: fix crashing bug when account manager returns + new project w/ "no more work" flag set + + client/ + acct_mgr.cpp + +David 22 June 2010 + - validator: fix a divide by zero (happens w/ old clients + that don't report elapsed time) + + sched/ + credit.cpp + +David 22 June 2010 + - client: don't attach to a project if the account manager + has set the "detach when done" flag. + + client/ + acct_mgr.cpp + +Charlie 22 Jun 2010 + - MGR: save host name (from host.domain_name) instead of CPID when + saving arrival time of last read notice; wait until we have + host.domain_name before checking for unread messages. + + clientgui/ + MainDocument.cpp + +David 23 June 2010 + - client: when selecting the "best" ATI GPU, factors are: + 1) double precision support + 2) memory size + 3) speed + (similar to NVIDIA) + + client/ + coproc_detect.cpp + +Rom 23 June 2010 + - MGR: Hook up new NoticeListCtrl. + TODO: pre-stage the download of images instead of relying + on wxWidgets to do it out of band. It gets stuck in a + recursive loop and eventually blows up if it has to go + out to the Internet to find image files it has already + downloaded once after selecting the item. I presume it + decides it needs to re-download the image becuase the + background color for the whole line changes. + + clientgui/ + NoticeListCtrl.cpp, .h + ProjectListCtrl.cpp + ViewNotices.cpp, .h + +Charlie 23 Jun 2010 + - MGR: Fix order of items displayed by NoticeListCtrl (newest first.) + - MGR: Update Mac accessibility for new NoticeListCtrl. + - Mac: Update XCode project for new source file NoticeListCtrl.cpp. + + + clientgui/ + NoticeListCtrl.cpp + mac/ + MacAccessiblity.cpp, .h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 23 Jun 2010 + - API: compile fix + + api/ + boinc_api.cpp + +Charlie 23 Jun 2010 + - MGR: Fix order of items displayed in Notices tab correctly this time. + + clientgui/ + ViewNotices.cpp + NoticeListCtrl.cpp + +David 23 Jun 2010 + - validator: there were a couple of places where we needed to + scale wu.rsc_fpops_est by app.min_avg_pfc. + - validator: assume that app.min_avg_pfc is nonzero; + it will be, since the DB default is now 1. + + sched/ + credit.cpp + +David 23 Jun 2010 + - scheduler: msg tweaks + + sched/ + sched_send.cpp + sched_version.cpp + +David 23 Jun 2010 + - scheduler: the way rsc_fpops_est and rsc_fpops_bound were + being scaled for anon platform was messed up. + Turn off this scaling until I can figure out the problem. + + sched/ + sched_send.cpp + +Rom 25 Jun 2010 + - MGR: Handle sorting the notices control a different way. + + clientgui/ + ViewNotices.cpp + NoticeListCtrl.cpp, .h + +Rom 25 Jun 2010 + - MGR: Bug fixes to previous commit. + + clientgui/ + ViewNotices.cpp + NoticeListCtrl.cpp, .h + +David 25 Jun 2010 + - transitioner: the format string for a DB query had %.15d instead of %.15e. + That produced a messed-up query that assigned garbage values to: + host_app_version.turnaround_var + host_app_version.turnaround_q + host_app_version.max_jobs_per_day + host_app_version.consecutive_valid + To repair these: + - set turnaround_var and turnaround_q to zero + - if max_jobs_per_day is outside of + (0..config.daily_result_quota) + set it to config.daily_result_quota + - if consecutive_valid is outside (0..1000), set it to zero + I added a script, html/ops/repair_21812.php, that does this; + if you ran server code between [21181] and [21812], run this script. + - scheduler/transitioner: add log flag + - changed the build system to always use -Wall + (if we'd done this before, this bug wouldn't have happened) + - fixed a bunch of other compile warnings + + client/ + hostinfo_unix.cpp + db/ + boinc_db.cpp + lib/ + average.h + cert_sig.cpp + crypt_prog.cpp + m4/ + boinc_set_compile_flags.m4 + sched/ + credit.cpp + credit_test.cpp + feeder.cpp + handle_request.cpp + sched_config.cpp,h + sched_customize.cpp + sched_limit.cpp + sched_main.cpp + sched_result.cpp + sched_score.cpp + sched_send.cpp + sched_shmem.cpp + sched_types.cpp + sched_version.cpp + sched_send.cpp + transitioner.cpp + validator.cpp + tools/ + create_work.cpp + +David 25 Jun 2010 + - manager: message tweak + + clientgui/ + ViewProjects.cpp + +David 25 Jun 2010 + - validator: need parens in boolean expression + + sched/ + credit.cpp + +David 25 Jun 2010 + - scheduler: don't resend work if client isn't requesting work + + sched/ + handle_request.cpp + +David 25 Jun 2010 + - scheduler: host_app_version.n_jobs_today was being cleared + only if the previous request was on a different day + AND the current request asks for work. + Sometimes it wasn't getting cleared when it should have. + + sched/ + sched_send.cpp,h + handle_request.cpp + +Rom 25 Jun 2010 + - MGR: Sort notices by dtime() + + clientgui/ + ViewNotices.cpp + NoticeListCtrl.cpp, .h + +David 26 Jun 2010 + - user web: notices fix + + html/user/ + notices.php + +Rom 27 Jun 2010 + - MGR: Delete expired entries from the notices control + - MGR: Remove sort code. Entries in the pDoc notices + structure is already sorted. + + clientgui/ + NoticeListCtrl.cpp, .h + ViewNotices.cpp + +Charlie 28 Jun 2010 + - MGR: Fix off by one error in Notices display. + + clientgui/ + ViewNotices.cpp + +Rom 28 Jun 2010 + - CC: Fix typo + + client/ + cs_notice.cpp + +David 28 Jun 2010 + - scheduler: message tweak + + sched/ + handle_request.cpp + +Rom 28 Jun 2010 + - MGR: Introduce the notion of a cached internet filesystem in the + manager, right now it stores everything in memory but will be extended + in the future. + - MGR: Clean up notice memory on shutdown + + clientgui/ + BOINCGUIApp.cpp + BOINCInternetFSHandler.cpp, .h + NoticeListCtrl.cpp, .h + stdwx.h + ViewNotices.cpp + win_build/ + boincmgr.vcproj + +Charlie 28 Jun 2010 + - Mac: Update XCode project for new source files BOINCInternetFSHandler.cpp,.h. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 28 Jun 2010 + - scheduler and back end: message tweaks and fixes + + sched/ + sched_version.cpp + sched_send.cpp + handle_request.cpp + transitioner.cpp + sched_main.cpp + sched_types.cpp + +David 28 Jun 2010 + - scheduler and client: use "notice" rather than "high" priority + for messages intended as notices. + This will avoid showing lots of obscure stuff as notices + for projects with old server code. + + client/ + boinc_cmd.cpp + boinc_log.cpp + cs_scheduler.cpp + sched/ + sched_locality.cpp + sched_send.cpp + handle_request.cpp + sched_types.cpp + +Charlie 29 Jun 2010 + - client: Fix 2 bugs in handling of notices: + - When client sends all notices instead of starting with the requested + sequence number (e.g., due to having removed a notice), it must + prefix the notices with a dummy notice with sequence number -1 to + tell the manager to clear the notices vector. + - When parsing RSS feeds, call notices.append() with keep_old false. + It was passing true, so notices of new posts to threads were not + having their arrival times updated when additional posts to the + same thread were reported. + + client/ + cs_notices.cpp + +Charlie 29 Jun 2010 + - client: revert my recent change to keep_old argument above. It caused all + RSS feeds to be updated repeatedly. We need to somehow differentiate + between old news items and notices that are new but identical to previous + ones. Should we use the pubDate for that? + + client/ + cs_notices.cpp + +David 29 Jun 2010 + - scheduler and client: fix the "allow multiple clients" feature. + This feature lets you run the BOINC client as a job on grid systems + that handle only 1-CPU jobs; + it disables various mechanisms that prevent multiple clients per host + (which is normally a bad thing). + Old: + - Run the client with a --allow_multiple_clients flag. + This tells it not to use a mutex that prevents + multiple clients per host. + - Run the project with the config flag. + This suppresses two mechanisms: + - (avoid duplicate host records) + on a scheduler request with no host ID, + looks for a host with same domain name, OS type, + and mem size, and assumes the request is from that host + - (job retry) + If we get a request that doesn't have a host ID + but does have a host CPID, + mark its in-progress results as over + NOTE: I CAN'T REMEMBER WHY WE SUPPRESS THIS; + MARK S, DO YOU REMEMBER? + + Problem: + if the grid clients attach to a project that + doesn't use , bad things happen. + E.g., if there are several requests at about the same time, + most of them will fail with + "another RPC already in progress" errors. + If a project does include this flag, + it loses protection from duplicate host records. + + New: + - If the client is run with --allow_multiple_clients flag, + it passes a element + in scheduler requests. + - The scheduler skips the duplicate-host check on + requests that include this flag. + - There is no more scheduler option. + + Note: if a project using the old mechanism upgrades to this change, + it will need to use new clients for its grid deployment. + + client/ + cs_scheduler.cpp + sched/ + sched_types.cpp,h + sched_config.cpp,h + handle_request.cpp + +David 29 Jun 2010 + - client: improve (or at least change) logic related to duplicate notices + + client/ + client_msgs.cpp + cs_notice.cpp,h + +David 29 Jun 2010 + - GUI RPC: add NOTICES::complete, so caller knows whether + what's being returned is new notices or all notices. + + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +Charlie 30 Jun 2010 + - MGR: logic changes & fixes to Notices display for new NOTICES::complete + flag: + - ViewNotices clears NoticeListCtrl if NOTICES::complete is set. + - after GUI RPC sets NOTICES::complete, only ViewNotices clears it. + - unread / read notices logic checks arrival times, not sequence nos. + - NoticeListCtrl clears NeedsRefresh flag agfter refresh. + NOTE: Considerably more cleanup and code simplification is needed. + + clientgui/ + MainDocument.cpp, .h + NoticeListCtrl.cpp, .h + ViewNotices.cpp + lib/ + gui_rpc_client_ops.cpp + +David 30 Jun 2010 + - user web: show app name in anonymous platform case on task list + + html/inc/ + result.inc + +Rom 30 Jun 2010 + - MGR: Rework the notices view to simplify the rendering logic even at the + cost of repeated string conversions (it doesn't appear to mess with + the messages tab performance too much). Inspired by Charlie. + + clientgui/ + NoticeListCtrl.cpp, .h + ViewNotices.cpp + +David 30 Jun 2010 + - admin web: tweaks + + html/ops/ + index.php + credit.php + +Rom 30 Jun 2010 + - WIN: Treat Windows SEH exceptions as C++ exceptions so they can be trapped + using the standard try/catch handlers. + - WIN: Wrap the coproc detection stuff in C++ exception handlers. If for some + reason the Nvidia or ATI APIs cause an exception don't use the GPUs and + don't crash BOINC. + - WIN: rename boinc_ss to boinc_os_ss and ss_app to boinc_ss. + + client/ + coproc_detect.cpp + win_build/ + *.vcproj + +Rom 30 Jun 2010 + - MGR: Fix a bug in the notices code. Refresh the UI if the complete notices + list has been downloaded regardless of whether or not the item counts are + the same. + + clientgui/ + NoticeListCtrl.cpp, .h + +Rom 30 Jun 2010 + - LIB: Reset the completed flag to false at the beginning of the + get_notices RPC in case the notices buffer is being reused. + + lib/ + gui_rpc_client_ops.cpp + +David 30 Jun 2010 + - client: free GUI_RPC_CONN objects at shutdown + + client/ + gui_rpc_server.cpp + +Charlie 30 Jun 2010 + - MGR: get_messages and get_notices RPCs don't alternate buffers, so + remove the unused buffers from CMainDocument class. + + clientgui/ + MainDocument.cpp, .h + +Charlie 30 Jun 2010 + - MGR: after GUI RPC sets NOTICES::complete, only NoticeListCtrl clears it. + - MGR: fix compile warning. + + clientgui/ + NoticeListCtrl.cpp + lib/ + gui_rpc_client_ops.cpp + +David 30 Jun 2010 + - client: add ".xml" to notice file names + + client/ + sandbox.cpp + cs_proxy.cpp + boinc_log.cpp + cs_notice.cpp + http_curl_win.h (removed) + +Rom 6 July 2010 + - MGR: Fix Linux build break. + + clientgui/ + NoticeListCtrl.cpp, .h + +David 6 Jul 2010 + - client: don't consider a result "nearly runnable" + if one of its downloads is stalled. + This fixes a situation that can cause processor or GPU + idleness when download servers are down for a while + + client/ + work_fetch.cpp + +David 6 Jul 2010 + - user web: PHP 5.3 compatibility fix, from Nicolas. Fixes #787 + + html/inc/ + translation.inc + +Charlie 8 Jul 2010 + - MGR: Fix bugs in accessibility code for Notices tab. + + clientgui/ + NoticeListCtrl.cpp, .h + mac/ + MacAccessiblity.cpp + +David 8 Jul 2010 + - fix gcc 4 compiler warnings + + sched/ + file_deleter.cpp + single_job_assimilator.cpp + sched_locality.cpp + sched_send.cpp + tools/ + backend_lib.cpp + +David 8 Jul 2010 + - win build: don't build CUDA/OpenCL apps by default + + client/ + client_msgs.cpp + win_build/ + boinc.sln + +Charlie 9 Jul 2010 + - MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, + consolidate and clean up Mac accessibility code. + + clientgui/ + NoticeListCtrl.cpp, .h + ProjectListCtrl.cpp, .h + mac/ + MacAccessiblity.cpp + +David 9 Jul 2010 + - client: change the calculation of exponential backoff used for + 1) individual file transfers + 2) project-level file transfer backoff + 3) scheduler operations + Old: scale by e. + Use random backoff in the range min..x + New: scale by 2. + Use random backoff in the rand x/2..x + - client: for file transfers, use backoff range of 10 min .. 12 hrs + rather than 1 min .. 4 hrs + + client/ + client_state.cpp,h + work_fetch.cpp + pers_file_xfer.h + +Charlie 9 Jul 2010 + - MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, + consolidate and clean up Mac accessibility code. + +Charlie 10 Jul 2010 + - MGR: More code cleanup, optimization and bug fixes. + + clientgui/ + BOINCListCtrl.h + DlgEventLogListCtrl.h + NoticeListCtrl.cpp, .h + ProjectListCtrl.cpp, .h + mac/ + MacAccessiblity.cpp, .h + +David 12 Jul 2010 + - validator: remove app and app_versions arguments from check_set(). + These weren't used, and I'm not sure why they were added. + - include sched_limit.h in "make install" list + + sched/ + validate_util2.cpp,h + validator.cpp + Makefile.am + +David 12 Jul 2010 + - scheduler: make some "notice"-priority messages translatable + - scheduler: add a clause to wu_is_infeasible_custom() for SETI@home: + don't process VLAR jobs using CUDA apps. + Note: this is implemented in a slightly non-optimal way. + If the request asks for both GPU and CPU jobs, + the scheduler will first decide to use the GPU version. + It will scan jobs, skipping over VLAR jobs. + When the GPU request is satisfied, it will switch to the CPU version + and continue scanning, accepting VLAR jobs. + But the jobs that were skipped initially won't be rescanned. + Also, it would be slightly nice to preferentially send + VLAR jobs to hosts asking for CPU work. + (This could be done in the scoring function). + + sched/ + sched_customize.cpp + sched_version.cpp + sched_send.cpp + handle_request.cpp + +David 12 Jul 2010 + - scheduler: make messages translatable + + sched/ + sched_version.cpp + sched_send.cpp + handle_request.cpp + sched_types.cpp + locale/templates/ + BOINC-Client.pot (new) + client/ + build_po (new) + +Rom 13 July 2010 + - MGR: Load up the new BOINC-Client catalog if it exists. + + clientgui/ + BOINCGUIApp.cpp + +Charlie 14 Jul 2010 + - MGR: Prevent a race condition which could erroneously invoke the + Attach Wizard when restarting the client. + + clientgui/ + AdvancedFrame.cpp + MainDocument.cpp + +Charlie 14 Jul 2010 + - MGR: If the client exits unexpectedly, auto-restart it on Windows (and Mac) + even if it was installed as a service / daemon. + - MGR: Display an alert if we auto-restart the client due to unexpected exits + 3 times within CLIENT_3_CRASH_MAX_TIME minutes (currently 30 minutes.) + + clientgui/ + BOINCBaseFrame.cpp + BOINCClientManager.cpp, .h + +David 14 Jul 2010 + - user web: translation fixes + + html/ + project.sample/ + project.inc + inc/ + prefs.inc + +Rom 14 Jul 2010 + - WINBUILD: Fix project files so that there isn't any C Runtime Library + collisions between types. + - WINBUILD: Remove old cruft. + + win_build/ + *.sln + *.vcproj + +Rom 14 Jul 2010 + - MGR: Fix build break. + - MGR: Change the crash detect dialog target to 'crash_detection' + + clientgui/ + BOINCClientManager.cpp + +David 14 Jul 2010 + - client/manager/GUI RPC: add optional "translatable" arg + to get_messages() RPC; if absent or false, + client will strip _( ) from messages. + + client/ + client_msgs.cpp,h + gui_rpc_server_ops.cpp + clientgui/ + AsyncRPC.cpp + MainDocument.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.cpp + +Charlie 14 Jul 2010 + - MGR: Tweak text in crash alert. + + clientgui/ + BOINCClientManager.cpp + +David 15 Jul 2010 + - client: bug fix in message code + + client/ + client_msgs.cpp + +David 15 Jul 2010 + - user web: don't cache XML version of show_user.php + + html/user/ + show_user.php + +Rom 15 July 2010 + - Tag for 6.11.1 release, all platforms + boinc_core_release_6_11_1 + + / + configure.ac + version.h + +David 15 Jul 2010 + - scheduler: fix and restore fpops scaling for anonymous platform jobs + + sched/ + sched_version.cpp + sched_send.cpp + sched_types.cpp + +David 15 Jul 2010 + - client: fix crashing bug on VC 2008/10; + don't memset(0,) structures containing vectors. + + client/ + work_fetch.h + +Bernd 15 July 2010 + - validator, assimilator: added --help and --version + + sched/ + validator.cpp + assimilator.cpp + +Charlie 16 Jul 2010 + - MGR: Better solution to prevent a race condition which could erroneously + invoke the Attach Wizard when restarting the client, fix serious bug + in Simple View I introduced with my previous fix of 14 July. + + clientgui/ + AdvancedFrame.cpp + MainDocument.cpp + +Charlie 16 Jul 2010 + - Tag for 6.11.2 release, all platforms + boinc_core_release_6_11_2 + + / + configure.ac + version.h + +Charlie 16 Jul 2010 + - MGR: Bug fix: event log text was not dimmed if event log was opened after + Client was disconnected. + + clientgui/ + DlgEventLog.cpp, .h + +David 16 Jul 2010 + - feeder: error out if an ordering option (e.g. --priority) + is used in combination with homogeneous redundancy. + HR requires a cyclic scan of all sendable results. + + sched/ + feeder.cpp + tools/ + backend_lib.cpp + +David 19 Jul 2010 + - client: fix bug with --abort_jobs_on_exit that caused the client + to request new work on exit + - client: change "unparsed tag" to "unrecognized tag" in msgs + - client: get rid of unused var work_fetch_no_new_work + + client/ + client_types.h + client_state.cpp,h + sim.h + cs_statefile.cpp + log_flags.cpp + lib/ + coproc.cpp + +David 19 Jul 2010 + - Added Linux screensaver from Nils Brause. + Note: I can't get this to build because if requires + a package (xcb-atom) that I can't find. + Need to resolve this. + + configure.ac + Makefile.am + clientscr/ + Makefile.am (new) + screensaver_x11.cpp (new) + +Rom 19 July 2010 + - WINSETUP: Update validate install procedure to account for the + removal of boinc.dll and addition of boinclog.exe. + - MGR: Move auto-proxy detection code into its own thread. + - client: Isolate the auto-proxy detection code to its own thread. + + client/ + main.cpp + sysmon_win.cpp + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CAValidateInstall.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 19 Jul 2010 + - client: entity-encode client-generated notices + (e.g. they may contain XML tags) + + client/ + client_msgs.cpp + +David 19 Jul 2010 + - lib: XML_PARSER::parse_str(): if text is enclosed in ![CDATA[, + don't entity-unescape it + + lib/ + parse.cpp + +David 19 Jul 2010 + - client: init gstate.now early so that initial msgs have timestamps + - lib: fix the above + + client/ + main.cpp + sim.h + lib/ + notice.cpp + parse.cpp,h + +Charlie 19 Jul 2010 + - lib: fix compiler warnings. + + lib/ + parse.cpp + +David 20 Jul 2010 + - client: don't archive system notices, + so they don't persist across client restarts. + These notices are for transient conditions. + If the user has fixed the condition, + there's no reason to keep showing the notice. + If they haven't fixed it, the notice will be regenerated soon. + - manager: fix spelling error in simple GUI. + + clientgui/ + MainDocument.cpp + sg_ImageButton.cpp + client/ + gui_rpc_server_ops.cpp + cs_notice.cpp + +David 20 Jul 2010 + - Unix build: don't error out if xcb or xcb-atom aren't found; + just don't build the screensaver + + configure.ac + Makefile.am + +David 20 Jul 2010 + - client: don't do two RSS fetches at once + - manager: WxWidget's HTML renderer doesn't seem to like \n's. + For example, if you try to render + foo + + blah + all it shows is foo. + Work around this by replacing \n's with
+ + client/ + cs_notice.cpp + clientgui/ + NoticeListCtrl.cpp + +David 20 Jul 2010 + - manager: in simple view, where it says Elapsed time, + show elapsed rather than CPU time + + clientgui/ + sg_ViewTabPage.cpp + sched/ + sched_types.cpp + +Rom 21 Jul 2010 + - Tag for 6.11.3 release, all platforms + boinc_core_release_6_11_3 + + / + configure.ac + version.h + +Rom 21 July 2010 + - WINSETUP: Update validate install procedure to account for the + removal of boinclog.exe. + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CAValidateInstall.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 21 July 2010 + - MGR: Make the simple GUI messages dialog display notices instead. + + clientgui/ + sg_BoincSimpleGUI.cpp + sg_DlgMessages.cpp, .h + sg_SGUIListControl.cpp, .h (deleted) + win_build/ + boincmgr.vcproj + +David 21 Jul 2010 + - client/manager: add the ability to associate URLs with + client-generated notices. + Use this as appropriate: e.g., for errors about cc_config.xml syntax, + direct user to the web page describing this syntax. + + client/ + acct_setup.cpp + client_msgs.cpp,h + client_state.cpp + cs_cmdline.cpp + cs_statefile.cpp + gui_rpc_server.cpp + log_flags.cpp + main.cpp,h + clientgui/ + NoticeListCtrl.cpp + +Charlie 21 Jul 2010 + - MGR: Mark all notices as having been read if either Simple GUI + messages dialog or Advanced GUI Notices tab is open. + + clientgui/ + MainDocument.cpp + +Charlie 22 Jul 2010 + - Mac: Delete source files sg_SGUIListControl.cpp,.h from XCode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 22 Jul 2010 + - MGR: If Event Log was open on Manager exit, open it on manager launch. + - MGR: Clicking main window's close box when Event Log is open also + hides the Event Log; show Event Log again if "Open BOINC Manager" is + selected from task bar icon menu. Clicking main window's Minimize + box does not affect Event Log window. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp, .h + BOINCTaskBar.cpp + DlgEventLog.cpp, .h + +Charlie 22 Jul 2010 + - MGR: Don't save bogus window dimensions when iconized. + + clientgui/ + AdvancedFrame.cpp + sg_DlgMessages.cpp + +David 22 Jul 2010 + - server: compile warning fixes + + sched/ + sched_driver.cpp + assimilator.cpp + handle_request.cpp + sched_main.cpp + +David 22 Jul 2010 + - client: have project update fetch RSS feeds as well as doing + a scheduler RPC. + This is to facilitate debugging, and is probably temporary. + + client/ + cs_notice.cpp,h + gui_rpc_server_ops.cpp + +David 22 Jul 2010 + - client: the client shouldn't check for a physical connection + (contacting google.com and possibly alerting the user) + for "background" HTTP ops. These include: + - periodic account manager requests + - periodic notice RSS feed fetches + - periodic fetch of project list + - periodic fetch of current client version + + client/ + http_curl.cpp,h + gui_http.cpp,h + acct_setup.cpp + net_stats.cpp + cs_notice.cpp + acct_mgr.cpp + +David 22 Jul 2010 + - rename cal.h to cal_boinc.h to avoid name conflict + +Rom 22 July 2010 + - MGR: If the simple GUI received a notification event, + display the messages dialog. + - MGR: The simple GUI wasn't restoring state properly + thereby causing the reminder frequency to be set to + zero and preventing any reminders from being displayed. + - MGR: Rework the notices code so the document doesn't + make any assumtions about the UI. + - MGR: Fix a bug in the Linux notification window code. + Synchronize event behavior with Windows. + + clientgui/ + AdvancedFrame.cpp, .h + BOINCBaseFrame.cpp + BOINCTaskBar.cpp, .h + MainDocument.cpp, .h + sg_BoincSimpleGUI.cpp, .h + sg_DlgMessages.cpp + sg_ProjectsComponent.cpp, .h + ViewNotices.cpp + clientgui/gtk/ + taskbarex.cpp + +Bernd 22 Jul 2010 + - rename cal.h to cal_boinc.h + + lib/ + Makefile.mingw + +Rom 22 July 2010 + - MGR: Add some padding to each notice. + + clientgui/ + NoticeListCtrl.cpp + +David 22 July 2010 + - user web: put RSS item titles in CDATA + - sched: get rid of unused config items + - manager: msg tweak + + clientgui/ + BOINCTaskBar.cpp + sched/ + sched_config.cpp,h + sched_send.cpp + html/inc/ + notify.inc + +Charlie 23 Jul 2010 + - MGR: for saving / restoring arrival time of last read notice, + extract the host name from host.domain_name, to avoid future + problems if we ever set host.domain_name to a fully-qualified + domain name in the future. + + clientgui/ + MainDocument.cpp + +Charlie 23 Jul 2010 + - MGR: If Event Log was open, show it in front of main window when + "opening" Manager after it was hidden. + + clientgui/ + BOINCBaseFrame.cpp + +Rom 23 Jul 2010 + - MGR: Don't update the notice tab text unless the unread notice + count has changed. + - MGR: Don't update the last arrival time for the host unless + it has changed from the last time it was saved. + - MGR: Opps, forgot to move some code before commiting yesterday, + don't update the last save arrival time unless the user + clicks on the balloon. + - MGR: Stop the simple GUI from blinking the messages button + when the balloon is clicked. + + clientgui/ + AdvancedFrame.cpp + BOINCGUIApp.cpp + BOINCTaskBar.cpp + MainDocument.cpp + sg_BoincSimpleGUI.cpp + sg_ProjectsComponent.h + +David 23 Jul 2010 + - client/scheduler: fix a group of bugs related to the new mechanism + where the client tells the scheduler which app versions + its queued jobs use + (this is needed, e.g., to enforce per-app or per-resource job limits). + In this mechanism, the client sends an array of s, + and each includes an index into this array. + + - The wrong index was being sent (client). + - If an had a non-existent app name + (e.g. because that app had been deprecated) + it wasn't getting put in the array, invalidating array indices + Furthermore, an erroneous message was being sent to the user + + Fix: if parse error for , + put it in the array anyway, but with cav.app = NULL, + meaning that it's a place-holder. + Send a message to user only if anon platform. + + - manager: increase notice buffers to 64K + + client/ + cs_scheduler.cpp + clientgui/ + NoticeListCtrl.cpp + sched/ + sched_send.cpp,h + sched_locality.cpp + sched_types.cpp + +Rom 23 July 2010 + - MGR: Enable the manager to be able to deal with any size notice. + + clientgui/ + DlgEventLog.cpp + MainDocument.cpp, .h + NoticeListCtrl.cpp + +Rom 23 July 2010 + - MGR: Take another stab at the z-order problem when both the event log + and main window are open. + - MGR: Don't replace control characters for regular messages. + + clientgui/ + BOINCGUIApp.cpp, .h + DlgEventLog.cpp + MainDocument.cpp, .h + NoticeListCtrl.cpp + +Charlie 23 Jul 2010 + - MGR: I had it backwards: if Event Log was open, show it behind main + window when "opening" Manager after it was hidden. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp + +Charlie 23 Jul 2010 + - MGR: remove my code for extracting host name from host.domain_name; + it is not needed. + + clientgui/ + MainDocument.cpp + +Rom 26 Jul 2010 + - Tag for 6.11.4 release, all platforms + boinc_core_release_6_11_4 + + / + configure.ac + version.h + +Rom 28 Jul 2010 + - client: fix typo that prevented the correct link to be used for going + to the log flag configuration wiki page. + + client/ + log_flags.cpp + +Charlie 30 Jul 2010 + - MGR: Fix a bug that hid the Event Log when switching between Advanced and + Simple Views. + + clientgui/ + BOINCGUIApp.cpp + +Rom 30 Jul 2010 + - client: Kick off an auto proxy detection pass on any http error, only + attempt a follow-up reference site check if the proxy server name + changes. This may mean that'll it will be the second or third connection + attempt before the CC starts using the new proxy information. + + client/ + net_stats.cpp + sysmon_win.cpp + +David 30 Jul 2010 + - API: add result name to APP_INFO_DATA structure (for Volpex) + - scheduler: add max_download_urls_per_file config option + (to limit the length of workunit.xml_doc, + which is currently capped at 64KB). + From Bernd. + + client/ + app_start.cpp + lib/ + app_ipc.cpp,h + sched/ + sched_timezone.cpp + sched_config.cpp,h + +David 30 Jul 2010 + - file deleter: if we're configured to generate cached MD5 checksums, + delete those files too. + - scheduler: add log messages (conditioned by debug_credit) + if result.fpops_cumulative or result.fpops_per_cpu_sec is present + + sched/ + file_deleter.cpp + sched_result.cpp + +David 31 Jul 2010 + - manager: change "Attach to project" to "Add project"; + change "Detach from" to "remove" + + clientgui/various + +David 1 Aug 2010 + - scheduler: fix bug that crashed if app_info.xml + refers to nonexistent app + + sched/ + sched_types.cpp + +Charlie 1 Aug 2010 + - MGR: Fix bugs saving and restoring info on which notices have been read: + saving as a double reduces precision, so save arrival time as string; + to avoid problems caused by rounding in save & restore operation, test in + reverse order (oldest first) and for arrival time <= dLastReadNoticeTime + + clientgui/ + MainDocument.cpp + +Rom 2 Aug 2010 + - MGR: Remove any remaining hints that there were two wizards at one time. + - MGR: Save the username and email address in different places in the + registry/config file + + clientgui/ + + +Rom 2 Aug 2010 + - MGR: Remove connection needed type sys tray notifications from the manager, + lets the CC inform via a notice instead. + + clientgui/ + BOINCDialupManager.cpp, .h + +Rom 2 Aug 2010 + - MGR: Use the account manager name provided by the project config RPC instead + of the skin name on the CompletionPage in the wizard. + + clientgui/ + CompletionPage.cpp + +Rom 2 Aug 2010 + - client: wait until after the proxy check completes before attempting to + check on the reference site. + + client/ + net_status.cpp + +David 2 Aug 2010 + client/ + net_status.cpp + +Charlie 3 Aug 2010 + - MGR: fix crash bug on non-Windows computers. + + clientgui/ + BOINCDialupManager.cpp + +Charlie 3 Aug 2010 + - Mac: XCode project: delete source files WizardAttachProject.cpp,.h and + BOINCWizards.h; add files WizardAttach.cpp,.h. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 3 Aug 2010 + - MGR: clear notices display when selecting a different host to force display + of new host's notices. + + clientgui/ + NoticeListCtrl.cpp + ViewNotices.cpp + +Charlie 3 Aug 2010 + - MGR: fix compiler warnings, some of which predict incorrect operation. + + clientgui/ + AccountInfoPage.cpp + CompletionPage.cpp + +Rom 3 Aug 2010 + - client: Fix autoproxy detection so that it doesn't break platforms that + currently do not support proxy detection. + + client/ + net_stats.cpp + sysmon_win.cpp + lib/ + proxy_info.cpp, .h + +David 4 Aug 2010 + - client/scheduler: tweak translatable messages + + sched/ + sched_types.h + sched_send.cpp + client/ + cs_statefile.cpp + log_flags.cpp + +Rom 5 Aug 2010 + - MGR: Remove EVT_END_SESSION event handler for now. It was causing a + recursive call to itself on shutdown thereby halting the Windows + shutdown procedure on Windows XP and older systems. It would + eventually crash the process with a stack overflow error. + + clientgui/ + BOINCGUIApp.cpp, .h + +Rom 5 Aug 2010 + - MGR: Remove useless Notices button. + + clientgui/ + ViewNotices.cpp + +David 5 Aug 2010 + - client: tweak translatable msg + + client/ + gui_rpc_server.cpp + - client/scheduler: tweak translatable messages + +David 5 Aug 2010 + - admin web: fixed undefined var. + Maybe there's some version of PHP where $self means something. + + html/ops/ + dbinfo.php + +David 5 Aug 2010 + - client: don't extra jobs for backup (resource share = 0) projects + + client/ + work_fetch.cpp + +Rom 5 Aug 2010 + - MGR: Modeless top level windows should not have the context help + button in the upper right-hand corner of the dialog. Use the + standard control there. + + clientgui/ + DlgEventLog.cpp + +Charlie 5 Aug 2010 + - MGR: Fix a bug which shut down local client even though Manager didn't launch it + when Manager was connected to a remote host. + + clientgui/ + BOINCBaseFrame.cpp + BOINCClientManager.h + BOINCTaskBar.cpp + MainDocument.cpp + +David 6 Aug 2010 + - web: right-align bbcode images + - API: warning fix + + html/inc/ + text_transform.inc + api/ + boinc_api.cpp + +Charlie 6 Aug 2010 + - MGR: Add command-line parameters for automatic connection to remote host: + -n --namehost Host name or IP address + -g --gui_rpc_port GUI RPC port number + -p --password Password + - MGR: If currently connected host name is empty string, don't autorestart + local client. + + clientgui/ + BOINCGUIApp.cpp, .h + MainDocument.cpp + +Rom 10 Aug 2010 + - MGR: Possible fix for vtable reference issue. + + clientgui/ + WizardAttach.h + +David 10 Aug 2010 + - user web: add platform names and elapsed-time info + (represented as "average processing rate") + to host application details page. + + html/user/ + host_app_versions.php + +David 10 Aug 2010 + - scheduler: add config option: + send only 64-bit app versions to 64-bit hosts + (the default is to send whatever app version is fastest) + + sched/ + sched_config.cpp,h + sched_version.cpp + +Charlie 11 Aug 2010 + - MGR: preserve message filtering by project if Event Log is closed and + reopened, but not when selecting a different host or exiting Manager. + + clientgui/ + DlgEventLog.cpp, .h + +Charlie 11 Aug 2010 + - MGR: Check whether another instance of BOINC Manager is already running; + if so, show Select Computer dialog with extra text saying another + instance is running; if user cancels dialog, exit Manager. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseFrame.cpp, .h + BOINCGUIApp.cpp, .h + MainDocument.cpp, .h + DlgSelectComputer.cpp, .h + +Rom 11 Aug 2010 + - MGR: Adjust control positions and resize controls after a text change. + + clientgui/ + DlgEventLog.cpp + +Rom 11 Aug 2010 + - lib: Make procinfo_win.cpp Unicode compatible. + + lib/ + procinfo_win.cpp + +Rom 11 Aug 2010 + - MGR: Don't allow the Create function of the Wizard to be called twice, + it'll basically lead to both an assert and a memory leak. + - MGR: Don't create the wizard unless we are going to use it. + + clientgui/ + AdvancedFrame.cpp + sg_BoincSimpleGUI.cpp + WizardAttach.cpp + +Rom 11 Aug 2010 + - WIN_BUILD: Remove references to crypto.cpp, and .h from + libboinc_staticcrt so that projects who use it won't need to + worry about pulling in OpenSSL. + + win_build/ + libboinc_staticcrt.vcproj + +David 11 Aug 2010 + - admin: add script for deleting results with no workunit. + There were ~1,400 of these on SETI@home, + presumably because of a bug at some point in the past. + html/ + ops/ + delete_orphan_results.php + profile_screen_form.php + inc/ + boinc_db.inc + + sched/ + db_purge.cpp + +David 11 Aug 2010 + - admin: fix bug with "upgrade --server_only". + It wasn't copying html/ops/db_update.php, + so it wasn't doing necessary DB updates. + Fixed this by always copying html/ops/*. + + Even with this fix, there is a problem when using + the --server_only or --web_only options of upgrade: + if any DB updates are done, they may affect the + server code that's not being updated, resulting in crashes. + + I added a warning message in this case, + recommending that a full upgrade be done. + + html/ops/ + delete_orphan_result.php + upgrade_db.php + py/Boinc/ + setup_project.py + tools/ + upgrade + +David 11 Aug 2010 + - lib: fix crash if you close and reopen an MFILE + + lib/ + mfile.cpp + +David 11 Aug 2010 + - API: remove deprected stuff related to: + 1) old-style apps with graphics in main program. + No one should be using these anymore. + 2) writing init_data.xml in boinc_finish(). + This was used by deprecated "compound app" scheme + - scheduler: if request reports results that were previously reported, + that's evidence that the previous reply was not received by client. + It may have contained results. + So set a "resend lost results" flag. + + api/ + boinc_api.cpp,h + +David 11 Aug 2010 + - client: fix a bug that caused GPU apps to fail on startup + in the following situation. + Suppose GPU job A is running, + and GPU job B (which has never run before) preempts it. + Then + 1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty) + 2) A is told to quit; B isn't started until A exits + (because they're GPU jobs) + 3) before A exits, B is suspended + 4) eventually B is started. + Its scheduler state is SUSPENDED rather than UNINITIALIZED, + so the scheduler thinks it slot dir has already been populated. + But it hasn't, and when the app starts it fails immediately + because no files are there. + + Fix: decide whether a slot dir needs to be populated by + seeing whether it's empty, + rather than looking at the scheduler state of the task. + + client/ + cpu_sched.cpp + http_curl.cpp + lib/ + filesys.cpp,h + +Charlie 11 Aug 2010 + - MGR: revert Rom's change #22191; calling Fit() after a text change + redraws the dialog at its minimum size, making it impossible to + resize the dialog. + + clientgui/ + DlgEventLog.cpp + +Charlie 11 Aug 2010 + - MGR: "Another instance" message in Select Computer dialog gets Manager name + from skin. + + clientgui/ + DlgSelectComputer.cpp + +Charlie 12 Aug 2010 + - MGR: Adjust control positions and resize controls after a text change, + using Layout(); don't use Fit() or FitInside(), which resize the window. + Remove the messy logic I used before to ensure the filter button is long + enough to fit the longer text. + NOTE: we should add this logic everywhere we have a control whose label + text changes with status, since we cannot predict which label will be + longer in every language translation. + + clientgui/ + DlgEventLog.cpp + +Rom 12 Aug 2010 + - lib: Prevent category information from being lost in notices. + + lib/ + notice.cpp + +Rom 13 Aug 2010 + - Tag for 6.11.5 release, all platforms + boinc_core_release_6_11_5 + + / + configure.ac + version.h + +Rom 13 Aug 2010 + - lib: prevent crash on startup if slot directories have been deleted. + + lib/ + filesys.cpp + +David 13 Aug 2010 + - client: fix bug in my last checkin + + lib/ + filesys.cpp + +David 13 Aug 2010 + - web: remove align=right on BBcode images + + html/inc/ + text_transform.inc + +David 14 Aug 2010 + - lib: removed unneeded include. Fixes #1004 + + lib/ + gui_rpc_client.h + +Charlie 14 Aug 2010 + - MGR: Fix build break on Mac. + + clientgui/ + AsyncRPC.cpp + +David 14 Aug 2010 + - feeder: don't error out when an ordering option is used with HR; + if some apps don't use HR the ordering option will apply to them. + + sched/ + feeder.cpp + +David 14 Aug 2010 + - scheduler: message tweak + + sched/ + handle_request.cpp + +Charlie 15 Aug 2010 + - MGR: Allow Notices tab to scroll smoothly, disallow selection of + items in Notices tab. + + clientgui/ + BOINCHtmlListBox.cpp, .h (new) + BOINCVListBox.cpp, .h (new) + Makefile.am + NoticeListCtrl.cpp, .h + ViewNotices.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + win_build/ + boincmgr.vcproj + +Rom 16 Aug 2010 + - Tag for 6.11.6 release, all platforms + boinc_core_release_6_11_6 + + / + configure.ac + version.h + +Rom 17 Aug 2010 + - MGR: In the future I need to be more careful when I flatten a + class hierarchy. I broke the ability to get the latest + project configuration from account managers. Fix that. + + clientgui/ + WizardAttach.cpp + +Rom 17 Aug 2010 + - MGR: Fix build issue on Linux (Sqlite3 needed to be added to the + list of libs and header directories to be included) + + clientgui/ + Makefile.am + +Rom 17 Aug 2010 + - MGR: Remove copyright claims to wxWidgets code. + + clientgui/ + BOINCHtmlLBox.cpp, .h + BOINCVListBox.cpp, .h + +David 17 Aug 2010 + - client: check whether anonymous-app files exist + - client: parse (and ignore) element in state file + + client/ + client_types.cpp + cs_statefile.cpp + +Charlie 17 Aug 2010 + - MGR: Remove unused WXDLL* declarations to improve Linux compatibility. + + clientgui/ + BOINCHtmlLBox.cpp, .h + BOINCVListBox.cpp, .h + +Rom 18 Aug 2010 + - MGR: Set the email text box validator to a simple text validator when + the project in question only supports usernames. + + clientgui/ + AccountInfoPage.cpp + +Rom 18 Aug 2010 + - client: Only error out of the CPU version check if the call to CPUID(0) + returns zero. + + client/ + hostinfo_win.cpp + +Rom 18 Aug 2010 + - MGR: Try and clean up all the undefined reference errors for the GCC + linker + + clientgui/ + BOINCHtmlLBox.cpp, .h + BOINCVListBox.cpp, .h + stdwx.h + +Rom 18 Aug 2010 + - MGR: Finish implementing the use of Usernames in the account manager part + of the wizard. I must have been asleep at the wheel on that one. + + clientgui/ + AccountInfoPage.h + AccountManagerProcessingPage.cpp + ProjectProcessingPage.cpp + +David 22 Aug 2010 + - scheduler: change the "primary_platform_only" config option + to "prefer_primary_platform". + If an app has only only 32-bit versions, use the for 64-bit clients. + + sched/ + sched_config.cpp,h + sched_version.cpp + +David 22 Aug 2010 + - client: maintain "gpu_active_frac" in addition to "active_frac" + (which really means CPU active) + + client/ + client_state.cpp,h + time_stats.cpp,h + work_fetch.cpp + rr_sim.cpp + sim.h + +Charlie 23 Aug 2010 + - MGR: Further refinements to Client shutdown logic on Manager Exit: + Old: Manager shut down Client only if it started the Client. + New: + Don't show exit dialog if connected Client is not on localhost. + Mac: Manager shuts down Client only if it started the Client + and if the Client is on localhost. + Windows, Linux: Manager shuts down Client, whether or not the + Manager started the Client, but only if the Client is on + localhost and the user requests Client shutdown in the exit + dialog, even if running as a service on Windows. As before, + it skips the exit dialog and uses the saved behavior if the + user previously set "Remember this decision and do not show + this dialog." + + clientgui/ + BOINCClientManager.cpp + BOINCGUIApp.cpp + MainDocument.cpp + +Charlie 26 Aug 2010 + - MGR: On Mac only, Close Window menu item (or its shortcut Command-w) + closes the Event Log if it is the front window. + + clientgui/ + BOINCBaseFrame.cpp + +David 26 Aug 2010 + - client: treat notices from schedulers a little differently. + Ignore duplicate notices unless they're at least 24 hours + newer than the previous one. + + client/ + client_msgs.cpp + cs_scheduler.cpp + cs_notice.cpp + lib/ + common_defs.h + +David 27 Aug 2010 + - client: ignore case in names of "exclusive apps" + and exclusive GPU apps + - client: fix bug that caused GPU apps to not be + suspended or resumed immediately after + exclusive GPU app transition + - client: in log message, instead of saying + "fetching tasks for GPU", say which kind of GPU + + TODO: GPU suspend/resume works by setting or clearing + gpu_suspend_reason, then calling request_schedule_cpus(). + There's no explicit suspending or resuming. + CPU suspend/resume should work the same way. + + client/ + app.cpp + cs_prefs.cpp + scheduler_op.cpp + lib/ + str_replace.h + +David 27 Aug 2010 + - web: check the "next URL" passed to login and account + creation scripts to ensure they refer only to local pages + (i.e. they don't contain "://"). + This prevents cross-site scripting attacks (I think). + + html/ + inc/ + util.inc + user/ + login_action.php + create_account_action.php + +David 27 Aug 2010 + - client: back out changeset [21086], + which cleaned out project dir on reset. + The semantics of reset are to not delete sticky files. + + client/ + client_state.cpp + +David 28 Aug 2010 + - client: fix "boinc_temporary_exit()" support. + This is critical for GPU support. + + client/ + app_control.cpp + cpu_sched.cpp + +David 29 Aug 2010 + - tweaks + + db/ + boinc_db.cpp + tools/ + backend_lib.cpp + +David 29 Aug 2010 + - web: if SECURE_URL_BASE is defined in html/project/project.inc, + use it a prefix for forms that include passwords, + namely login_form.php and create_account.php. + Typically SECURE_URL_BASE would start with "https://". + + html/ + inc/ + util.inc + user/ + login_form.php + login_action.php + create_account_form.php + create_account_action.php + +Charlie 31 Aug 2010 + - client: fix problems with exclusive_gpu_app feature. + + client/ + app.cpp + client_state.cpp + lib/ + procinfo_mac.cpp + +David 1 Sept 2010 + - web: finish the above + html/ + inc/ + user.inc + user/ + edit_passwd_form.php + edit_email_form.php + +David 4 Sept 2010 + - fix various XSS vulnerabilities reported by the + Acunetix Web Vulnerability Scanner (free edition) + + tools/ + upgrade + html/ + project.sample/ + projects_specific_prefs.inc + inc/ + util.inc + user/ + login_action.php + pm.php + lanbuage_select.php + create_account_form.php + create_account_action.php + create_team.php + prefs_edit.php + mail_passwd.php + add_venue.php + login_form.php + +David 6 Sept 2010 + - web: make some strings translatable, fixes #1006, from Simek + + html/inc/ + result.inc + pm.inc + +Rom 6 Sept 2010 + - MGR: Properly display which components have trouble loading when + a skin is defined. + - MGR: A new new skin which will become the new default skin. + + clientgui/ + SkinManager.cpp + clientgui/skin/BOINC + + +David 7 Sept 2010 + - web: make strings translatable. From Simek, fixes #1007 + + html/ + inc/ + user.inc + team.inc + util.inc + user/ + create_profile.php + +David 7 Sept 2010 + - server (job submission): allow input templates to specify the + URL, size, and MD5 of input files. + This supports "non-local" input files, + i.e. files not present on the project server. + + NOTE: as implemented, + this requires a separate input template for each job. + It would be slightly better to let you specify the + URL/size/MD5 in the create_work() call. + + From Zoltan Farkas (SZTAKI) + + tools/ + backend_lib.cpp + +Rom 16 Aug 2010 + - Tag for 6.11.7 release, all platforms + boinc_core_release_6_11_7 + + / + configure.ac + version.h + +David 8 Sept 2010 + - client: support notice feeds from account managers. + Implementation: create a base class PROJ_AM, + from which both PROJECT and ACCT_MGR_INFO are derived, + with basic stuff like name, URL, and RSS feed list + + client/ + acct_mgr.cpp,h + app_start.cpp + client_types.cpp,h + cs_notice.cpp,h + gui_rpc_server_ops.cpp + +David 8 Sept 2010 + - finish the above + + client/ + acct_mgr.cpp,h + scheduler_op.cpp + +David 8 Sept 2010 + - debug the above. It now successfully displays an + RSS feed of news items from Google, + linked from a project manager + + client/ + cs_notice.cpp + lib/ + notice.cpp + parse.cpp + +Rytis 9 Sept 2010 + - user web: fix division by zero in host app versions page. + + html/user/ + host_app_versions.php + +David 9 Sept 2010 + - scheduler: fix "prefer_primary_platform" logic (I hope). + + sched/ + sched_version.cpp + +David 9 Sept 2010 + - client: remove duplicate notices based on GUID as well as text + (Google RSS feeds, e.g., change random strings in URLs + in the item description, but leave the GUID the same) + + client/ + cs_notice.cpp + +David 9 Sept 2010 + - client: if a client has no jobs for a resource, decay its STD + for that resource by a factor of e every day + + client/ + work_fetch.cpp + +Charlie 10 Sept 2010 + - MGR: Statistics tab: add scroll bar to project list, replace + hidden double-click function with new "Hide / Show Project + List" button, enable & disable buttons appropriately. + + clientgui/ + Events.h + ViewStatistics.cpp, .h + +David 11 Sept 2010 + - boinc_cmd: don't crash if can't connect to local client + + client/ + boinc_cmd.cpp + +Rytis 12 Sept 2010 + - user web: filter results by application. + + html/ + inc/ + result.inc + user/ + results.php + +Rom 13 Sept 2010 + - WINSCR: Set the screen saver log directory to the data directory. + - WINSCR: Already create a log file, even on release builds, just don't + write trace messages. + - WINSCR: Be a bit more paranoid about not being able to detect keyboard + and mouse activity. If the function fails for whatever reason + shutdown the screensaver. + + clientscr/ + screensaver_win.cpp + +David 13 Sept 2010 + - client: remove spurious msgs about deleting files while in use + - scheduler: add log messages related to max jobs in progress + + sched/ + sched_limit.cpp,h + sched_send.cpp + client/ + client_types.cpp,h + +David 13 Sept 2010 + - back end: compile fixes + + sched/ + sched_limit.cpp,h + sched_main.cpp + +Charlie 14 Sept 2010 + - MGR: Statistics tab: add graph showing sum of selected projects, rename + other mode buttons "All projects (separate)", "All projects (together)". + Minor bug fix: call UpdateSelection() from OnRestoreState(). + + clientgui/ + Events.h + ViewStatistics.cpp, .h + +David 14 Sept 2010 + - lib: check for malloc() NULL return; fixes #921 + lib/ + util.cpp + +Charlie 15 Sept 2010 + - MGR: Statistics tab: optimize and fix bugs in new graph showing sum of + selected projects. + + clientgui/ + ViewStatistics.cpp, .h + +David 15 Sept 2010 + - client: a bit of IPv6 compatibility + - use "sockaddr_storage" to store network addresses + (which may be IPv4 or IPv6) + rather than assuming they fit in an int. + - the entries in remote_hosts.cfg may now be IPv6 addresses + (a:b:c::e:f:g format), + or domain names of hosts that support only IPv6 + Note: GUI RPCs are still constrained to use IPv4, + but this should be easy to change if it's every needed + + Also: replace deprecated gethostbyname() with getaddrinfo(). + + client/ + client_state.cpp + gui_rpc_server.cpp,h + hostinfo_network.cpp + lib/ + gui_rpc_client.cpp,h + network.cpp,h + +David 15 Sept 2010 + - client: revert to old network functions (gethostbyname() etc.) on Win: + - inet_ntop() etc. exist only on Vista+ + - the other functions are declared in winsock2.h. + This breaks the Manager build, since wxwidgets includes winsock.h. + So to hell with it. + - windows build: manager doesn't depend on client + + client/ + gui_rpc_server.cpp + hostinfo_network.cpp + lib/ + gui_rpc_client.cpp,h + network.cpp,h + win_build/ + boinc.sln + +David 15 Sept 2010 + - web: improve server status page, and make it translatable + From Christian Beer + + html/ops/ + sample_server_status.php + +David 15 Sept 2010 + - web: move server status page from ops/ to user/. + Remove funky file-writing stuff - just use caching. + fixes #913 + - web: include link to server status page on sample front page + + html/ + ops/ + sample_server_status (removed) + user/ + sample_index.php + server_status.php (new) + +David 15 Sept 2010 + - compile fix for Mac + + lib/ + gui_rpc_client.cpp + +David 15 Sept 2010 + - API and sample apps: pass buf length arg to boinc_msg_prefix() + and use snprintf() to avoid overrun. + Can't see why this could ever happen. + Attempt to fix crash in E@h apps. + + apps/ + upper_case.cpp + samples/*/*.cpp + api/ + boinc_api.cpp,h + graphics2_unix.cpp + graphics2_win.cpp + +David 15 Sept 2010 + - client (Win): use MoveFileEx() to rename file. + More atomic than delete/rename. + fixes #1010 + lib/ + filesyst.cpp + +David 15 Sept 2010 + - client: if we successfully did CPU benchmarks, + don't keep doing them every 5 days unless restart the client + fixes #994 + + client/ + cs_benchmark.cpp + +David 15 Sept 2010 + - web: don't require that SECURE_URL_BASE be set, + or that it end with a / + + html/ + inc/ + user.inc + util.inc + user/ + create_account_form.php + edit_email_form.php + login_form.php + +David 16 Sept 2010 + - web: don't call filter_var() if it doesn't exist (PHP version < 5.2) + + html/ + inc/ + util.inc + user/ + language_select.php + mail_passwd.php + +David 16 Sept 2010 + - web: bug fix + + html/inc/ + pm.inc + +David 16 Sept 2010 + - web: server_status.php is not an ops page + + html/user/ + server_status.php + +David 16 Sept 2010 + - client: fix boinc_temporary_exit() handling on Unix (from Hien) + + client/ + app_control.cpp + +David 16 Sept 2010 + - client: improve "wrong URL" messages + - client: add title to client/server messages: "Notice from BOINC" + + client/ + client_msgs.cpp + cs_scheduler.cpp + +David 17 Sept 2010 + - scheduler: message tweak + tools/ + create_work.cpp + sched/ + handle_request.cpp + +David 17 Sept 2010 + - client: when computing non-BOINC CPU usage, + allow for the possibility that suspended BOINC apps + aren't really suspended + (e.g. multithread apps that don't use boinc_init_parallel()) + - client: message tweak + + client/ + app.cpp + cs_scheduler.cpp + +David 18 Sept 2010 + - scheduler: fix crashing bug when client reports a large # (1000+) + of results (256KB not enough for query in this case) + + db/ + boinc_db.cpp + +David 20 Sept 2010 + - web: appearance tweaks from Simek; fixes #1012 + + html/ + inc/ + util.inc + user/ + sample_index.php + main.css + edit_email_form.php + white.css + login_form.php + notices.phhp + edit_user_info_form.php + edit_forum_preferences_form.php + +Charlie 20 Sept 2010 + - Mac: Update XCode project for XCode 3.2.4. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 21 Sept 2010 + - client/web: change RSS feed mechanism a little. + If is included in feed description, + the client will append &since_time=x to the URL, + where x is the lastBuildDate of the previous reply. + This notices handler (notices.php) sends only notices + newer than this. + - client: discard old notices as they arrive + + html/user/ + notices.php + client/ + cs_notice.cpp,h + +David 22 Sept 2010 + - web: authenticate notices request + + html/user/ + notices.php + +David 22 Sept 2010 + - client: typo fix + + client/ + cs_notice.cpp + +Rom 23 Sept 2010 + - MGR: Display the default action in the system tray menu in bold again. + - MGR: If connected to the localhost, don't display the computer name + in the window title. + - MGR: Change the exit menu item text to be a little more specific about + what is being shutdown. Use the same scheme as the exit text in the + status bar so that it'll automatically be localized. + - SCR: Remove some old Win9x code. + + clientgui/ + AdvancedFrame.cpp + BOINCTaskBar.cpp + clientscr/ + screensaver_win.cpp, .h + +David 23 Sept 2010 + - client: write GPU info to client_state.xml, + so that it can be input file to the client simulator. + + client/ + cs_scheduler.cpp + cs_statefile.cpp + gui_rpc_server_ops.cpp + lib/ + app_ipc.cpp + coproc.cpp,h + hostinfo.cpp,h + +Charlie 24 Sept 2010 + Mac: add Mac executables of wrapper application. + + samples/ + wrapper/ + i386/ + wrapper_macOSX_i686 + ppc/ + wrapper_macOSX_ppc + x86_64/ + wrapper_macOSX_x86_64 + +David 24 Sept 2010 + - client simulator: major remodel and upgrade. + Insteady of using its own XML input files, + the simulator now takes a client_state.xml file as input. + The simulator generates a synthetic workload based on the + projects, apps, app versions, WUs, and result it finds there. + + This means that a user seeing aberrant behavior + can just send their client_state.xml file + and (hopefully) we can use the simulator to repro. + + The simulator now can model GPUs. + + As of this checkin, the simulator compiles but doesn't work. + There should be no change in the actual client. + + html/user/ + rss_main.php + client/ + makefile_sym + *.cpp + +David 24 Sept 2010 + - client: fix bug that cause wasted scheduler RPC + Old: when a job finished, we cleared the backoffs for the + resources it used. The idea was to get more jobs + immediately in the case where the client was at + a jobs-in-progress limit. + Problem: this resulted in an RPC immediately, + typically before the output files were uploaded. + So the client is still at the limit, and doesn't get jobs. + New: clear the backoffs at the point when output files + have been uploaded and the job is ready to report. + - client: change range in resource backoff from (0,x) to (.5, 1.5*x) + + client/ + work_fetch.cpp,h + client_state.cpp,h + app.cpp + +David 27 Sept 2010 + - client: add config option and --no_info_fetch + cmdline arg. + Suppresses the fetch of project list and of current client version #. + Use when running on grid nodes. + - debugging on client simulator. Not done yet. + + client/ + work_fetch.cpp,h + client_types.cpp,h + client_state.cpp + sim.cpp + work_fetch.cpp + sim_util.cpp + cs_cmdline.cpp + log_flags.cpp,h + cs_statefile.cpp + scheduler_op.cpp + time_stats.cpp + +Rom 28 Sept 2010 + - MGR: Make the new BOINC skin the default skin. + + clientgui/ + BOINCGUIApp.cpp + SkinManager.cpp, .h + clientgui/skins/BOINC/graphic/ + + clientgui/skins/BOINC/ + skin.xml + clientgui/skins/People for a Smarter Planet/ + skin.xml + win_build/ + boincmgr.vcproj + +Rom 28 Sept 2010 + - Tag for 6.11.8 release, all platforms + boinc_core_release_6_11_8 + + / + configure.ac + version.h + +David 28 Sept 2010 + - validator: if credit calculation returns an error, + wait 6 hours before retrying + + sched/ + validator.cpp + client/ + sim.cpp,h + client_state.h + cs_statefile.cpp + + +David 28 Sept 2010 + - client: if we suspend apps because non-BOINC CPU is is too high, + leave them in memory. + Otherwise (if the CPU use is caused by launching an app, + say by security software) + we would get into a loop. + + client/ + app_control.cpp + +Charlie 28 Sept 2010 + Mac: update release script to add new BOINC skin. + + mac_installer/ + release_boinc.sh + +David 29 Sept 2010 + - client: if a process has priority <= that of BOINC apps, + don't include it in non-BOINC CPU time. + Otherwise the presence of such a process could + prevent BOINC from running apps. + (Windows only - will do Unix/Mac later) + + lib/ + procinfo.h + procinfo_win.cpp + client/ + app.cpp + +David 29 Sept 2010 + - client: in computing non-BOINC CPU time, + ignore ACTIVE_TASKs that don't have a process. + - client: bug fix to previous checkin + + client/ + app.cpp + lib/ + procinfo_win.cpp + +David 29 Sept 2010 + - client (unix): don't count low-priority processes towards + non-BOINC CPU time. + NOTE: when you nice a process to 19, + its priority in /proc is 39 (at least on Ubuntu and FC11). + I can't find where this offset (20) is documented, + so I just hardwired 39. + + TODO: Mac + + lib/ + procinfo_unix.cpp + procinfo_mac.cpp + +Charlie 29 Sept 2010 + lib: Temporary work-around for unknown problem with IPV6-compatible + code on Mac. + + lib/ + gui_rpc_client.cpp,h + +David 29 Sept 2010 + - lib: make str_util.h C-compatible (from Matt Arsenault) + + lib/ + str_util.h + +Charlie 29 Sept 2010 + lib: Add test for low-priority processes to procinfo_setup() and + relatives on Mac. + + lib/ + procinfo_mac.cpp + +Charlie 30 Sept 2010 + lib: Fix problem with IPV6-compatible code on Mac: we need to set the + third argument to connect() differently for IPV4 or IPV6. + NOTE: This is not yet tested with actual IPV6 addresses. + + lib/ + gui_rpc_client.cpp,h + +Rom 30 Sept 2010 + - Tag for 6.11.9 release, all platforms + boinc_core_release_6_11_9 + + / + configure.ac + version.h + +David 30 Sept 2010 + - scheduler: check whether client is reporting the same result twice + in a given request message. + Eliminate duplicates; they mess things up. + - scheduler: fix RESULT#0 problem in message log + - user web: keep credit totals when merging hosts by name + + sched/ + sched_result.cpp + sched_types.cpp + html/user/ + merge_by_name.php + +David 30 Sept 2010 + - scheduler: typo in app_plan() for ATI GPUs; fixes #1016 + + sched/ + sched_customize.cpp + +David 30 Sept 2010 + - undo recent change to str_util.h; it broke FCGI compile + + lib/ + str_util.h + +David 1 Oct 2010 + - scheduler: deal correctly with jobs that need > 2GB RAM. + Such jobs fail on 32-bit machines, even if they have sufficient RAM, + because 32-bit OSs don't support address spaces > 2GB. + + In general, we want to support the following scenario: + - an app has a mixture of small (< 2GB) and big (> 2GB) jobs. + - there are app versions for both 32b and 64b platforms + - one of the 32b versions is faster than the 64b version + (say, it's a 32b GPU app) + + Goals: + If the client is 32b, send it only small jobs, + using the fast 32b version if possible + If the client is 64b and has sufficient RAM, + send it large jobs using the 64b version; + send it small jobs using the fast 32b version if possible, + else the 64b version + + Solution: extend get_app_version() so that it detects big jobs, + and uses only 64b versions for them. + Add a "for_64b_jobs" field to BEST_APP_VERSION + so that we maintain a separate memoized set of + BEST_APP_VERSIONs for big jobs. + + - client: don't set report_results_immediately inappropriately + + sched/ + sched_types.h + sched_version.cpp + client/ + log_flags.cpp + +David 3 Oct 2010 + - user web: typo fix. Fixes #1018. From Simek. + + html/user/ + merge_by_name.php + +Rom 4 Oct 2010 + - MGR: On Linix, minimize the main window instead of trying to hide it when + close is selected on the window instead of the menu. Ideally the main + window would just be hidden until the notification icon is clicked, but + apparently wxWidgets/GTK/X doesn't like it when you attempt to hide the + main window. + - MGR: Display what cpu architecture the manager was built for in the about + box. + + clientgui/ + BOINCBaseFrame.cpp + DlgAbout.cpp + +David 4 Oct 2010 + - client: remove debugging code accidentally left in + + client/ + client_state.h + cs_statefile.cpp + +David 4 Oct 2010 + - client: don't fetch RSS feeds if "no_info_fetch" flag is set + + client/ + client_state.cpp + +David 4 Oct 2010 + - web: fix bug in "email passwd" page + + html/inc/ + util.inc + +David 5 Oct 2010 + - client: fix bug causing garbage values in ATI descriptions + + lib/ + coproc.cpp + +David 5 Oct 2010 + - web: fix login bug + + html/user/ + login_action.php + +David 5 Oct 2010 + - crypt_prog: show cmdline options if error. Fixes #1019 + + lib/ + crypt_prog.cpp + +David 5 Oct 2010 + - client: don't show GPU suspend/resume msgs if no GPUs + + client/ + cs_prefs.cpp + +Charlie 6 Oct 2010 + - ss_app: call rpc.init(NULL) not rpc.init("localhost") to work around + a bug which prevented default screensaver boincscr from communicating + with client on Mac (and probably other computers which support IPV6.) + + clientscr/ + ss_app.cpp + +Charlie 6 Oct 2010 + - MGR: Add command-line argument --multiple or -m to allow multiple + instances of BOINC Manager to be run. If a second instance is + launched without this argument, it will bring the original + instance to the front and quit. If this argument is present, + the second instance will automatically run the Selectr Computer + dialog (as before.) + Also add "Launch another BOINC Manager" menu item to Advanced menu. + + clientgui/ + AdvancedFrame.cpp, .h + BOINCGUIApp.cpp, .h + Events.h + MainDocument.cpp + +David 6 Oct 2010 + - manager: remove last few instances of "detach" from messages + + sched/ + handle_request.cpp + clientgui/ + AdvancedFrame.cpp + +David 6 Oct 2010 + - fix a few absolutely last messages with "attach", "detach" + + clientgui/ + CompletionPage.cpp + AdvancedFrame.cpp + ProjectInfoPge.cpp + WelcomePage.cpp + AccountInfoPage.cpp + ViewResources.cpp + CompletionErrorPage.cpp + html/ + inc/ + prefs.inc + user/ + create_account_form.php + sample_index.php + weak_auth.php + +David 6 Oct 2010 + - client simulator: bug fixes + + client/ + sim.cpp,h + client_types.cpp + +Rom 7 Oct 2010 + - Increment version to 6.13.0. + + / + configure.ac + version.h + +David 7 Oct 2010 + - client: add config item: + limit the # of completed tasks reported per RPC + + client/ + log_flags.cpp,h + cs_scheduler.cpp + +David 7 Oct 2010 + - web: fix XSS vulnerability + + html/inc/ + pm.inc + +David 7 Oct 2010 + - GUI RPC: remove unneeded isIPV6 flag, factor out sizeof() logic + + lib/ + gui_rpc_client.cpp,h + clientgui/ + BOINCTaskBar.cpp + +David 7 Oct 2010 + - GUI RPC: when resolving hostnames, ask for only IPV4 addresses. + No point in allowing IPV6 since the client doesn't + create a listening socket for IPV6 + + lib/ + network.cpp + client/ + boinc_cmd.cpp + +David 7 Oct 2010 + - client simulator: updates. Fix web interface. + + client/ + client_state.h + cpu_sched.cpp + cs_prefs.cpp + cs_statefile.cpp + log_flags.cpp,h + sim.cpp + work_fetch.cpp + +Charlie 8 Oct 2010 + - Mac: Update build scripts and documentation. + + mac_build/ + buildc-ares.sh + buildcurl.sh + buildjpeg.sh + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + samples/ + example_app/ + Makefile_mac2 + MakeMacExample.sh + wrapper/ + BuildMacWrapper.sh + +David 8 Oct 2010 + - client simulator: get it to work for GPU simulation + - web: small fixes to mollify skipfish + + html/ + inc/ + util.inc + user/ + language_select.php + client/ + sim.cpp,h + client_state.h + sim_util.cpp + makefile_sim + cpu_sched.cpp + +Charlie 8 Oct 2010 + - Mac: Update build example. + + samples/ + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + +Charlie 11 Oct 2010 + - Mac: Update build scripts, build examples and documentation. + + mac_build/ + buildc-ares.sh + buildcurl.sh + buildjpeg.sh + BuildMacBOINC.sh + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + samples/ + example_app/ + Makefile_mac2 + MakeMacExample.sh + mac_build/ + UpperCase2.xcodeproj/ + project.pbxproj + wrapper/ + BuildMacWrapper.sh + +Rom 13 Oct 2010 + - Win/Linux: Implement the launch new manager functionality for Windows + and Linux. + + clientgui/ + AdvancedFrame.cpp + BOINCGUIApp.cpp, .h + lib/ + util.h + +Rom 13 Oct 2010 + - MGR: Sanitize the event log output from the CC. + + clientgui/ + DlgEventLog.cpp + +Rom 13 Oct 2010 + - MGR: Take two of the above. + + clientgui/ + DlgEventLog.cpp + MainDocument.cpp, .h + +David 13 Oct 2010 + - client: fix bug with the config option. + If # of ready-to-report tasks > max_tasks_reported, + then the excess ready-to-report tasks weren't getting + reported to the scheduler at all (i.e. not in either) + so the scheduler would resend them + (not a fatal problem, but a waste of bandwidth). + From Josef Segur. + + client/ + cs_scheduler.cpp + sched/ + feeder.cpp + +David 13 Oct 2010 + - API: compile fix for MinGW (from Bernd) + + lib/ + Makefile.mingw + +David 13 Oct 2010 + - API/client: move CUdevice_attribute_enum out of lib/coproc.h + to fix app build errors + + lib/ + coproc.h + client/ + coproc_detect.cpp + +Charlie 14 Oct 2010 + - client: fix compiler warning. + + client/ + cs_scheduler.cpp + +Rom 14 Oct 2010 + - MGR: Check for a duplicate instance much earlier in the initialization + cycle, before any window or document creation. Prevents rapid window + creation and then destruction. + + clientgui/ + BOINCGUIApp.cpp, .h + +David 14 Oct 2010 + - client: when an app exits, adjust debts before erasing ACTIVE_TASK. + Otherwise the last episode won't get accounted + - client simulator: add output file for debt info + + client/ + cs_apps.cpp + cs_scheduler.cpp + +Rom 14 Oct 2010 + - MGR: Complete above initialization changes for the Mac + + clientgui/ + BOINCGUIApp.cpp, .h + MainDocument.cpp + +Charlie 14 Oct 2010 + - MGR: Don't require --multiple arg to launch a new instance if both + --namehost and --password args are specified. + + clientgui/ + BOINCGUIApp.cpp + +Rom 15 Oct 2010 + - MGR: Handle paths with spaces in them when launching new instances + of the manager. + + clientgui/ + AdvancedFrame.cpp + +Rom 15 Oct 2010 + - MGR: It turns out it was some wxWidgets parameter parsing wierdness + in the newly launched application that was throwing the error. Double + quotes around the parameter didn't fix the issue. For the time being + just hard code 'boincmgr.exe' as argv[0] as it isn't used by the Windows + client at all. wxWidgets won't find --multiple if it is argv[0]. + + clientgui/ + AdvancedFrame.cpp + +David 15 Oct 2010 + - client: use project STD, rather than arrival time, + as the major criterion in choosing non-EDF GPU jobs. + GPU scheduling now respects resource share, + and as a result STD should no longer diverge. + - client simulator: various improvements, most notably + that we now generate gnuplot graphs of all debt types + + NOTE: the client problem was found and fixed using the simulator! + + client/ + client_state.h + client_types.h + cpu_sched.cpp + sim.cpp,h + sim_util.cpp + work_fetch.cpp + lib/ + coproc.h + +David 15 Oct 2010 + - scheduler: instead of "app is not available for your type of computer", + say "app is not available for Microsoft Windows (98 or later) running on an Intel x86-compatible CPU" (or whatever) + + sched/ + sched_send.cpp + +Charlie 16 Oct 2010 + - lib: Fix problems with Mac backtrace code: use atos only if present, etc. + (atos is installed only if developer tools are installed.) + + lib/ + mac/ + mac_backtrace.cpp, .h + QCrashReport.c + +David 16 Oct 2010 + - client: delete a notice if it's no longer in the RSS feed. + E.g., if a project deletes a news item, remove it from notices. + - notices RSS: remove the "since_time" mechanism + (an optimization that conflicts with the above) + + html/user/ + notices.php + lib/ + notice.h + client/ + cs_notice.cpp,h + sim.cpp + +David 16 Oct 2010 + - bug fix for the above + + client/ + cs_notice.cpp + +David 16 Oct 2010 + - user web: in RSS item for private message, don't say anything + about the message (sender, title, or content) + - user web: don't send an RSS item for a thread with no posts (i.e., hidden) + - client simulator: support global_prefs_override.xml + + html/inc/ + pm.inc + forum_rss.inc + client/ + sim.cpp + +Rom 16 Oct 2010 + - MGR(WIN): While it is a perfectly valid thing to use FindWindow() and + ShowWindow() on an application frame to restore an application from + a minimized state or a hidden state on Windows(75% of the UI test + automation would fail at Microsoft without this ability), it appeartly + isn't for other platforms. wxWidgets is or appears to be tracking window + state internally, which leads to problems when the OS restores the window + and the rest of the framework doesn't know about that change in state. + Certain window events were being ignored (like WM_CLOSE, menu selection + events, etc.). So replace the previous mechinism for bringing an existing + instance of the BOINC Manager to the foreground by creating a new global + window message which is tracked by the system tray icon. When the new + global message is fired make sure the CBOINCGUIApp::SetActiveGUI() function + is called to restore the window state which in turn updates all the internal + framework data structures. + + clientgui/ + BOINCGUIApp.cpp + clientgui/ + BOINCTaskBar.cpp, .h + clientgui/msw/ + taskbarex.cpp, .h + +David 18 Oct 2010 + - client: distinguish between messages to be displayed as HTML + (e.g. "Download new client here" link) and others + (e.g. "Bad tag in cc_config.xml: "). + - code cleanup; move show_message from main.cpp to client_msgs.cpp + + client/ + acct_setup.cpp + client_msgs.cpp,h + client_state.cpp + cs_cmdline.cpp + cs_statefile.cpp + gui_rpc_server.cpp + log_flags.cpp + main.cpp,h + +David 18 Oct 2010 + - client: on startup, generate a message and notice + about new client version if needed + + client/ + client_state.cpp,h + acct_setup.cpp,h + Makefile.am + +David 18 Oct 2010 + - client: notice debugging + + client/ + cs_notice.cpp + +Charlie 18 Oct 2010 + - Mac: Update XCode project for new source files client/current_version.cpp,.h. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 19 Oct 2010 + - client simulator: various fixes + + client/ + app.cpp + client_msgs.cpp + client_state.cpp + cs_notice.cpp + makefile_sim + sim.cpp,h + sim_util.cpp + lib/ + coproc.cpp + +Rom 19 Oct 2010 + - MGR: Add missing keyboard shortcut for the Event Log + - MGR: Add missing ellipses for the new instance of BOINC Manager and + Event Log. + - MGR: Display a simple message when saying that there are no notices + to be displayed when the client reports there are zero notices. + + clientgui/ + AdvancedFrame.cpp + NoticeListCtrl.cpp + +Charlie 16 Oct 2010 + - lib: Mac backtrace code (including the backtrace() API) doesn't work + on PowerPC Macs running under OS 10.5.x, so display explanatory text + when attempting a backtrace on those machines. + + lib/ + mac/ + mac_backtrace.cpp + +Bernd 20 Oct 2010 + - lib: + - fixed whitespace error in Makefile.mingw + - build and install svn_version.h in Makefile.mingw + - fixed boinc_win.h for MinGW gcc-4 + - not sure why "client_msgs.h" was ever included in procinfo_unix.cpp, + but in current code caused a nasty trail of includes breaking the + Linux build, so removed it + + lib/ + Makefile.mingw + boinc_win.h + procinfo_unix.cpp + +David 20 Oct 2010 + - client: msg tweak + - client: ignore exclusive apps including "boinc" + - client simulator: fixes + + client/ + scheduler_op.cpp,h + sim.cpp + makefile_sim + log_flags.cpp + cpu_sched.cpp + +David 22 Oct 2010 + - client simulator: no defaults for app params (fpops_est, latency_bound). + They can be determined implicitly by WUs/results, + or explicitly in the record. + If you do neither, the app is ignored. + + client/ + client_types.h + sim.cpp + +David 22 Oct 2010 + - client: update STD of ineligible projects by decay only. + Not sure why, but this eliminates gradual negative drift. + + client/ + work_fetch.cpp + +David 26 Oct 2010 + - client: linux compile fix + - client: small fix for GPU scheduling + (use anticipated debt instead of STD) + + client/ + app_start.cpp + cpu_sched.cpp + sim.cpp + client_types.h + +David 27 Oct 2010 + - scheduler: fix logic that deals with jobs that need > 2GB RAM. + My change of 1 Oct ([22440]) required that such jobs + be processed with 64-bit apps, + on the assumption that 32-bit apps have a 2 GB user address space limit. + However, it turns out this limit applies only to Windows + (kernel and user mode share the 4GB address space; each gets half). + On Linux, the split is 3GB user / 1 GB kernel. + On Mac OS X, user mode and kernel mode have separate address spaces, + each of them 4 GB. + + client/ + app.cpp + hostinfo_unix.cpp + hostinfo_win.cpp + lib/ + coproc.cpp + str_util.h + util.h + sched/ + sched_customize.cpp + sched_score.cpp + sched_version.cpp + +David 27 Oct 2010 + - manager: if attaching to existing account, + don't check min passwd length + + clientgui/ + AccountInfoPage.cpp + +David 28 Oct 2010 + - scheduler/feeder: add a project config option . + If set, the feeder doesn't read jobs into shmem, + and the scheduler doesn't send jobs. + Intended for use when a project wants to process + a backlog of completed jobs and not issue more. + + sched/ + sched_config.cpp,h + feeder.cpp + handle_request.cpp + +David 28 Oct 2010 + - manager: fix non-translatable "0 bytes" + + clientgui/u + ViewResources.cpp + +David 28 Oct 2010 + - scheduler: don't send translatable strings to pre-6.12 clients + + client/ + client_msgs.cpp,h + lib/ + str_util.cpp,h + sched/ + sched_types.cpp + +David 29 Oct 2010 + - web: fix next-URL mechanism for admin login (from Michael Tarantino) + + html/ + inc/ + util_ops.inc + ops/ + login_form.php + login_action.php + +David 29 Oct 2010 + - client and manager: fix notice titles + - code cleanup: please use standard coding conventions + + client/ + client_msgs.cpp + clientgui/ + NoticeListCtrl.cpp + +David 29 Oct 2010 + - client: small initial checkin for new scheduling system. + Keep track of per-project recent estimated credit + + api/ + boinc_api.cpp + client/ + client_types.cpp + cpu_sched.cpp + net_stats.cpp + work_fetch.h + lib/ + util.cpp,h + sched/ + credit.cpp + update_stats.cpp + +David 30 Oct 2010 + - client: show --no_gpus option in --help + + client/ + sim.cpp + cs_cmdline.cpp + +Rytis 01 Nov 2010 + - ops: extend manage_apps to estimate feeder shmem work items for each + application. Useful for projects with multiple applications and limited + work supply. + + html/ops/ + manage_apps.php + +David 01 Nov 2010 + - client simulator: model the scheduler's deadline check mechanism + - scheduler: improve the deadline check mechanism slightly. + When updating "estimated delay" (a rough measure of how long + a resource is saturated with high-priority work) + take into account the # of instances used by the job, + and the # of total instances + + client/ + client_types.h + sim.cpp + work_fetch.h + sched/ + sched_send.cpp + +David 01 Nov 2010 + - client: don't preempt GPU jobs in middle of time slice + + client/ + cpu_sched.cpp + +David 03 Nov 2010 + - client: fix problems with job scheduling policy. + Old: job scheduling has 2 phases. + In the first phase (schedule_cpus()) we make a list of jobs, + with deadline-miss and high-STD jobs first. + Keep track of the RAM used, + and skip jobs that would exceed available RAM. + Stop scanning when the # of CPUs used by jobs in the list + exceeds the # of actual CPUs. + + In the 2nd phase (enforce_schedule()), we add currently running jobs + (which may be in the middle of a time slice) to the list, + and reorder to give priority to such jobs, + and possibly also to multi-thread jobs. + We then run and/or preempt jobs, keeping track of RAM used. + + Problems: + - suppose we add an EDF 1-CPU job to the list, then a MT job. + We'll stop at that point because #CPUs is exceeded. + But enforce_schedule() won't run the MT job, + and CPUs will be idle. + - Because the list may be reordered, skipping jobs based + on RAM is not correct, and may cause deadlines to be missed. + + New: + - when making the job list, keep track of #CPUs used + by MT jobs and non-MT jobs separately. + Stop the scan only if the non-MT count exceeds #CPUs. + This ensures that we have enough jobs to use all the CPUs, + even if the MT jobs can't be run for whatever reason. + - don't skip jobs because of RAM usage + - skip MT jobs if the MT CPU count is at least #CPUs + + Notes: + - ignoring RAM usage in phase 1 can cause idleness in some cases, + e.g. suppose there are 4 GB of RAM and the list has + jobs that use 3 GB, but there are also some jobs that use 1 GB. + I'm not sure how to fix this. + - Maybe the 2-phase approach is not a good idea. + We did it this way for efficiency, + so that we don't have to recompute the job list + each time a job checkpoints. + But this is probably not a concern, + and I like the idea of a simpler approach, + e.g. reducing the policy to a single comparison function. + + client/ + cpu_sched.cpp + +David 03 Nov 2010 + - python DB layer: fields with values None or '' + where being omitted from query strings. + This is incorrect. + For example, suppose you have an app version with nonempty plan_class, + then you try to add a version with no plan class. + The query would omit the "and plan_class = ''" + so it would match the existing app version and not add a new version. + Reported by Rytis. + Hopefully this won't break anything. + + py/Boinc/ + db_base.py + +David 03 Nov 2010 + - user web: various enhancements and fixes from Simek. + Fixes #1020 + + html/ + inc/ + forum.inc + user.inc + team.inc + profile.inc + util.inc + user/ + img/ + forum_bg.png (new) + post.png (new) + head + create_account_form.php + forum_forum.php + forum_help_desk.php + forum_index.php + forum_search.php + forum_search_action.php + forum_thread.php + get_passwd.php + main.css + pm.php + profile_menu.php + server_status.php + team.php + team_manage.php + white.css + +David 03 Nov 2010 + - validator: fix bug with --credit_from_wu + HOWEVER: use of this option is discouraged. + Use the default credit system. + + sched/ + validator.cpp + +David 03 Nov 2010 + - make_project, upgrade scripts: + create a symbolic link from html/user/user_profile to html/user_profile + (needed to make profiles work) + + tools/ + make_project + py/Boinc/ + setup_project.py + +David 04 Nov 2010 + - fix formatting in PHP code + + html/ + various + +David 04 Nov 2010 + - GUI RPC: parse GPU info, FLOPS from APP_VERSION records + (client already sends this info) + + lib/ + gui_rpc_client_ops.cpp + gui_rpc_client.h + +David 04 Nov 2010 + - manager: show app speed and task FLOPs estimate in task Properties + + clientgui/ + DlgItemProperties.cpp + +David 04 Nov 2010 + - client: gpu_active_frac was being computed incorrectly, + resulting in various scheduling problems + + client/ + time_stats.cpp + +David 04 Nov 2010 + - admin web: fix bugs in manage_apps.php + + html/ops/ + manage_apps.php + +David 05 Nov 2010 + - validator: fix another bug with --credit_from_wu + - make_project, update scripts: don't quit it user_profiles + already exists + + sched + credit.cpp + validate_util.cpp + validator.cpp + py/Boinc/ + setup_project.py + +David 05 Nov 2010 + - client: comment out a debug msg + + client/ + work_fetch.cpp + +David 05 Nov 2010 + - admin web: fix bugs in manage_app_versions page + - client: message tweak + + client/ + rr_sim.cpp + html/ops/ + manage_app_versions.php + +David 08 Nov 2010 + - web: show prefs bools as checkboxes rather than radio yes/no + + html/inc/ + prefs_util.inc + +Rom 08 Nov 2010 + - MGR: Fix the event log so that it doesn't store the event log's + size information when it is in a minimized state. + - MGR: Fix the close dialog issue on wxGTK, apparently there is a + hidden flag that governs the handling of the GTK callback + function. Fixes #962 (Thanks for the patch cli) + + clientgui/ + DlgAdvPreferencesBase.cpp + DlgEventLog.cpp + DlgItemProperties.cpp + +David 08 Nov 2010 + - server programs: print error message instead of numeric retval + in log messages + + lib/ + str_util.h + error_numbers.h + sched/ + (most).cpp + +David 08 Nov 2010 + - web: fix "seperator" spelling + + html/ + inc/ + forum.inc + user/ + bolt.css + main.css + style2.css + white.css + +David 08 Nov 2010 + - client: fix harmless compile warning + - make_project: don't try to install non-existent file + + py/Boinc/ + setup_project.py + client/ + cpu_sched.cpp + +David 08 Nov 2010 + - web: add an option project-specific pref for + "accelerate GPU tasks by dedicating a CPU to each one". + Enable this by putting + $accelerate_gpu_apps_pref = true; + in html/project/project.inc + + html/inc/ + prefs.inc + +David 09 Nov 2010 + - unix build system: fix for non-english locale, from Nicolas. fixes #975 + + generate_svn_version.sh + +David 09 Nov 2010 + - client, scheduler, RPC protocol: + - If the scheduler doesn't have any app versions for resource type X, + it includes an element 1 in the reply msg + (e.g., 1) + - The client parses and stores these flags, + and doesn't ask a project for work for a resource + if the project doesn't have app versions for it. + Apparently I started this change in [19375] (October 2009) + and forgot to finish it. + + sched/ + sched_types.cpp + client/ + work_fetch.cpp + client_types.cpp + +David 09 Nov 2010 + - scheduler: bug fix to the above + + sched/ + sched_types.cpp + +David 09 Nov 2010 + - client: fix "Snooze GPU" + + client/ + cpu_sched.cpp + +David 09 Nov 2010 + - make_project: with --test_app, copy all the executables + (for many platforms) from samples/example_app/bin + - make_project: change name of example app from uppercase to example_app. + - update_versions: allow version numbers to not have decimal points + - sample work generator: make app name and template files + command-line options; + default to "example_app", "example_app_in.xml", "example_app_out.xml" + + db/ + schema.sql + sched/ + sample_work_generator.cpp + tools/ + create_work_example + make_project + update_versions + py/Boinc/ + database.py + +David 09 Nov 2010 + - client: change scheduling policy to allow multithread jobs to coexist + with GPU jobs that use significant CPU time. + Old: run a MT job only if total CPU usage will be < #CPUs + 1. + So if you have some GPU jobs running and their CPU usage sums to < 1, + BOINC will run a MT job too. + But if CPU usage > 1 BOINC won't run the MT job, + and some CPUs will be idle. + Note: to maximize throughput, it might be better to run + either GPU jobs or MT jobs, but not both at the same time. + However, volunteers don't like it when CPUs are idle. So... + New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs. + So we'll run a 4-core MT job (at low priority) + even if GPU jobs (which run at normal priority) use > 1 CPU. + (Yes, the MT job might run very slow) + client/ + cpu_sched.cpp + +David 09 Nov 2010 + - manager: don't show resources redundantly on task properties page + + clientgui/ + DlgItemProperties.cpp + MainDocument.cpp,h + +David 10 Nov 2010 + - boinccmd: --get_cc_status now prints its result + - feeder: don't panic if can't find app for result; + if the app is deprecated, it won't be in shmem + + sched/ + feeder.cpp + lib/ + gui_rpc_client.cpp + gui_rpc_client_print.cpp + str_util.cpp,h + client/ + boinc_cmd.cpp + +David 10 Nov 2010 + - client: fix yesterday's checkin [22661] for anonymous platform: + if project P is anonymous platform + don't request work for resource R from P + if there is no app version using R in P/app_info.xml + else + don't request work for resource R from P + if P tells us it has no app versions using R + + client/ + client_types.h,cpp + client_state.cpp + scheduler_op.cpp + +David 10 Nov 2010 + - server: add scripts to submit jobs for demo application + + tools/ + demo_submit + demo_query + html/inc/ + boinc_db.inc + py/Boinc/ + setup_project.py + sched/ + sample_work_generator.cpp + +Charlie 11 Nov 2010 + - Mac SS: Minor tweak for use in debugging. + + clientscr/ + mac_saver_module.cpp + +Rom 11 Nov 2010 + - MGR: Disable balloons on Linux for the time being. + + clientgui/gtk/ + taskbarex.h + +Charlie 12 Nov 2010 + - MGR: Save window dimensions and position on SIZE and MOVE events + to make sure changes are recorded even if the window is minimized + (iconized) when exiting BOINC. + + clientgui/ + AdvancedFrame.cpp, .h + DlgEventLog.cpp, .h + sg_DlgMessages.cpp, .h + +David 14 Nov 2010 + - admin web: fix bug in credit.php + html/ops/ + credit.php + lib/ + common_defs.h + +David 17 Nov 2010 + - client: account manager RPC: + Additions to request message: + X + X + The estimated remaining duration of unstarted + and in-progress tasks + Additions to reply message, within , optional: + 0|1 + suspend or resume project (overrides local state) + 0|1 + if set, abort unstarted jobs + + client/ + acct_mgr.cpp,h + app.h + client_types.cpp,h + cpu_sched.cpp + cs_scheduler.cpp + gui_rpc_server_ops.cpp + rr_sim.cpp + work_fetch.cpp + html/ops/ + team_export.php + +Rom 17 Nov 2010 + - client: Add support to detect VirtualBox VM software. + + client/ + client_state.cpp + hostinfo_win.cpp + lib/ + hostinfo.cpp, .h + +Rom 17 Nov 2010 + - sched: Parse the detected virtual machine software from + the scheduler request so it can be used in plan classes. + + db/ + boinc_db.h + sched/ + sched_types.cpp + +David 17 Nov 2010 + - client and scheduler: a client host may have multiple VM systems installed. + TODO: check for VirtualBox on Mac, Linux + + client/ + client_state.cpp + hostinfo_win.cpp + db/ + boinc_db.h + lib/ + hostinfo.cpp,h + sched/ + sched_types.cpp + +Charlie 18 Nov 2010 + - client: Add support to detect VirtualBox VM software on Mac. + + client/ + hostinfo_unix.cpp + +Charlie 18 Nov 2010 + - Mac Installer: remove obsolete kludge for generating x86_64 screensaver. + + mac_installer/ + release_boinc.sh + +Rom 18 Nov 2010 + - win_tray: Add logging support to trap crashes. + + clienttray/ + tray_win.cpp + win_build/ + boinctray.vcproj + +David 18 Nov 2010 + - client: in account manager requests, + include the following per-project attributes: + suspended_via_gui, dont_request_more_work, detach_when_done, ended + + client/ + acct_mgr.cpp + +David 18 Nov 2010 + - client: restore code to maintain recent estimated credit + - admin web: clean up manage_user.php + + client/ + client_types.cpp + cpu_sched.cpp + html/ops/ + manage_user.php + +Rom 18 Nov 2010 + - client: Add VirtualBox detection for linux + + client/ + hostinfo_unix.cpp + hostinfo_win.cpp + +Charlie 19 Nov 2010 + - Mac Installer: eliminate wrapper application around install package + (was only needed for OS 10.3.x support); set our custom icon in + the install package "BOINC Installer.pkg". + + clientgui/ + mac/ + SetVersion.cpp + res/ + MacPkgIcon.zip + mac_installer/ + release_boinc.sh + +Charlie 19 Nov 2010 + - Mac Installer: to permit remote install via SSH, suppress dialogs if + COMMAND_LINE_INSTALL environment variable was set by command-line + installer; if set, recognize two additional environment variables + NONADMINUSERSOK (to allow non-admin users to run Manager) and + SETBOINCSAVER (to set BOINC as screensaver for all BOINC users.) + + mac_installer/ + PostInstall.cpp + +David 20 Nov 2010 + - client: improve the way credit history is maintained + Old: maintain list of daily records. + When add a new record, delete records older than a month + Problem: + If there's a gap in the record (e.g. because project was down) + deleting old records may result in a list that + has an entry only for today. + Data for the last month is lost. + New: + When appropriate, adjust the date of old records + rather than deleting them + + client/ + scheduler_op.cpp + +David 20 Nov 2010 + - start script: don't write error message if period task is already + running, and output is not a TTY (i.e., cron). + Otherwise admin gets a lot of spurious emails. + + sched/ + start + +Charlie 22 Nov 2010 + - Mac Installer: It turns out that the command-line installer clears all + environment variables, so instead of checking environment variables + during command-line installs, we check for the existence of files + /tmp/nonadminusersok.txt and /tmp/setboincsaver.txt. In normal GUI + installs, these are ignored and the normal BOINC installer dialogs + are used to determine these options. See the comments at the top of + PostInstall.cpp for details of doing command-line installs on remote + Macs. + + mac_installer/ + PostInstall.cpp + postinstall + postupgrade + +Rom 22 Nov 2010 + - MGR: Switch to the tasks tab when a request to execute benchmarks has + been requested. The messages tab no longer exists. + + clientgui/ + AdvancedFrame.cpp + +David 22 Nov 2010 + - client: fix bug where client would ask project for work for a resource + even when the project doesn't have app versions that use the resource. + TODO: there are 2 functions, + compute_may_have_work() and dont_fetch(), + that do the same thing and both have misleading names. + Clean this up. + Rom: please back-port to 6.10 + + client/ + work_fetch.cpp + +Charlie 23 Nov 2010 + - Mac Installer: Better handling of custom installer icon. + + clientgui/ + res/ + MacPkgIcon.zip + mac_installer/ + release_boinc.sh + +Charlie 23 Nov 2010 + - MGR: Statistics tab: in graph showing sum of selected projects, always + show statistics for the last 30 days. This is now possible due to + November 20 changes to the way credit history is maintained. + + clientgui/ + ViewStatistics.cpp + +Charlie 23 Nov 2010 + - Remove BOINC_RCSID tags from more source files. + + api/ + mac_icon.cpp + make_app_icon_h.cpp + clientgui/ + Localization.cpp + mac/ + MacSysMenu.cpp + SetVersion.cpp + clientscr/ + mac_saver_module.cpp + lib/ + synch.cpp + mac_installer/ + Installer.cpp + LoginItemAPI.c + PostInstall.cpp + +Rom 23 Nov 2010 + - client: Copy the AltiVec CPU feature to the p_features field, leave + AltiVec in the host model field for backwards compatibility. + + client/ + hostinfo_unix.cpp + +David 23 Nov 2010 + - client: implement more scheduler changes that use + recent estimated credit (REC) instead of debt. + These changes are enabled by + #define USE_REC + in work_fetch.h. + If this is commented out (the default) the client uses + debt-based scheduling, same as before. + TODO: work-fetch policy changes + - client simulator: various fixes: + - compute idle and wasted fraction based on all processing resources, + not just CPU + - compute job completion times based on FLOPS, not CPU seconds + - compute and use project->no_X_apps + etc. + + client/ + app.h + client_state.cpp + client_types.cpp,h + cpu_sched.cpp + gui_rpc_server_ops.cpp + sim.cpp,h + sim_util.cpp + work_fetch.cpp,h + html/user + main.css + +David 23 Nov 2010 + - GUI RPC, client side: add error-checking for CC_STATE::parse(); + avoid crash if error or missing item in reply XML + + client/ + sim.cpp + cpu_sched.cpp + lib/ + gui_rpc_client_ops.cpp + +David 23 Nov 2010 + - server scripts (e.g. update_versions): + compute MD5 checksums be reading files in pieces instead + of reading whole file into memory. From Tolu Aina + + py/Boinc/ + tools.py + +Charlie 24 Nov 2010 + - client: fix compiler warning. + + client/ + cpu_sched.cpp + +Rom 24 Nov 2010 + - vbox: Create a new VirtualBox wrapper using the VirtualBox COM + API set. Use the existing wrapper as the baseline. Current + wrapper just dumps the existing VMs defined on the machine. + More to follow. + + samples/vboxwrapper/mscom/ + VirtualBox.h + VirtualBox.tlb + VirtualBox_i.c + samples/vboxwrapper/ + vbox.h + vbox_win.cpp + vboxwrapper.cpp + win_build/ + boinc.sln + vboxwrapper.vcproj + +David 24 Nov 2010 + - client: work fetch fix: try to maintain GPU work all projects, + since we now do round-robin for GPUs as well as CPU. + NOTE: this bug was found using the client simulator! + - client simulator: generate REC graph + + client/ + work_fetch.cpp,h + cpu_sched.cpp + sim.cpp + +David 24 Nov 2010 + - client: do exponential backoff (from 10 min to 24 hours) + on account manager RPC failures, + rather than always waiting 24 hours + + client/ + acct_mgr.cpp,h + client_state.h + work_fetch.h + +David 24 Nov 2010 + - web: remove DBNAME hack, which allowed users to see the DB name + (not a big deal, but bad form). + Fixes #1028 + + html/ + inc/ + bossa_db.inc + db_conn.inc + forum_db.inc + ops/ + autolock.php + bolt_datagen.php + notify.php + repair_forums.php + transition_all.php + user/ + forum_search_action.php + +Charlie 26 Nov 2010 + - client: fix crash bug. + + client/ + client_types.cpp + +David 26 Nov 2010 + - client: use 0|1 instead of or "" as XML boolean. + This distinguishes between "false" and "not defined" + (did this in a few places, should do it everywhere) + + client/ + acct_mgr.cpp + client_types.cpp + +David 27 Nov 2010 + - client: send host info in account manager request message + + client/ + acct_mgr.cpp + +David 28 Nov 2010 + - web: show details of single-replicated WUs if they have an error + fixes #1036 + + html/user/ + workunit.phph + +Rom 29 Nov 2010 + - vboxwrapper: Remove unneeded cruft. Vbox can report how long a + VM has been running since the last state change, we'll use that + instead. + - vboxwrapper: provide basic stub functions for starting/stopping/ + suspending/resuming a VM. Leave wrapper functionality in + vboxwrapper, and VM specific functionality in vbox_*. Ideally + only the stub functions would have to change for other VM + implementations. + + samples/vboxwrapper/ + vbox.cpp, .h + vbox_win.cpp + vboxwrapper.cpp + win_build/ + vboxwrapper.vcproj + +David 29 Nov 2010 + - add support for making wrappers for Rappture: + https://nanohub.org/infrastructure/rappture/ + + samples/ + wrappture/ + wrappture.cpp,h + wrappture_example.cpp + Makefile + wrapper/ + wrapper.cpp + +David 29 Nov 2010 + - add VS project file for wrappture_example; fix Win compile + + samples/wrappture/ + wrappture.cpp + wrappture_example.cpp + win_build/ + boinc.sln + wrappture_example.vcproj + +David 30 Nov 2010 + - scheduler: add vbox32 and vbox64 plan classes for VirtualBox apps. + + client/ + sim.cpp + lib/ + filesys.cpp + sched/ + sched_types.h + sched_customize.cpp + sched_version.cpp + +David 30 Nov 2010 + - client: on startup, generate a notice if any jobs require more RAM + than is allowed by prefs + + client/ + client_state.cpp + cpu_sched.cpp + +Bernd 01 Dec 2010 + - api: check return values of functions used in boinc_msg_prefix(), + return a (valid) empty string if an error occurred + + api/ + boinc-api.cpp + +Rom 01 Dec 2010 + - MGR: Use standard menus, even on Windows, for the Simple GUI. + + clientgui/ + sg_StatImageLoader.cpp + +David 1 Dec 2010 + - API: use localtime_r() instead of localtime() + + api/ + boinc_api.cpp + client/ + acct_mgr_cpp + client_types.h + +David 1 Dec 2010 + - client: fix major bug in job scheduling + Old: scheduling has 2 phases: + 1) computing a list of jobs to run (a vector of RESULT*); + this is done infrequently + 2) enforcing the schedule; this is done more frequently + Problem: + when we enforce the schedule, + the RESULTs in the jobs-to-run list may not still be runnable, + and in fact they may not still exist (dangling pointer). + New: combine the 2 phases + + client/ + client_state.cpp,h + app_control.cpp + cpu_sched.cpp + lib/ + prefs.h + +David 1 Dec 2010 + - client, acct manager protocol: + allow , and bools + within in reply message. + They suppress work fetch for that resource type from that project. + - scheduler: + check max_granted_credit after wu.rsc_fpops_bound, + so that max_granted_credit will be enforced + even if wu.rsc_fpops_bound is absurdly high + Fixes #1034. From Diggory Hardy. + + sched/ + credit.cpp + client/ + sim.cpp + acct_mgr.h + client_types.cpp + cs_statefile.cpp + acct_mgr.cpp + +Charlie 2 Dec 2010 + - lib: The custom Mac backtrace code doesn't work on Intel Macs running + under OS 10.5.x, so use newer backtrace() and backtrace_symbols() + APIs under OS 10.5.x, with explanatory text suggesting alternatives. + + lib/ + mac/ + mac_backtrace.cpp + +Charlie 2 Dec 2010 + - Mac Installer: Updates for OS 10.6.5 compatibility. + + mac_installer/ + PostInstall.cpp + release_boinc.sh + WaitPermissions.cpp + +David 2 Dec 2010 + - client: fix scheduling bug. + The round-robin simulation wasn't handling multithread jobs correctly. + For example, given two 3-CPU jobs, + it would model running them together on a 4-CPU host. + This doesn't correspond with the CPU scheduler, + which runs only 1 at a time. + So the simulator would say that there are no idle CPUs + when in fact there are, and no new CPU jobs would be fetched. + + client/ + rr_sim.cpp + +David 2 Dec 2010 + - client: fix typo that broke communication with account managers + - API: compile fix for Win + + client/ + acct_mgr.cpp + api/ + boinc_api.cpp + +David 2 Dec 2010 + - manager: fix compile warnings; from Steffen Moller + + clientgui/ + */*.xpm + +Charlie 6 Dec 2010 + - Mac Installer: Fix failure to auto-launch on OS 10.4.x. + + mac_installer/ + postinstall + postupgrade + +Bernd 7 Dec 2010 + - API: MinGWs runtime API has neither localtime_r nor localtime_s, + but it should be safe to use localtime here + + api/ + boinc_api.cpp + +David 7 Dec 2010 + - Fix bugs in Rappture wrapper + - Add README file and templates for Rappture wrapper + - create_work: create defaults for --wu_name, --wu_template, --result_template + - user web: fix typo on workunit.php + + tools/ + create_work.cpp + html/user/ + workunit.php + style2.css + samples/wrappture/ + fermi_in (new) + fermi_out (new) + wrappture.cpp + README (new) + +Rom 8 Dec 2010 + - VBOX: Implement stubs for starting/stopping/suspending/resuming VMs + TODO: create/delete. + + samples/vboxwrapper/ + vbox.cpp, .h + vbox_win.cpp + vboxwrapper.cpp + vm.cpp, .h + win_build/ + vboxwrapper.vcproj + +David 7 Dec 2010 + - client: fix scheduling bug when a job has fraction_done = 1 + but it's not finished yet. + ACTIVE_TASK::est_dur() was returning 0 + when it should have returned elapsed_time. + + client/ + work_fetch.cpp + +David 8 Dec 2010 + - API: add support from Truetype fonts (from Carl Christensen) + + api/ + ttffont.cpp,h + +David 8 Dec 2010 + - scheduler: in some cases the system may have a too-low estimate + of the performance of an app version on a host. + It will then stop using that app version, + so the estimate never has a chance to converge to its correct value. + Fix: multiply by a random factor (mean 1, stddev .1) + when comparing the FLOPS estimates of app versions. + + client/ + sim_util.cpp + lib/ + util.cpp,h + sched/ + sched_version.cpp + +David 9 Dec 2010 + - scheduler: in app_plan_sse3(): check for CPU features in + p_model as well as p_features; + pre-6.x clients report them in p_model. + - client: fix bug where "reread config file" didn't update + the max log file sizes + + client/ + main.cpp + log_flags.cpp + sched/ + sched_customize.cpp + +David 9 Dec 2010 + - transitioner: fix bug where retry jobs weren't getting sent + because invalid jobs were counted as successful. + How could this bug possibly have survived this long? + From TJM (thanks -- who are you?) + Fixes #1029 + + sched/ + transitioner.cpp + +David 11 Dec 2010 + - client: fix scheduling problem: + Old: enforce_schedule() won't run an active job if its + working set size exceeds remaining available RAM. + Problem: there may be a lot of similar jobs. + The client starts one, finds that its working set is too large, + starts the second, and so on. + Solution: if J is an unstarted job, + and there are started jobs using the same app version, + consider J's working set size to be the largest of + the working sets of those jobs. + - client: fix an apparent bug that could oversaturate + the CPUs with single-thread jobsk + + client/ + client_types.h + cpu_sched.cpp + +David 13 Dec 2010 + - client: work fetch: if the chosen project is currently uploading a file, + and an upload started in the last 5 min, don't fetch work from it. + The goal is to merge the 2 scheduler RPCs + (fetch work, report completed taskS) into a single RPC. + Note: this may result in idleness in some cases. + - scheduler: if client doesn't handle plan class (pre-5.10), + check plan-class app versions anyway, + but only use if it's a single-CPU app. + This allows single-CPU app versions with specific requirements + (like SSE) to be issued to old clients. + From Bernd Machenschalk + + client/ + client_types.h + work_fetch.cpp + client_state.h + pers_file_xfer.cpp + cs_scheduler.cpp + sched/ + sched_types.h + sched_version.cpp + +David 16 Dec 2010 + - client: if detect that system clock has been set backwards + (either at startup or during execution) + reset a number of "wait until X" variables; + otherwise we might wait years to contact a project, restart a file xfer, etc. + Notes: + - there is no problem setting clocks forward; things just happen prematurely + - some variables (e.g. task deadlines) are not reset, + because it's not clear what to set them to + - sched: remove ati_opencl plan class until we understand what it is + + sched/ + sched_customize.cpp + lib/ + coproc.h + client/ + client_types.h + client_state.cpp,h + coproc_detect.cpp + +David 17 Dec 2010 + - client: improve text of "message from server" notices + - manager: change "add account manager" to "use account manager". + "Add" is confusing, because you can't add multiple account managers + like you add projects. + - client: recognize a few new ATI GPU models + from [P3D] Crashtest + + client/ + client_msgs.cpp + coproc_detect.cpp + cs_scheduler.cpp + clientgui/ + AccountInfoPage.cpp + WelcomePage.cpp + +David 17 Dec 2010 + - API: small tweak that should help narrow down the occasional crashes + in fprintf() and boinc_msg_prefix() seen by E@h + + api/ + boinc_api.cpp + +David 17 Dec 2010 + - client: tweak to ATI CPU recognition + from [P3D] Crashtest + client/ + coproc_detect.cpp + +Rytis 21 Dec 2010 + - user web: add some CSS classes for easier styling + + html/ + inc/ + bbcode_html.inc + forum.inc + user/ + forum_edit.php + forum_forum.php + forum_post.php + +David 22 Dec 2010 + - client simulator: add client availability logic + + client/ + client_state.cpp + sim.cpp,h + time_stats.cpp + +David 23 Dec 2010 + - client: initial, partial checkin for hysteresis work-fetch + client/ + work_fetch.cpp,h + client_state.h + sim.cpp + sim_util.cpp + sim_control.php + +Rytis 24 Dec 2010 + - user web: change forum RSS encoding from ISO-8859-1 to UTF-8 + + html/inc/ + forum_rss.inc + +David 25 Dec 2010 + - client: enabled REC-based scheduling with a cmdline option + rather than a compile flag + + client/ + work_fetch.cpp,h + client_types.cpp,h + client_state.cpp + sim.cpp + gui_rpc_server_ops.cpp + sim_control.php + cpu_sched.cpp + +David 30 Dec 2010 + - client: more hysteresis work fetch policy stuff + - client simulator work + + client/ + work_fetch.cpp,h + sim.cpp + sim_control.cpp diff --git a/client/sim_control.php b/client/sim_control.php index 756ec43de5..ec9c9a61fc 100644 --- a/client/sim_control.php +++ b/client/sim_control.php @@ -65,8 +65,13 @@ class RESULT { $this->rpcs = 0; } function write($f) { - fprintf($f, "\"%s\" wf %f if %f sv %f m %f r %f\n", - $this->name, + if (is_numeric($this->name)) { + fprintf($f, "%e", $this->name); + } else { + fprintf($f, "\"%s\"", $this->name); + } + fprintf($f, + " wf %f if %f sv %f m %f r %f\n", $this->wasted_frac, $this->idle_frac, $this->share_violation, diff --git a/clientgui/AsyncRPC.cpp b/clientgui/AsyncRPC.cpp old mode 100755 new mode 100644 diff --git a/clientgui/DlgItemProperties.cpp b/clientgui/DlgItemProperties.cpp old mode 100755 new mode 100644 diff --git a/clientgui/DlgItemProperties.h b/clientgui/DlgItemProperties.h old mode 100755 new mode 100644 diff --git a/html/inc/stats_sites.inc b/html/inc/stats_sites.inc index 4921b8e889..29bb9863e4 100644 --- a/html/inc/stats_sites.inc +++ b/html/inc/stats_sites.inc @@ -37,9 +37,6 @@ $cpid_stats_sites = array( array("The Knights Who Say 'Ni!'", "http://stats.kwsn.net/user.php?proj=all&cpid=%s" ), - array("Team Starfire World BOINC Stats 'N Stones", - "http://statsnstones.tswb.org/userdetail.aspx?cpid=%s" - ), ); $stats_sites = array( @@ -49,11 +46,6 @@ $stats_sites = array( "(Team ranking based on position within projects, as in Formula 1 racing, rather than total points)" ), - array( - "http://statsnstones.tswb.org/", - "Team Starfire World BOINC Stats 'N Stones", - "" - ), array( "http://www.allprojectstats.com/", "BOINC All Project Stats", diff --git a/samples/example_app/uc2.cpp b/samples/example_app/uc2.cpp old mode 100755 new mode 100644 diff --git a/samples/wrapper/wrapper.cpp b/samples/wrapper/wrapper.cpp index bd4468559b..5d7228aba0 100644 --- a/samples/wrapper/wrapper.cpp +++ b/samples/wrapper/wrapper.cpp @@ -25,7 +25,7 @@ // - checkpointing // (at the level of task; or potentially within task) // -// See http://boinc.berkeley.edu/wrapper.php for details +// See http://boinc.berkeley.edu/trac/wiki/WrapperApp for details // Contributor: Andrew J. Younge (ajy4490@umiacs.umd.edu) #include