David 1 Jan 2011 - fix some bad file permissions - delist defunct stats site clientgui/ DlgItemProperties.cpp,h AsynRPC.cpp html/inc/ stats_sites.inc samples/ wrapper/ wrapper.cpp example_app/ uc2.cpp client/ sim_control.cpp David 2 Jan 2011 - unix build: remove hardwired -ldl lib/ Makefile.am David 3 Jan 2011 - client: show a given system notice at most once a week client/ client_msgs.cpp sim_control.cpp cs_notice.cpp Charlie 4 Jan 2010 - Mac: Fix symbol table generation. mac_build/ boinc.xcodeproj/ project.pbxproj David 6 Jan 2011 - user web: fix bugs in server status page - fix some indentation html/user/ server_status.php client/ *.cpp David 6 Jan 2011 - simulator work - fix some indentation various files David 11 Jan 2011 - client: use std::deque instead of std::vector for RR sim's pending-job lists. Erasing head of vector is slow. - lib: allow GPU peak FLOPS to be specified in XML (for simulator) - simulator work - client: old work fetch policy: projects may need enough jobs for all device instances, not just resource_share*ninst. E.g. a project that has only CPU jobs in a CPU/GPU client - client: with REC scheduling, don't ask for work for secondary resources if project has negative priority. - client: in RR sim, make sure we saturate devices if possible. Otherwise we may report a shortfall incorrectly client/ coproc_detect.cpp cpu_sched.cpp rr_sim.cpp,h sim.cpp sim_control.php sim_scenario.php (new) work_fetch.cpp,h lib/ coproc.cpp,h sched/ sched_customize.cpp sched_types.cpp David 11 Jan 2011 - client: set PROJECT::last_upload_start when a job completes, NOT when its first upload starts. This prevents a scheduler RPC from happening between the two. This was a bug in [22841] client/ cs_apps.cpp pers_file_xfer.cpp David 12 Jan 2011 - client: tweak [22842] so that system clock changes of < 60 seconds are ignored client/ client_state.h Rom 12 Jan 2011 - MGR: Embed the BOINC skin in the executable using XPM files. clientgui/res/skins/default/graphic/ clientgui/ SkinManager.cpp win_build/ boincmgr.vcproj David 12 Jan 2011 - single-job submission system: don't hardwire i686 architecture; make it work on any Linux system. From Steffen Moller. html/ops/ single_job_setup.php Rom 13 Jan 2011 - MGR: Disable the background repaint events for the SGUI Messages and SGUI Preferences dialog. Changing the font color wasn't as easy as I had hoped and the black background for the skin doesn't do any good when the text itself is black as well. clientgui/ sg_DlgMessages.cpp sg_DlgPreferences.cpp David 13 Jan 2011 - scheduler/client/API: pass user ID and team ID from scheduler to client, and from client to app (host ID is already passed). E@h asked for this, not sure why. client/ client_types.cpp,h app_start.cpp lib/ app_ipc.cpp,h sched/ sched_types.cpp Rom 13 Jan 2010 - MGR: re-enable background painting and just change the default background color for the new default skin to light gray. clientgui/ sg_DlgMessages.cpp sg_DlgPreferences.cpp Bernd 14 Jan 2011 - unix build system: generate_svn_version - generate version string from plain git repositories, too - define SVN_REPOSITORY (URL) and SVN_REVISION (numerical) separately so these could be used in proprocessor directives generate_svn_version.sh David 14 Jan 2011 - make the Manager build on FC11 - simulator work clientgui/ Makefile.am sched/ edf_sim.cpp client/ sim.cpp sim_control.php David 15 Jan 2011 - client: fix job scheduling bug. Scenario: we have 2 CPUs and 1GB RAM Project A has jobs that use 1GB. Project B has small-mem jobs. Currently, we ignore RAM usage in building the runnable job list, so we might pick 2 jobs from project A. enforce_schedule() (which checks RAM usage) will run just one of them, and the other CPU will be idle. Solution: keep track of RAM usage while building the runnable job list. client/ cpu_sched.cpp David 15 Jan 2011 - client: code cleanup in CPU scheduling; eliminate global variable client/ client_state.cpp,h cpu_sched.cpp sim.cpp Charlie 18 Jan 2011 Mac: update release script to remove install of separate BOINC skin. mac_installer/ release_boinc.sh David 18 Jan 2011 - simulator work client/ cpu_sched.cpp work_fetch.h sim.cpp sim_control.cpp client_types.cpp David 19 Jan 2011 - client: eliminate unnecessary CPU reschedules. Currently we do a reschedule any time a job checkpoints, in case there's a job that has finished a time slice but hasn't checkpointed yet. Instead: flag such jobs, and trigger a reschedule on checkpoint only for flagged jobs. - client: fix instability in job scheduling that happens if a job's estimated completion time in RR sim is close to its deadline. It can alternate between making and missing deadline, causing the scheduler to alternate rapidly between jobs. Solution: if RR sim has marked a job as deadline miss any time in the last (CPU scheduling period), treat it as a deadline miss. client/ app.cpp,h rr_sim.cpp app_control.cpp cpu_sched.cpp David 19 Jan 2011 - client: if we're using an acct mgr, and we're attached to a project manually (not via acct mgr) and the acct mgr tells us to detach from it, don't. client/ acct_mgr.cpp David 19 Jan 2011 - server: fix for EmBOINC sched/ sched_util.cpp David 24 Jan 2011 - server: disable upload certificates by default. These increase server load and it's not clear they're needed. py/Boinc/ setup_project.py Rom 25 Jan 2011 - MGR: Fix advanced view button is Simple GUI. (Button Text is Verdana 8pt. in MS Paint) clientgui/res/skins/default/graphic/ advanced_link_image.xpm clientgui/res/templates/skins/ advanced_link_image.gif (Added) btnAdvancedView.png (Removed) David 25 Jan 2011 - client: accept and in cc_config.xml - client: reset log flags (as well as options) when rereading cc_config.xml client/ log_flags.cpp,h David 25 Jan 2011 - web: tweaks so that BOINC-Wide Teams site can warn people if their email address is not validated html/ inc/ user.inc user/ edit_email_action.php Charlie 27 Jan 2011 Mac: update Mac_SA_Insecure.sh script to not require BOINC Client in BOINC Data folder. mac_build/ Mac_SA_Insecure.sh Charlie 27 Jan 2011 - MGR: Add new Simple GUI. clientgui/ AdvancedFrame.cpp, .h BOINCGUIApp.cpp, .h Events.h sg_BoincSimpleFrame.cpp, .h (new) sg_CustomControls.cpp, .h sg_PanelBase.cpp, .h (new) sg_ProjectCommandPopup.cpp, .h (new) sg_ProjectPanel.cpp, .h (new) sg_ProjectWebSitesPopup.cpp, .h (new) sg_TaskCommandPopup.cpp, .h (new) sg_TaskPanel.cpp, .h (new) SkinManager.cpp mac/ MacBitmapComboBox.cpp, .h (new) res/ RedDot16.xpm (new) YellowDot16.xpm (new) GreenDot16.xpm (new) mac_build/ boinc.xcodeproj/ project.pbxproj win_build/ boincmgr.vcproj David 27 Jan 2011 - client: fix bug in setting GPU peak flops client/ coproc_detect.cpp lib/ coproc.cpp,h Charlie 28 Jan 2011 - MGR: Fix default skin selection display in Simple Preferences dialog. - MGR: Use standard native buttons in Simple Preferences and Simple Notices dialogs. - MGR: Use our control IDs instead of wxID_HELP for Help buttons for Mac accessibility (wxID_HELP makes a bitmap button on Macs which VoiceOver screen reader can't read.) - MGR: Disable tooltips on Mac while new simple GUI menus are popped up because they cover menus. clientgui/ DlgAdvPreferences.cpp DlgAdvPreferencesBase.cpp sg_BoincSimpleFrame.cpp sg_DlgMessages.cpp sg_DlgPreferences.cpp sg_ProjectCommandPopup.cpp sg_ProjectWebSitesPopup.cpp sg_TaskCommandPopup.cpp wizardex.cpp SkinManager.cpp mac/ MacBitmapComboBox.cpp, .h mac_build/ boinc.xcodeproj/ project.pbxproj David 28 Jan 2011 - back end: allow the specification of a read-only DB replica (in config.xml) to include DB name, user, and password. - back end: add read-only replica info to SCHED_CONFIG, so that C++ programs can use the replica (currently only PHP code can use it) - db_dump: use the read-only DB replica if it exists. html/inc/ boinc_db.inc db.inc sched/ sched_config.cpp,h db_dump.cpp David 28 Jan 2011 - new script sched/transitioner_catchup.php: transitions all WUs that need it, then exits. For big projects coming up after an outage, run this before bin/start to minimize startup overload - tweaks to PHP libraries to allow them to be used by scripts anywhere in the dir hierarchy sched/ transitioner_catchup.php html/inc/ boinc_db.inc util_basics.inc py/Boinc/ setup_project.py Charlie 29 Jan 2011 - MGR: Code cleanup. clientgui/ sg_PanelBase.cpp, .h sg_ProjectPanel.cpp, .h sg_TaskPanel.cpp, .h Charlie 30 Jan 2011 - MGR: New Simple GUI optimization. clientgui/ sg_BoincSimpleFrame.cpp sg_PanelBase.cpp sg_TaskPanel.cpp, .h Charlie 30 Jan 2011 - MGR: Fix compile break on Linux. clientgui/ sg_DlgPreferences.cpp Charlie 31 Jan 2011 - MGR: Update Makefile. - MGR: New Simple GUI optimization. clientgui/ Makefile.am sg_TaskPanel.cpp, .h Charlie 31 Jan 2011 - Mac: Add info about dual-GPU Powerbooks to ReadMe files. mac_installer/ GR-ReadMe.rtf PTP-ReadMe.rtf ReadMe.rtf David 1 Feb 2011 - client: make "wrong URL" message not be a notice - web: fix caching problem when PHP not installed as Apache module html/inc/ cache.inc client/ cs_scheduler.cpp Charlie 1 Feb 2011 - Mac: Localize items in Mac's BOINC menu. clientgui/ AdvancedFrame.cpp sg_BoincSimpleFrame.cpp mac/ MacGUI.pch Mac_GUI.cpp Charlie 1 Feb 2011 - MGR: Use branded short application name in Help tooltips instead of always using "BOINC". - Mac: Eliminate unused source files Localization.cpp, .h from Mac project. clientgui/ DlgEventLog.cpp sg_BoincSimpleFrame.cpp sg_DlgMessages.cpp sg_DlgPreferences.cpp sg_ProjectsComponent.cpp mac_build/ boinc.xcodeproj/ project.pbxproj Rom 1 Feb 2011 - WINSETUP: Avoid a 0xc0000135 error by giving the boinc_master and boinc_project membership in the 'Users' group. Dynamic linking to nvcuda.dll was failing because the project applications were being denied access to DLLs in the system directory. win_build/installerv2/redist/Windows/src/boinccas/ boinccas.rc CACreateBOINCGroups.cpp win_build/installerv2/redist/Windows/Win32/ boinccas.dll boinccas95.dll win_build/installerv2/redist/Windows/x64/ boinccas.dll boinccas95.dll David 1 Feb 2011 - create_work: add -d option tools/ create_work.cpp Rom 3 Feb 2011 - MGR: Enable the volunteer configurable 'shutdown core client' feature on exit for Linux. It was orginally supposed to be enabled when the balloon features were enabled, but got lost in ifdef hell. (From "Lee") clientgui/ DlgExitMessage.cpp MainDocument.cpp David 3 Feb 2011 - create_work: add some debugging printfs for Kamran tools/ backend_lib.cpp html/ inc/ forum.inc profile.inc user/ weak_auth.php Charlie 3 Feb 2011 - MGR: Eliminate unnecessary #ifdef. clientgui/ BOINCGUIApp.cpp David 4 Feb 2011 - client/manager: show venue in project properties clientgui/ DlgItemProperties.cpp client/ client_types.cpp lib/ gui_rpc_client.h gui_rpc_client_ops.cpp David 7 Feb 2011 - manager: msg tweak client/ CompletionErrorPage.cpp David 7 Feb 2011 - client: don't crash if omit cmdline port#. Fixes #1040 client/ cs_cmdline.cpp Rom 8 Feb 2011 - MGR: Fix a bug that is several years old, appears to have been introduced during the Unicode conversion phase for Windows. Passing a wide character string into an narrow character function causes a NULL reference exception. TODO: There is still an issue if the manager attempts to write to stderr when the BOINC Manager log files are redirected to a directory the user doesn't have access to. clientgui/ SkinManager.cpp David 8 Feb 2011 - user web: add "delete account" feature. This allows a user to delete all traces of themselves from a project. Namely: - clear fields of user record: email_addr, authenticator, name, country, postal_code Note: record is not deleted - clear the domain_name and last_ip_addr fields of hosts Note: records are not deleted - quit team - delete private messages sent and received - delete forum posts, subscriptions, and forum prefs - delete profile and associated images - server: compile fix html/ inc/ pm.inc host.inc forum.inc user.inc util.inc user/ delete_account.php stats.php tools/ backend_lib.cpp David 8 Feb 2011 - create_work and possibly other back-end programs: fix bug that corrupted WU command lines. The problem: we were using strcpy(p, p+n) to delete the first n characters of p. This is incorrect - the behavior of strcpy() is undefined if its args overlap. On some systems (e.q. AQUA's server) it does wacky things. tools/ backend_lib.cpp lib/ str_util.cpp,h parse.cpp David 9 Feb 2011 - user web: apparently if you put links of the form http://setiathome.berkeley.edu/help.php?key=Viagra.uk all over the web, Google will list "Viagra.uk" in your site outline (why??). Preliminary checkin for dealing with this. html/ inc/ prefs.inc util.inc user/ view_profile.php account_finish.php am_get_info.php add_venue.php David 9 Feb 2011 - user web: make all forum tables full-width html/inc/ forum.inc David 9 Feb 2011 - user web: finish dealing with get args spam html/ user/ *.php inc/ pm.inc prefs.inc forum.inc util.inc David 9 Feb 2011 - user web: appearance tweaks html/ inc/ forum.inc user/ forum_help_desk.php forum_index.php white.css David 10 Feb 2011 - user web: fix "nowrap" post display html/inc/ forum.inc David 10 Feb 2011 - user web: CSS cleanup. Use classes instead of IDs. white.css and black.css are cleaned up; style2.css needs work html/ inc/ pm.inc forum.inc user.inc util.inc user/ pm.php sample_index.php forum_thread.php main.css forum_help_desk.php friend.php forum_forum.php forum_index.php style2.css white.css David 10 Feb 2011 - client: if a logical filename contains /'s, create the needed dirs under the slot dir - user web: pages with translatable text should not be cached. Fix this for home page; there are some others client/ app_start.cpp html/user/ sample_index.php David 11 Feb 2011 - manager: project properties: if no venue, show "default" clientgui/ DlgItemProperties.cpp David 11 Feb 2011 - user web: style tweaks html/user/ forum_post.php main.css white.css David 11 Feb 2011 - user web: disable "delete account" feature html/ user/ delete_account.php inc/ user.inc David 11 Feb 2011 - user web: bug fixes html/user/ team_quit_action.php team_manage.php forum_moderate_post.php David 13 Feb 2011 - user web: fix venue change html/ inc/ prefs.inc util.inc user/ host_venue_action.php David 13 Feb 2011 - user web: bug fixes html/user/ forum_moderate_thread.php add_venue.phhp David 13 Feb 2011 - user web: bug fix html/user/ forum_reply.php David 13 Feb 2011 - user web: bug fix html/user/ forum_banishment_vote_action.php David 14 Feb 2011 - user web: bug fix html/user/ pm.php David 14 Feb 2011 - user web: fix [img] BBcode problem html/inc/ text_transform.inc David 14 Feb 2011 - user web: various fixes html/ inc/ prefs.inc user/ main.css prefs_remove.php forum_reply.php white.css add_venue.php forum_edit.php David 14 Feb 2011 - user web: fixes html/user/ sample_index.php main.css David 14 Feb 2011 - client, linux: use X server for idle detection if available configure.ac client/ hostinfo_unix.cpp Charlie 15 Feb 2011 Mac: Make backtrace compile properly with OS 10.5 and OS 10.6 SDKs. lib/ QBacktrace.c QCrashReport.c Charlie 15 Feb 2011 Mac Installer: Fix the code which deletes installer receipts to use the current package name (which changed when I eliminated the Mac installer wrapper application around the installer package.) This is needed to allow isntalling an older version to replace a newer one under OS 10.4.x. mac_installer/ PostInstall.cpp uninstall.cpp David 15 Feb 2011 - transitioner: fix bug that could cause file deletion to not be done for some WUs - back end: fix the way "report grace period" is implemented old: result.report_deadline (i.e. what's in the DB) and the deadline sent to the client are the same. Some confusing and incorrect logic in the transitioner tries to provide the desired semantics. new: result.report_deadline is the deadline sent to the client, plus the grace period. No logic in the transitioner is needed. db/ boinc_db.cpp,h sched sched_config.cpp,h sched_send.cpp transitioner.cpp sched_resend.cpp David 15 Feb 2011 - file upload handler: if client-reported offset is less than file size, don't just print an error message; lseek() back to the offset point. Otherwise we can end up with duplication in the file. sched/ file_upload_handler.cpp David 15 Feb 2011 - update_versions: if FILE.file_ref_info contains , use that instead of physical name. This lets you have logical names with slashes py/Boinc/ tools.py Charlie 16 Feb 2011 Mac: More thorough error checking and recovery in code which localizes items in Mac's BOINC menu. mac/ Mac_GUI.cpp David 16 Feb 2011 - user web: fixes to private message functions html/user/ pm.php David 16 Feb 2011 - client: fix work-fetch bug. The change in [21877] caused tasks in "download stalled" state to be skipped in RR simulation, and therefore to not be counted in the work buffer. However, "download stalled" was not being evaluated correctly; it was considering only per-file backoff, not project-wide backoff. - client: another work-fetch bug: don't fetch work from a project in project-wide download backoff. client/ client_types.cpp David 16 Feb 2011 - client: fix bug in mechanism that defers work request until pending uploads are finished. Due to a typo, this was not being done. client/ cs_scheduler.cpp David 16 Feb 2011 - client: when exclusive app mechanism is used (CPU or GPU) wait for 30 secs after excl app exits before restarting computation client/ app.cpp,h client_state.h cs_prefs.cpp Charlie 17 Feb 2011 Mac: Additional error checking and release created objects in code which localizes items in Mac's BOINC menu. mac/ Mac_GUI.cpp Charlie 17 Feb 2011 - Mac installer: update branded build scripts to eliminate wrapper application around install package (as was done for BOINC 6.12.7). clientgui/ res/ MacPTPPkgIcon.zip (new) MacGRPkgIcon.zip (new) mac_installer/ make_GridRepublic.sh make_ProgThruProc.sh David 17 Feb 2011 - file upload handler: fix faulty bug fix of 2/15 - client: make REC-based scheduling and hysteresis the defaults client/ work_fetch.cpp sched/ file_upload_handler.cpp David 17 Feb 2011 - client: when detach project, remove its RSS feeds from list - client: remove once-per-week limit for client-generated notices; need to show "network connection required" more often - client: when remove "network conn required" notice (because now have conn) set the flag that says complete notice list is being sent - client: if RSS feed fetch returns , show the corresponding message rather than "XML parse error" client/ client_state.cpp cs_notice.cpp gui_rpc_server_ops.cpp http_curl.cpp net_stats.cpp,h Rom 18 Feb 2011 - client: Fast User Switching does not change the session protocol to RDP when the active session is put into the background and a new one is brought into the foreground. It appears it is safe to use the connected state in addition to the protocol to detect when the session is no longer capable of processing GPU work lib/ win_util.cpp Charlie 18 Feb 2011 - Mac: Update link to NVIDIA CUDA Mac driver download page mac_installer/ GR-ReadMe.rtf PTP-ReadMe.rtf ReadMe.rtf David 18 Feb 2011 - client: more notice-related fixes. I'm working on this case: - start up - disconnect (produces notice) - reconnect (removes notice) The client is now doing the right thing. The manager is not. client/ acct_setup.h cs_notice.cpp,h gui_rpc_server.h gui_rpc_server_ops.cpp David 19 Feb 2011 - wrapper: add optional element in elements; specifies a directory to run app in. macro-substitute project dir for $PROJECT_DIR. From Carl Christensen, more or less samples/wrapper/ wrapper.cpp David 19 Feb 2011 - wrapper: add optional element in elements; specifies an environment variable assignment; macro-substitute project dir for $PROJECT_DIR. From Carl Christensen samples/wrapper/ wrapper.cpp David 19 Feb 2011 - client: make "wait 30 sec after exclusive app exits" apply to network too - client: fix bug in "wait 30 sec after exclusive app exits" logic - client: fix compile warning and possible bug in is_remote_desktop() - win: remove wrappture_example from solution (until Hubzereo guys get their win lib working) client/ app.cpp cs_prefs.cpp lib/ win_util.cpp samples/wrapper/ wrapper.cpp win_build/ boinc.sln David 20 Feb 2011 - wrapper: Windows fixes samples/wrapper/ wrapper.cpp David 20 Feb 2011 - client: fix disk-space accounting bug when user quotas in use (Windows) lib/ filesys.cpp Charlie 21 Feb 2011 - client: fix compiler warning. client/ cs_notice.cpp David 22 Feb 2011 - client: add cpu_sched debug messages for anti-domino-effect and anti-thrasing mechanisms - wrapper: to kill an app, use SIGTERM instead of SIGKILL client/ acct_mgr.cpp cpu_sched.cpp samples/wrapper/ wrapper.cpp David 22 Feb 2011 - wrapper: improve and bullet-proof the way we kill apps. Win: enumerate all descendants, and kill them all TerminateProcess(). Unix: send the main process a SIGTERM. Check once a sec for existence of descendants. if none, done If any still exist after 10 sec, kill all descendants - wrapper fix bug in Win env var stuff - scheduler: check for VBox version 3.2+ in app_plan() sched/ sched_customize.cpp lib/ procinfo.h procinfo.cpp (new) procinfo_win.cpp procinfo_unix.cpp Makefile.am samples/wrapper/ wrapper.cpp David 22 Feb 2011 - client: send at start of scheduler and account manager requests. client/ cs_scheduler.cpp acct_mgr.cpp cpu_sched.cpp David 22 Feb 2011 - client: don't send . Daemons are started before regular tasks, run concurrently with them, and are killed on exit. samples/wrapper/ wrapper.cpp David 24 Feb 2011 - client: remove auto update stuff from makefiles. This feature is mothballed. client/ client_state.cpp,h scheduler_op.cpp,h file_names.cpp cs_scheduler.cpp cs_statefile Makefile.am David 24 Feb 2011 - wrapper: fixes from Carl lib/ procinfo_win.cpp samples/wrapper/ wrapper.cpp Charlie 24 Feb 2011 - Mac: Remove auto_update.cpp, auto_update.h from XCode Project. mac_build/ boinc.xcodeproj/ project.pbxproj David 25 Feb 2011 - user web: - in friend request notification, link to user page - in user page, show ID - remove "Account data for " in page title html/ inc/ user.inc friend.in user/ show_user.php Rytis 26 Feb 2011 - user web: add a config option to always show workunit details when using adaptive replication. html/user/ workunit.php David 26 Feb 2011 - user web: fix wrong user ID html/inc/ user.inc David 26 Feb 2011 - back end: add two example trickle handlers: trickle_credit: grants credit based on CPU time reported in msg trickle_echo: echoes trickle-up as a trickle-down sched/ trickle_handler.cpp, h (new) sched_result.cpp trickle_credit.cpp credit.cpp,h trickle_echo.cpp validator.cpp Makefile.am David 28 Feb 2011 - user web: add a feature allowing project admins to control whether news items are exported as notices. The creator of a news item is shown a "Don't export" or "Export" button on the thread page. By default, news items are exported. db/ schema.sql html/ inc/ news.inc user/ forum_thread.php notices.php forum_thread_status.php David 28 Feb 2011 - user web: bug fix to the last checkin - boinccmd: fix --get_project_config operation html/user; forum_thread_status.php client/ boinc_cmd.cpp David 2 Mar 2011 - user web: show date/time on friend request page html/user/ friend.php Rom 2 Mar 2011 - MGR: Properly handle the case where the only notice in the manager is the 'no notice' notice and then we transition to a single notice from another source. clientgui/ NoticeListCtrl.cpp, .h David 2 Mar 2011 - manager: show notice create time rather than arrival time - client: don't show "need network" notice if we don't need it clientgui/ NoticeListCtrl.cpp client/ cs_notice.cpp David 2 Mar 2011 - client: when get a bunch of notices from RSS feed, sort them by create time before appending to notice list. This ensures that, in the Notices tab, notices are ordered decreasing create time within an RSS feed (though not necessarily across feeds) client/ cs_notice.cpp,h Rom 2 Mar 2011 - MGR: Turn -boincargs into a string instead of an option. clientgui/ BOINCGUIApp.cpp Rom 2 Mar 2011 - MGR: Turn off the task pane for the notices tab. clientgui/ ViewNotices.cpp Rom 2 Mar 2011 - MGR: Disable our color scheme is a non-white background is selected for the current theme. My commit on 3 Mar 2010 wasn't good enough for High-Contrast themes. clientgui/ BOINCBaseView.cpp DlgEventLog.cpp David 2 Mar 2011 - client: in deciding whether to remove the "need network" notice, we were using the wrong (too high-level) interface client/ cs_notice.cpp Charlie 3 Mar 2011 - MGR: Remove the old SimpleGUI from the projects. The following source files are no longer used; they have been removed from the builds, but have not yet been deleted from the SVN repository: sg_BoincSimpleGUI.cpp,.h, sg_ClientStateIndicator.cpp,.h, sg_ImageButton.cpp,.h, sg_ImageLoader.cpp,.h, sg_ProgressBar.cpp,.h, sg_ProjectsComponent.cpp,.h, sg_StatImageLoader.cpp,.h, sg_ViewTabPage.cpp,.h clientgui/ AdvancedFrame.cpp, .h BOINCGUIApp.cpp, .h Events.h Makefile.am sg_BoincSimpleFrame.cpp, .h mac_build/ boinc.xcodeproj/ project.pbxproj win_build/ boincmgr.vcproj Rom 3 Mar 2011 - MGR: Change the reminder frequency interval to hours and adjust the min/max values to 0/24. Default value is now 6 hours between notification reminders. clientgui/ BOINCBaseFrame.cpp BOINCDialupManager.cpp BOINCTaskBar.cpp DlgOptions.cpp David 3 Mar 2011 - client: fix inaccuracy in RR simulation reported by Bill Barber. The problem arises when there are jobs of projects with widely differing resource shares, and results in an overestimation of saturated time. Old: at the start of simulation, call WORK_FETCH::compute_shares() to get resources of runnable projects. Use these throughout the simulation. Problem: suppose you have 2 runnable projects; P1 has large RS, P2 has small RS. P1's jobs finish quickly. P2's jobs then are running alone, but their FLOPS is scaled (incorrectly) by P2's small RS. Solution: recompute relative CPU resource share within the simulation loop, and compute it over the projects that have actives jobs in the simulation. client/ rr_sim.cpp client_types.h Charlie 3 Mar 2011 - MGR: reduce duration of notifications on Mac from 15 to 5 seconds. clientgui/ BOINCTaskBar.cpp David 3 Mar 2011 - manager: fix copyright date in about box clientgui/ DlgAbout.cpp David 4 Mar 2011 - scheduler: if we're not sending jobs because of user prefs (no CPU, no GPU, selected apps) send a message, not a notice. Assume the user knew what they were doing, and doesn't want to be nagged. - scheduler: check for the existence of an app version before checking for user selected-app prefs. This prevents sending "no jobs available for selected apps" message when no app versions exist for non-selected apps - scheduler: use "tasks" instead of "work" in user messages sched/ sched_array.cpp sched_send.cpp David 4 Mar 2011 - client: fix spurious error when removing a notice RSS feed client/ cs_notice.cpp David 6 Mar 2011 - client: print smoothed as well as instantaneous WSS - manager: make RPC reason strings translatable client/ app.cpp clientgui/ ViewProjects.cpp Rom 7 Mar 2011 - MGR: Refactor part of the Options dialog out of the Advanced Frame code. - MGR: Change the Reminder Frequency option in the Options dialog to a combo box. TODO: Change the taskbar logic to handle the 'always' case. clientgui/ AdvancedFrame.cpp BOINCBaseFrame.cpp, .h BOINCTaskBar.cpp DlgOptions.cpp, .h Rom 7 Mar 2011 - MGR: ComboBox's are zero index based. clientgui/ DlgOptions.cpp, .h Rom 7 Mar 2011 - MGR: Handle the 'always' option by only popping a new balloon if the unread notice count differs from the last time we popped a balloon. clientgui/ BOINCTaskBar.cpp, .h Rom 7 Mar 2011 - MGR: Don't attempt to set the project or account manager if the project list control does not contain any items. This can cause a crash if the all_projects_list.xml is empty. clientgui/ AccountManagerInfoPage.cpp ProjectInfoPage.cpp Charlie 7 Mar 2011 - MGR: Fix compiler warning. clientgui/ DlgOptions.cpp David 7 Mar 2011 - client: fix to [23162] that broke work fetch client/ work_fetch.cpp David 8 Mar 2011 - client: don't put CDATA around account manager opaque data in request msg client/ acct_mgr.cpp Charlie 10 Mar 2011 - MGR: Remove from Skin Manager items no longer used by SimpleGUI. The following source files are no longer used; they have been removed from the builds, but have not yet been deleted from the SVN repository: clientgui/ common/ wxFlatNotebook.cpp,.h wxFlatNotebookImages.h wxFNBDropTarget.h res/ skins/ default/ graphic/ spacer_image.xpm state_indicator_background_image.xpm connecting_indicator_image.xpm error_indicator_image.xpm workunit_active_image.xpm workunit_suspended_image.xpm workunit_tab_area_background_image.xpm workunit_area_background_image.xpm workunit_animation_background_image.xpm workunit_gauge_background_image.xpm workunit_gauge_progress_indicator_image.xpm project_area_background_image.xpm attach_project_button.xpm attach_project_clicked_button.xpm help_button.xpm help_clicked_button.xpm right_arrow_button.xpm right_arrow_clicked_button.xpm left_arrow_button.xpm left_arrow_clicked_button.xpm save_button.xpm save_clicked_button.xpm synchronize_button.xpm synchronize_clicked_button.xpm cancel_button.xpm cancel_clicked_button.xpm close_button.xpm close_clicked_button.xpm copy_all_button.xpm copy_all_clicked_button.xpm copy_button.xpm copy_clicked_button.xpm messages_link_image.xpm messages_alert_link_image.xpm suspend_link_image.xpm resume_link_image.xpm preferences_link_image.xpm advanced_link_image.xpm The following files have been modified: clientgui/ BOINCGUIApp.cpp SkinManager.cpp, .h sg_DlgPreferences.cpp mac_build/ boinc.xcodeproj/ project.pbxproj win_build/ boincmgr.vcproj Bernd 10 Mar 2011 - unix build system: generate_svn_version - extended support for git repos: generate numeric version from last commit date, record host, remote and branch names generate_svn_version.sh David 10 Mar 2011 - client (Win): if available, use GetActiveProcessorCount() rather than GetSystemInfo() to get the # of CPUs. GetSystemInfo() returns the # of CPUs in the caller's processor group, which is always <= 64 even on hosts with > 64 CPUs client/ hostinfo_win.cpp David 10 Mar 2011 - manager: Add Project wizard: if a project has old server software and doesn't export platform list (e.g. Superlink) don't show a confusing "this project may not support your type of computer" message; clientgui/ ProjectInfoPage.cpp Charlie 11 Mar 2011 - MGR: Fill in initial URL on Account Manager Wizard Selection page. - MGR: Add a new page to Attach Wizard to be displayed if the user rejects the Terms of Use. - lib: Make sorts of projects and account mangers case-insensitive. clientgui/ AccountManagerInfoPage.cpp Makefile.am TermsOfUsePage.cpp UserDisagreesPage.cpp, .h (new) WizardAttach.cpp, .h lib/ gui_rpc_client_ops.cpp mac_build/ boinc.xcodeproj/ project.pbxproj win_build/ boincmgr.vcproj Charlie 11 Mar 2011 - MGR: Fix compiler warning. clientgui/ sg_BoincSimpleFrame.cpp Rytis 12 Mar 2011 - user web: implement Memcache as an option for caching (defaults to in-file cache). Can be enabled by installing php5-memcached package and defining MEMCACHE_SERVERS in project.inc html/ inc/ cache.inc project.sample/ project.inc user/ show_user.php team_display.php top_hosts.php top_teams.php top_users.php view_profile.php David 12 Mar 2011 - move client simulator PHP code to doc/sim doc/sim/ various Rytis 13 Mar 2011 - user web: change remaining occurrences of fullpage caching to object cache. start_cache() and end_cache() are now deprecated. html/ inc/ cache.inc team.inc user/ download_network.php server_status.php team_members.php userw.php David 13 Mar 2011 - validator: if --credit_from_wu is set, and no credit specified in WU, assign zero credit and keep going - client simulator work client/ sim.cpp makefile_sim cs_notice.cpp cpu_sched.cpp sched/ validator.cpp David 14 Mar 2011 - API: get rid of BOINC_OPTIONS::backwards_compatible_graphics. Not necessary. - wrapper: add optional element to task descriptor. If set, pass the wrapper's cmdline args to that task. NOTE: previously they were always passed. If you want this behavior, you now must set this. samples/wrapper/ wrapper.cpp api/ boinc_api.cpp,h Rom 14 Mar 2011 - SCR: Follow the Mac's lead and gracefully exit the Data Management thread. Preserve the handle to take more drastic actions should that not work. clientscr/ mac_saver_module.cpp, .h screensaver.cpp screensaver_win.cpp, .h David 14 Mar 2011 - client simulator stuff html/user/ forum_thread.php client/ cpu_sched.cpp David 14 Mar 2011 - ops: update script that counts GPUs html/ops/ nvidia.php Charlie 14 Mar 2011 - SCR: Fix compile breaks. clientscr/ mac_saver_module.cpp David 15 Mar 2011 - client simulator stuff client/ sim_cpp,h David 16 Mar 2011 - wrapper: improved subprocess cleanup, Unix samples/wrapper/ wrapper.cpp client/ sim.cpp Bernd 18 Mar 2011 Einstein@home extensions: - protect malloc.h - validator: allow to update 'random' result field - assimilator: add global variables results_prefix and transcripts_prefix, set on command-line sched/ assimilator.cpp assimilate_handler.h hr_info.cpp db/ boinc_db.cpp Bernd 18 Mar 2011 - (locality) scheduler: omit confusing message & backoff in mixed scheduling sched/ sched_locality.cpp David 20 Mar 2011 - client and API: pass "network suspended" flag from client to app; make it available as part of BOINC_STATUS api/ boinc_api.cpp,h html/inc/ uotd.inc client/ app_control.cpp David 21 Mar 2011 - wrapper: macro-substitute $NTHREADS with the --nthreads option value in job.xml samples/wrapper/ wrapper.cpp Rom 22 Mar 2011 - VBox: Checkpoint for Windows * Creates/registers virtual machine * Starts/Stops virtual machine * Suspends/Resumes virtual machine * Deletes/deregisters virtual machine TODO: * Fraction done properly * Standard error streams from virtualized applications * Find a way to hide the VBoxHeadless application window (It can be minimized manually) samples/vboxwrapper/ vbox.cpp, .h vbox_win.cpp vboxwrapper.cpp vm.cpp, .h Charlie 23 Mar 2011 - client: Define MAXPATHLEN if not defined for compatibility with HURD. client/ hostinfo_unix.cpp David 24 Mar 2011 - define MAXPATHLEN, if needed, in filesys.h - fix typo in a GUI RPC handler lib/ filesys.h api/ mac_icon.cpp graphics2_unix.cpp client/ switcher.cpp gui_rpc_server_ops.cpp check_security.cpp hostinfo_unix.cpp Charlie 24 Mar 2011 - client: Begin adding OpenCL support. client/ coproc_detect.cpp lib/ cl.h (added) cl_platform.h (added) coproc.h mac_build/ boinc.xcodeproj/ project.pbxproj David 24 Mar 2011 - client: generalize the GPU framework so that - new GPU types can be added easily - users can specify GPUs in cc_config.xml, referred to by app_info.xml, and they will be scheduled by BOINC and passed --device N options Note: the parsing of cc_config.xml is not done yet. - RPC protocols (account manager and scheduler) can now specify GPU types in separate elements rather than embedding them in tag names e.g. NVIDIA rather than - client: in account manager replies, parse elements of the form NAME indicating the GPUs of type NAME should not be used. This allows account managers to control GPU types not hardwired into the client. Note: and will continue to be supported. - scheduler RPC reply: add NAME (NAME = GPU name) to indicate that the project has no jobs for the indicated GPU type. etc. are still supported - client/lib: remove set_debts() GUI RPC - client/scheduler RPC remove etc. (superceded by no_app) Exception: elements in sched request still have and . Fix this later. Implementation notes: - client/lib: change "CUDA" to "NVIDIA" in type/variable names, and in XML Continue to recognize "CUDA" for compatibility - host_info.coprocs no longer used within the client; use a global var (COPROCS coprocs) instead. COPROCS now has an array of COPROCs; GPUs types are identified by the array index. Index zero means CPU. - a bunch of other resource-specific structs (like RSC_WORK_FETCH) are now stored in arrays, with same indices as COPROCS (i.e. index 0 is CPU) - COPROCS still has COPROC_NVIDIA and COPROC_ATI structs to hold vendor-specific info - APP_VERSION now has a struct GPU_USAGE to describe its GPU usage client/ acct_mgr.cpp,h app_start.cpp client_state.cpp,h client_types.cpp,h coproc_detect.cpp cpu_sched.cpp cs_account.cpp cs_prefs.cpp cs_scheduler.cpp cs_statefile.cpp gui_rpc_server_ops.cpp rr_sim.cpp scheduler_op.cpp.h work_fetch.cpp,h lib/ coproc.h hostinfo.cpp,h win_build/ boinc_cli.vcproj Charlie 25 Mar 2011 - client: Temporarily work around compile breaks introduced by the changes to generalize the GPU framework. NOTE to David: please look for "//TODO: David, please fix" in these files and fix as appropriate. client/ app_start.cpp boinc_cmd.cpp David 25 Mar 2011 - manager: fix crashing bug when notices (or other text parsed by XML_PARSER) contain non-ASCII characters. Rom: please port to 6.12 lib/ parse.cpp David 25 Mar 2011 - client: Unix compile fixes client/ app_start.cpp boinc_cmd.cpp Charlie 25 Mar 2011 - client: Continue adding OpenCL support. - lib: Fix inconsistent line endings in coproc.cpp. client/ coproc_detect.cpp lib/ coproc.cpp, .h David 25 Mar 2011 - manager: fix the above to detect premature EOF correctly lib/ parse.cpp David 25 Mar 2011 - scheduler: compile fixes sched/ sched_customize.cpp sched_version.cpp sched_send.cpp handle_request.cpp sched_types.cpp David 25 Mar 2011 - API: compile fixes for MinGW. Fixes #955. from Matt Arsenault lib/ stackwalker_imports.h boinc_win.h Makefile.mingw api/ Makefile.mingw David 27 Mar 2011 - client: Win OpenCL fix from [P3D] Crashtest client/ coproc_detect.cpp Rom 28 Mar 2011 - MGR: Handle the link click events from the notices control for the Simgle GUI notices dialog box. clientgui/ sg_DlgMessages.cpp, .h Rom 28 Mar 2011 - API: Flush buffers before terminating. - SCR: Flush buffers before terminating. api/ boinc_api.cpp clientscr/ screensaver_win.cpp Charlie 29 Mar 2011 - MGR: Fix compile break. clientgui/ sg_DlgMessages.h Charlie 29 Mar 2011 - client: Continue adding OpenCL support. client/ coproc_detect.cpp lib/ coproc.cpp, .h Rom 29 Mar 2011 - client: prevent client from crashing in OpenCL code - client: fix function prototypes for dynamically calling OpenCL functions. client/ coproc_detect.cpp Rom 29 Mar 2011 - MGR: Remove UserDisagreesPage from the wizard, replace functionality by enabling/disabling the next button as needed. - MGR: Fix a couple of warnings. clientgui/ sg_CustomControls.cpp sg_DlgMessages.cpp TermsOfUsePage.cpp UserDisagreesPage.cpp, .h (Deleted) WizardAttach.cpp, .h Rom 29 Mar 2011 - WINSCR: So after looking over all the logs from WCG and now from Jacob Klein a pattern started to emerge. At the end of the log files the last message logged was 0x12 which translates into WM_QUIT. The latest documentation on WM_QUIT states it should never show up in the message loop to begin with. The docs now say that WM_QUIT should not be sent to the message loop by way of PostMessage. We have been doing things this way for over 5 years. Change the shutdown logic so that only the primary curtain window can call PostQuitMessage() and all other curtain windows just exit when they receive a WM_DESTROY message. I'm not sure what causes this to be a problem on some machines and not others. But preliminary results from Jacob are encouraging. clientscr/ screensaver_win.cpp, .h Charlie 30 Mar 2011 - Mac: Eliminate unused source files UserDisagreesPage.cpp, .h from Mac project. mac_build/ boinc.xcodeproj/ project.pbxproj Rom 30 Mar 2011 - client: OpenCL Profile Version wasn't being used anywhere and trying to get it was causing a crash on Windows. Remove for now. - client: Fix ATI OpenCL detection so that the coproc test messages will appear. client/ coproc_detect.cpp lib/ coproc.h Rom 30 Mar 2011 - client: Beef up the trace logging when attempting to match OpenCL devices to their native counterparts. client/ coproc_detect.cpp Charlie 30 Mar 2011 - client: Continue adding OpenCL support. We must check all OpenCL platforms; apparently ATI's platform reports only ATI / AMD GPUs, and NVIDIA's platform reports only NVIDIA GPUs. The NVIDIA vendor may be reported as "NVIDIA" or"NVIDIA Corporation" Note: The client currently always says "No usable GPUs found" because David has not yet completed implementing the changes befgun on 24 Mar. client/ coproc_detect.cpp lib/ coproc.h Rom 31 Mar 2011 - lib: Bring header and implementation files into sync over the coproc parsing function. lib/ coproc.cpp, .h Rom 31 Mar 2011 - lib: Fix build break for Linux. lib/ procinfo.cpp Charlie 31 Mar 2011 - Fix Win build breaks caused by renaming of directory coprocs/cuda/ to coprocs/NVIDIA/. - Eliminate redundant cl.h and clpatform.h in lib/ directory because Rom has added them to new coprocs/OpenCL/include/ directory. NOTE: It is risky to have multiple copies of the same file in the same source tree, as they can easily get out of sync. Makefile.incl lib/ coproc.h cl.h (deleted) cl_platform.h (deleted) mac_build/ boinc.xcodeproj/ project.pbxproj win_build/ boinc_cli.vcproj boinc_os_ss.vcproj boinc_ss.vcproj boinccmd.vcproj boinclog.vcproj boincmgr.vcproj example_app_multi_thread.vcproj libboinc.vcproj libboinc_staticcrt.vcproj libboincapi_staticcrt.vcproj libgraphics2.vcproj sleeper.vcproj uc2.vcproj uc2_graphics.vcproj vboxwrapper.vcproj wrapper.vcproj wrappture_example.vcproj Charlie 31 Mar 2011 - client: Add debug logging to show GPU detection when OpenCL is installed but CAL and / or CUDA is not. (I have verified this works for NVIDIA GPUs on Mac OS 10.6 without CUDA support installed.) client/ coproc_detect.cpp David 1 Apr 2011 - server/client: make a stripped-down OpenCL header file, lib/cl_boinc.h, for the things that BOINC actually needs (fixes server compile problems) - client: fix various compile errors in coproc_detect.cpp lib/ coproc.h cl_boinc.h Makefile.am client/ coproc_detect.cpp David 1 Apr 2011 - scheduler: removed unused destructors in COPROC that caused scheduler to crash (not sure why) sched/ sched_types.cpp,h lib/ coproc.h procinfo.h Charlie 1 Apr 2011 - Mac: Revise Mac project for deleted coprocs/OpenCL/include/ directory and new cl_boinc.h. mac_build/ boinc.xcodeproj/ project.pbxproj David 1 Apr 2011 - lib: fix compile warnings by removing virtual functions in COPROC lib/ coproc.h David 4 Apr 2011 - scheduler: don't send unboundedly many assigned jobs - Makefile: don't include unnecessary files sched/ sched_assign.cpp Makefile.incl David 4 Apr 2011 - client: discard messages whose create time OR arrival time is more than 30 days ago client/ cs_notices.cpp David 4 Apr 2011 - client: use larger buffer for app command line, enough to accommodate 64KB from wu.cmdline client/ app_start.cpp David 4 Apr 2011 - scheduler: and are per-processor, not per-host. sched/ sched_config.cpp sched_limit.h David 6 Apr 2011 - manager: change simple view notices window title from Messages to Notices clientgui/ sg_DlgMessages.cpp David 6 Apr 2011 - user web: fix numeric field sanitization in prefs. Fixes #1087. - client: if PREFS::max_ncpus_pct is 0, don't set it to 100; doing so prevents PREFS::max_ncpus from having any effect. html/inc/ prefs_util.inc lib/ prefs.cpp David 8 Apr 2011 - client: defer reporting completed tasks if an upload started recently; we might be able to report more tasks once the upload completes. client/ cs_scheduler.cpp David 8 Apr 2011 - "upgrade" script: copy sched/fcgi if it exists py/Boinc/ setup_project.py David 8 Apr 2011 - "upgrade" script: remove --project_root option, and allow full path of project root dir instead of the short name tools/ upgrade David 10 Apr 2011 - user web: fix "delete profile" function html/ user/ delete_profile.php inc/ profile.inc David 10 Apr 2011 - scheduler: failure to set up COPROCS structure correctly led to per-GPU job limits not being enforced. lib/ coproc.cpp David 10 Apr 2011 - user web: use special icon for hidden threads (from Jord) html/ inc/ forum.inc user/ forum_forum.php img/ hidden.png Rom 11 Apr 2011 - MGR: Remove unneeded asserts. clientgui/ BOINCTaskBar.cpp