boinc/checkin_notes

6337 lines
164 KiB
Plaintext
Raw Blame History

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/
<Various Files>
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 <options/> and <log_flags/> 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 installing 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 <open_name>,
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 <error_num>,
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 <exec_dir> element in <task> 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 <setenv> element in <task> 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 <?xml version="1.0" encoding="UTF-8" ?>
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 <?xml to scheduler; it doesn't expect it
- scheduler: handle optional <?xml
sched/
sched_types.cpp
client/
cs_scheduler.cpp
Charlie 22 Feb 2011
- Mac: Fix compile error; add new procinfo.cpp to XCode Project.
lib/
procinfo.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 22 Feb 2011
- client: wait 15 seconds (instead of 5) for an app to exit
before killing it.
Apparently some apps take ~10 sec on slow computers.
client/
client_state.h
app_control.cpp
David 22 Feb 2011
- client: in the loop that starts up apps,
check if we've been in the loop for 10 sec.
If so, break out of it and reschedule.
Avoid starving GUI RPCs and heartbeats.
client/
cpu_sched.cpp
client_state.h
David 23 Feb 2011
- client: finish [22902] (pass user ID, team ID to apps).
Forgot to parse them in scheduler reply.
client/
scheduler_op.cpp
David 23 Feb 2011
- scheduler: fix nasty bug introduced in [23040]
that caused no jobs to be sent.
db/
boinc_db.cpp,h
sched/
sched_config.cpp,h
sched_resend.cpp
David 23 Feb 2011
- client: on finish upload, trigger work fetch
(since we may have been waiting for upload finish)
- client: fix crash: if remove an RSS feed, remove its active HTTP op if any.
client/
cs_notice.cpp
pers_file_xfer.cpp
work_fetch.cpp
David 24 Feb 2011
- scheduler: fix a problem with job resend.
When we first send a job, we pick an app version,
then call wu_is_infeasible_fast()
to see if the host is able to run the job with that app version.
In addition to checking disk space etc.
this calls wu_is_infeasible_custom() to do project-specific checks
(e.g. for SETI@home: don't use GPUs for VLAR jobs).
However, when we resend a job, we pick an app version
(possibly different from the original one)
and send the job without any checking.
So, for example, we might send a VLAR job to a GPU,
or send a job to a host with insufficient disk space
(because free space has changed since original send).
Solution: call wu_is_infeasible_fast() before resending a job,
and if it returns true, mark the job as done and don't resend it.
sched/
sched_send.cpp
sched_resend.cpp
David 24 Feb 2011
- user web: fix "host delete" function
- client: fix msg typo
client/
cpu_sched.cpp
html/user/
host_delete.cpp
David 24 Feb 2011
- user web: fix "friend" functions
html/user/
friend.php
David 24 Feb 2011
- wrapper: add "daemon" feature.
A task descriptor may contain <daemon>.
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
wizard_bitmap.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 <append_cmdline_args/> 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. <no_rsc>NVIDIA</no_rsc> rather than <no_cuda/>
- client: in account manager replies, parse elements of the form
<no_rsc>NAME</no_rsc>
indicating the GPUs of type NAME should not be used.
This allows account managers to control GPU types
not hardwired into the client.
Note: <no_cuda/> and <no_ati/> will continue to be supported.
- scheduler RPC reply: add
<no_rsc_apps>NAME</no_rsc_apps>
(NAME = GPU name)
to indicate that the project has no jobs for the indicated GPU type.
<no_cuda_apps> etc. are still supported
- client/lib: remove set_debts() GUI RPC
- client/scheduler RPC
remove <cuda_backoff> etc. (superceded by no_app)
Exception: <ip_result> elements in sched request
still have <ncudas> and <natis>.
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 begun 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: <max_wus_in_progress> and <max_wus_in_progress_gpu>
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
Rom 13 Apr 2011
- MGR: Add missing keyboard accelerators for the event log.
- MGR: Re-enable the next button when the terms of use wizard
page when the back button is pressed.
clientgui/
DlgEventLog.cpp
TermsOfUsePage.cpp
David 13 Apr 2011
- admin web: remove options to delete apps and app versions.
This is almost always a bad idea.
html/ops/
manage_apps.php
manage_app_versions.php
David 13 Apr 2011
- client:
- add <heartbeat_debug> log flag
- show trickle-up and int file upload msgs if <app_msg_receive> set
- if scheduler RPC reason is trickle-up, say so
- manager:
- restore "non CPU intensive" to task description
- project properties: show if RPC in progress or trickle-up pending.
(show these low-probability things only if present)
- manager: fix Unix build
(from Ian Hay)
clientgui/
MainDocument.cpp
Makefile.am
DlgITemProperties.cpp
lib/
gui_rpc_client_print.cpp
client/
log_flags.cpp,h
scheduler_op.cpp
app.cpp
app_control.cpp
Rom 14 Apr 2011
- MGR: Check to see if keyboard accelerators can be redefined on the fly.
clientgui/
DlgEventLog.cpp
Rom 14 Apr 2011
- MGR: Add missing event handler map item.
clientgui/
sg_DlgMessages.cpp
David 14 Apr 2011
- API: add support for multi-process apps,
i.e. those that create subprocesses.
Previously, the client's job control options (suspend/resume/quit)
would not work for subprocesses.
Multiprocess apps must initialize with something like:
BOINC_OPTIONS options;
boinc_options_defaults(options);
options.multi_process = true;
boinc_init_options(&options);
Note: an application can be both multi-thread and multi-process.
In this case set options.multi_thread as well.
- wrapper: add support for multi-process apps.
Previously, suspend/resume operations did not work for subprocesses.
If a task is multi-process, you must include
<multi_process>1</multi_process>
in its descriptor.
lib/
procinfo.cpp,h
samples/wrapper/
wrapper.cpp
api/
boinc_api.cpp,h
David 15 Apr 2011
- client: fix bug that cause notice RSS feeds to disappear and reappear,
and notices to erroneously be shown as new.
client/
cs_notice.cpp
David 18 Apr 2011
- client: when estimating job runtime based on fraction done,
use the elapsed time when fraction done was last reported,
not current elapsed time.
Fix problem where est time remaining increases linearly,
then abruptly decreases when new frac done is reported.
From Bruce Allen.
client/
app.h
app_control.cpp
work_fetch.cpp
David 18 Apr 2011
- client: fix a couple of the messages that are appended to
a job's stderr when the job is aborted
client/
client_state.cpp
app_start.cpp
David 18 Apr 2011
- user web and notices: fix message describing friend request
html/inc/
friend.inc
David 18 Apr 2011
- client: replace % with %% in messages from scheduler
(else they're interpreted as format strings)
client/
client_state.h
cs_scheduler.cpp
David 18 Apr 2011
- client: fix message describing work request
client/
scheduler_op.cpp
Rom 19 Apr 2011
- MGR: Adjust the width of the various tabs in advanced view if the notice text
width changes.
- MGR: Remove dead code.
clientgui/
BOINCBaseFrame.cpp, .h
AdvancedFrame.cpp
David 19 Apr 2011
- scheduler: don't send translatable messages to pre-6.12 clients
sched/
sched_types.cpp
David 19 Apr 2011
- admin web: allow specifying an SVN config dir in the web config file,
in case your svn requires a proxy or something.
From Boris Dayma.
html/
ops/
index.php
project.sample/
project.inc
David 20 Apr 2011
- web: show "logged in as" info on every page;
remove funky "log out" link from user page
- web: go to home page on logout,
not dorky "you are logged out" page
html/
inc/
user.inc
util.inc
user/
sample_index.php
logout.php
project.sample/
project.inc
David 20 Apr 2011
- web: don't show "log in" link on login or create account pages
html/
inc/
util.inc
user/
login_form.php
David 20 Apr 2011
- client: if an app version has a missing GPU,
we still need to keep track of the usage
and write it to the state file.
- get client simulator working again
client/
client_types.cpp,h
sim.cpp
tools/
backend_lib.cpp
Charlie 21 Apr 2011
- Mac: Update XCode Project to link procinfo.cpp and procinfo_mac.cpp into
boinscr (ss_app) because boinc_api.cpp now calls kill_descendants() and
suspend_or_resume_descendants().
mac_build/
boinc.xcodeproj/
project.pbxproj
David 21 Apr 2011
- create_work and other tools: verify that the current dir,
parent dir, or BOINC_PROJECT_DIR actually is a project dir.
- client simulator: improvements
sched/
sched_config.cpp
tools/
create_work.cpp
lib/
coproc.cpp
client/
client_state.cpp,h
sim.cpp
work_fetch.cpp
cs_statefile.cpp
Charlie 22 Apr 2011
- Mac: We no longer request PowerPC applications on Intel Macs
because all projects supporting Macs should have Intel
applications by now, and PowerPC emulation ("Rosetta") is
not always supported in newer versions of OS X.
client/
cs_platforms.cpp
David 23 Apr 2011
- client: don't use the Snooze mechanism to handle
OS-requested suspension
(especially with a 1-hour snooze period).
Instead, handle them directly.
client/
client_state.cpp,h
cs_prefs.cpp
main.cpp
sysmon_win.cpp
clientgui/
MainDocument.cpp
lib/
common_defs.cpp
str_util.cpp
sched/
get_file.cpp
send_file.cpp
David 23 Apr 2011
- server: rename send_file to put_file.
Factor out put_file() and get_file() functions
so they have a C++ API as well as command-line
sched/
put_file.cpp
get_file.cpp
Makefile.am
tools/
backend_lib.cpp,h
lib/
common_defs.h
Charlie 24 Apr 2011
- client: fix bug: statement had no effect.
lib/
str_util.cpp
David 24 Apr 2011
- account manager RPC: include TIME_STATS and NET_STATS in request message
client/
acct_mgr.cpp
David 24 Apr 2011
- client: show error messages from account managers correctly
- client/manager: if a job is missing a GPU, show details
- client: win compile fix
client/
acct_mgr.cpp
client_msgs.cpp,h
client_types.cpp
sysmon_win.cpp
David 24 Apr 2011
- client: simplify the semantics of sticky files:
- All sticky files are reported on each scheduler RPC
- If a scheduler reply says to delete a file, clear its sticky flag
In particular:
- remove the "send file list" tag in scheduler RPC replies
- remove FILE_INFO::marked_for_delete
- remove FILE_INFO::report_on_rpc
- remove the request_file_list program
client/
client_types.cpp,h
client_state.cpp
cs_scheduler.cpp
scheduler_op.cpp
sched/
request_file_list.cpp
Makefile.am
David 24 Apr 2011
- client: shuffle code to move CONFIG and LOG_FLAGS
into lib/cc_config.h,
in preparation for adding GUI RPCS
client/
main.cpp
log_flags.cpp,h
lib/
Makefile.am
cc_config.cpp,h (new)
Charlie 24 Apr 2011
- Mac: Add new cc_config.cpp,h to XCode Project.
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 25 Apr 2011
- SCR: In certain cases WM_QUIT is sent to the message proc, which is
is causing some type of deadlock and we don't break out of the message
pump like we are suppose too. For debug purposes, let us call DebugBreak()
and see what the other threads are up too.
clientscr/
screensaver_win.cpp
David 25 Apr 2011
- validator: fix bug when check_pair() returns retry=true,
reported by Travis Desell.
sched/
validator.cpp
David 26 Apr 2011
- client: fix bugs in runtime estimation of jobs that
have run before but are not currently running.
Old:
- We maintain the most recent fraction_done in state file.
But for apps that checkpoint seldom or never,
this is not the relevant value,
and frac done may go down when the app runs.
- fraction_done_elapsed_time is not initialized,
and can have garbage values for jobs that haven't run yet.
New:
- Record, in the state file, the values of
fraction_done and fraction_done_elapsed_time
at the most recent checkpoint.
When the client starts up, use these values.
client/
app.cpp,h
app_control.cpp
David 26 Apr 2011
- web: fix infinite recursion when project is down
html/inc/
util.inc
Rom 26 Apr 2011
- VBOX: Begin merging the two different vbox wrappers (COM vs. Daniel's from
CERN). Where possible stick with the POSIX API set and remove Windows
specific code. (Example vbm_popen).
NOTE: Not usable at the moment.
samples/vboxwrapper/cernvm
cernvmwrapper.cpp
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
samples/vboxwrapper/
vm.cpp, .h
win_build/
vboxwrapper.vcproj
David 26 Apr 2011
- web: eliminate double calls to page_head()
html/inc/
util.inc
David 26 Apr 2011
- web: fix bug that cause "use signature" preference to be ignored
html/user/
forum_reply.php
David 26 Apr 2011
- client: fix bug in [23431]
client/
client_types.cpp
Charlie 27 Apr 2011
- lib, MGR: Implement get_cc_config, set_cc_config RPCs.
client/
log_flags.cpp
clientgui/
AsyncRPC.cpp,.h
lib/
cc_config.cpp,.h
gui_rpc_client.h
gui_rpc_client_ops.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
win_build/
boinc_os_ss.vcproj
boinc_ss.vcproj
boincmgr.vcproj
Charlie 28 Apr 2011
- MGR: Begin adding Exclusive Apps pane to Computing Prefs dialog.
- MGR: Implement Manage Settings menu item in Simple GUI.
clientgui/
DlgAdvPreferences.cpp
DlgAdvPreferencesBase.cpp,.h
sg_BoincSimpleFrame
David 28 Apr 2011
- client: fix bug that prevented work fetch in some cases
client/
client_state.cpp
main.cpp
work_fetch.cpp
lib/
coproc.h
hostinfo.cpp
David 28 Apr 2011
- client: change the handling of account manager replies:
Old:
If the AM sends us a project we're already attached to,
and the authenticator is different,
print an error message and don't change anything.
Problem:
If the AM is using weak authenticators,
and the user has changed their password,
the weak authenticator changes.
In this case the AM will send the new weak auth,
the client will ignore it,
and all subsequent scheduler RPCs will fail
until the user removes/adds the project.
Solution:
If the AM sends us a new auth for a project, use it.
Note:
From the time the password is changed on the project
to the next AM RPC,
the client will have a bad weak auth and scheduler RPCs will fail.
That's OK.
client/
acct_mgr.cpp
David 28 Apr 2011
- scheduler: compile fix
- client: don't print "Insufficient GPU" messages
unless <coproc_debug> is set
client/
cpu_sched.cpp
html/inc/
util.inc
sched/
sched_types.cpp
David 28 Apr 2011
- client: update to previous commit:
only change the authenticator if both old and new
authenticators are weak
(strong authenticators don't change).
client/
acct_mgr.cpp
Charlie 29 Apr 2011
- MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
- lib: add missing items in CONFIG, PROXY_INFO struct initializers.
client/
log_flags.cpp,.h
clientgui/
DlgAdvPreferences.cpp,.h
DlgAdvPreferencesBase.cpp
lib/
cc_config.cpp,.h
gui_rpc_client_ops.cpp
proxy_info.cpp
Rom 29 Apr 2011
- VBOX: Checkpoint, Re-implement the start/stop/suspend/resume/is_running
and is_registered functions using the vboxmanage app.
- VBOX: Simplify the virtualbox_vbm_popen function and remove a buffer
copy operation.
samples/vboxwrapper/
vbox.cpp, .h
David 29 Apr 2011
- GUI RPC client library: increase request buffer size
from 4KB to 100B
lib/
gui_rpc_client.cpp
Rom 29 Apr 2011
- VBOX: Checkpoint, Re-implement the registering and un-registering of the
vm using the vboxmanage app.
samples/vboxwrapper/
vbox.cpp, .h
vm.cpp, .h
David 29 Apr 2011
- client: increase request msg buffer size for GUI RPCs
client/
gui_rpc_client_ops.cpp
gui_rpc_client.cpp
Charlie 29 Apr 2011
- MGR: Fix a few bugs in Exclusive Apps pane of Computing Prefs dialog.
clientgui/
DlgAdvPreferences.cpp
lib/
cc_config.cpp
Charlie 1 May 2011
- lib: initialize data_dir in CONFIG::defaults(); don't write <data_dir> to
cc_config.xml if empty string, because older versions of BOINC choke.
lib/
cc_config.cpp
Rom 3 May 2011
- VBOX: Handle both abort scenarios
samples/vboxwrapper/
vbox.cpp, .h
vm.cpp, .h
Charlie 4 May 2011
- MGR: Continue adding Exclusive Apps pane to Computing Prefs dialog.
clientgui/
DlgAdvPreferences.cpp
DlgAdvPreferencesBase.cpp
David 4 May 2011
- vbox wrapper: add Makefile
- notices: fix bug where the URL in "friend request" notices
doesn't work if you're not already logged in.
html/
inc/
friend.inc
util.inc
user/
friend.php
login_form.php
samples/vboxwrapper/
vbox.cpp
Makefile
Rom 4 May 2011
- VBOX: Add function for a host being able to execute tasks within
guest VMs.
samples/vboxwrapper/
vbox.cpp, .h
vm.cpp, .h
Rom 4 May 2011
- VBOX: Switch to using CreateProcess and CreatePipe on Windows, otherwise we
get a bunch of flicking windows when we preform an operation against
VirtualBox.
samples/vboxwrapper/
vbox.cpp
Charlie 5 May 2011
- MGR: Fix compiler warning.
clientgui/
DlgAdvPreferences.cpp
David 5 May 2011
- web: don't show login stuff on server status page
html/inc/
util.inc
David 5 May 2011
- web: don't error out on old-style notice URL
sched/
validator.cpp
html/user/
friend.php
David 5 May 2011
- web RPC: add RPC for getting teams by country
html/user/
team_search.php
David 6 May 2011
- wrapper: tell the client when we checkpoint
(else checkpoint_elapsed_time etc. don't get set)
- make_project: enable update_stats by default
- update_stats: add --min_age option
sched/
update_stats.cpp
tools/
make_project
samples/wrapper/
wrapper.cpp
Charlie 7 May 2011
- Win: add missing procinfo_win.cpp to Windows libboinc project.
win_build/
libboinc.vcproj
David 7 May 2011
- client: fix bug that broke work fetch.
We can't set coprocs.n_rsc to zero in CONFIG::defaults().
- multi_thread app: update initialization
lib/
cc_config.cpp
samples/multi_thread/
multi_thread.cpp
David 7 May 2011
- client: add <http_transfer_timeout_bps> config option.
Defines the transfer rate below which the connection
is considered idle, and timeout starts
lib/
cc_config.cpp,h
client/
http_curl.cpp
cs_files.cpp
David 7 May 2011
- client: implement "report immediately" at the level of
individual jobs rather than globally.
To use this, projects must add <report_immediately/>
to the <result> elements in job templates
client/
client_types.cpp,h
cs_scheduler.cpp
Rom 9 May 2011
- VBOX: Implement basic cpu time accounting and checkpointing
for VMs.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
vm.cpp, .h
David 10 May 2011
- client: don't check memory usage immediately after hibernation
client/
client_state.h
app.cpp
David 10 May 2011
- vbox wrapper: updates
samples/vboxwrapper/
vbox.cpp
vm.cpp,h
Charlie 10 May 2011
- MGR: Fixes to new Simple GUI for Linux.
clientgui/
sg_BoincSimpleFrame.cpp
sg_ProjectPanel.cpp
Charlie 11 May 2011
- MGR: Fixes to new Simple GUI for Linux.
clientgui/
sg_PanelBase.cpp, .h
sg_TaskPanel.cpp
David 11 May 2011
- Change the way update_versions works, and reimplement it in PHP.
Problems with the old version:
- Lots of info encoded in file and directory names: messy kludge
- The convention that directory name == main program name
created a bad situation when using the wrapper:
if you made a new version of your application,
you were forced make a new version of the wrapper
just so it could have a different name.
The new version is described here:
http://boinc.berkeley.edu/trac/wiki/AppVersionNew
- Remove some Python code that suppored the old version
- client: some fixes to dir_size() that might fox
a buffer overflow when using symbolic links
tools/
update_versions
html/inc/
boinc_db.inc
lib/
filesys.cpp
py/Boinc/
tools.py
David 11 May 2011
- client: show HTTP errors in text form as well as number
client/
pers_file_xfer.cpp
file_xfer.cpp
David 11 May 2011
- client: fix problem with recursion in dir_size(), this time for real.
lib/
filesys.cpp
Charlie 12 May 2011
- MGR: Fixes to new Simple GUI for Linux.
clientgui/
sg_BoincSimpleFrame.cpp
sg_PanelBase.cpp, .h
Charlie 13 May 2011
- MGR: Fixes to new Simple GUI for Linux and Windows.
- MGR: Fix logic to enable / disable Show Graphics in new Simple GUI.
- MGR: make sure new Simple GUI Pause / Resume button is large enough
for the larger of the localized words for Pause and Resume; do
the same for the Add Project / Synchronize button.
clientgui/
sg_BoincSimpleFrame.cpp
sg_PanelBase.cpp, .h
sg_ProjectPanel.cpp, .h
sg_TaskCommandPopup.cpp, .h
sg_TaskPanel.cpp, .h
Charlie 13 May 2011
- lib: Fix compile break on Windows.
lib/
filesys.cpp
David 13 May 2011
- create_work: allow multiple URLs for non-local input files
(from Zoltan Farkas)
- scheduler: fix message describing per-app limits
sched/
sched_main.cpp
tools/
backend_lib.cpp
html/project.sample/
project.inc
David 13 May 2011
- scheduler: per-processor limits should be based on
"effective" # of processors (taking prefs into account)
rather than the physical number
sched/
sched_send.cpp
sched_limit.h
David 13 May 2011
- client/manager: don't show resource usage for non-CPU-intensive jobs
client/
client_types.cpp
clientgui/
MainDocument.cpp
Charlie 16 May 2011
- MGR: New Simple GUI: better displays if no tasks or no projects.
clientgui/
sg_BoincSimpleFrame.cpp
sg_ProjectPanel.cpp
David 16 May 2011
- client: XML-escape the contents of stderr files;
otherwise non-ASCII characters in client_state.xml
make it invalid XML
- client: fix (I think) to scheduling logic.
a job is preemptable if it's finished its time slice and
Old: has checkpointed in last 10 sec
New: has checkpointed since the end of the time slice
client/
app_control.cpp
cpu_sched.cpp
api/
boinc_api.cpp
lib/
Makefile.am
David 17 May 2011
- update_versions: fix bug in version number parsing (from Kevin)
tools/
update_versions
David 17 May 2011
- scheduler: if an in-progress limit is given in config_aux.xml,
and <per_proc> is not specified, default it to false.
- scheduler: add some log messages
sched/
sched_limit.cpp
sched_version.cpp
sched_send.cpp
sched_main.cpp
David 17 May 2011
- scheduler: add <user_filter> config option.
If set, and a WU has nonzero batch,
it is interpreted as a user ID,
and the job will be sent only to hosts with that user ID.
Note: the use of workunit.batch is arbitrary;
we could also use workunit.opaque or other deprecated field.
client/
cpu_sched.cpp
sched/
sched_send.cpp,h
sched_config.cpp,h
Rom 17 May 2011
- MGR: Prepopulate both the username field and the email address
field with the cookie information since we do not know ahead
of time which format the account manager uses. Once the
get_project_config RPC has completed, we'll know which one
is the correct one.
clientgui/
WizardAttach.cpp
Charlie 18 May 2011
- MGR: Fix welcome message in Account Manager Wizard completion page.
clientgui/
CompletionPage.cpp
David 18 May 2011
- update_versions: make <copy_file> work
tools/
update_versions
David 18 May 2011
- client: show GPU device number correctly
client/
client_types.cpp
Rom 19 May 2011
- client: Account for new registry location that the new VirtualBox installer
stashes the version number. Check the new location first, if not found go
back to the original location.
client/
hostinfo_win.cpp
Rom 19 May 2011
- MGR: Initial stab at supporting Google Chrome cookies. SQLite engine needs
to be upgraded. Write it while the code is still in my head.
clientgui/
browser.cpp, .h
David 19 May 2011
- client: add log messages showing steps in exiting all tasks,
enabled by <task_debug/>
- client: remove redundant task-start messages
client/
app_start.cpp
app_control.cpp
cpu_sched.cpp
David 20 May 2011
- update_versions: trim XML strings
tools/
update_versions
db/
boinc_db.h
David 20 May 2011
- client: on hibernate, don't wait for apps to exit
(NCI apps never will)
client/
sysmon_win.cpp
David 21 May 2011
- client: if project is set to "don't request more work",
report completed tasks immediately
client/
cs_scheduler.cpp
Charlie 22 May 2011
- SCR: Fix Mac crash bug when user clicks SS Test button in system preferences.
clientscr/
mac_saver_module.cpp
David 24 May 2011
- update_versions: flag main program as executable,
otherwise client will reject it
tools/
update_versions
Charlie 25 May 2011
- MGR: Fix shutting down of Client on Linux.
clientgui/
BOINCGUIApp.cpp
Rom 25 May 2011
- scheduler: unescape the stderr_out field after parsing so we do not break
other applications parsing the data.
sched/
sched_types.cpp
David 25 May 2011
- client: escape only non-ASCII chars in stderr out, not control chars
sched/
sched_types.cpp
lib/
parse.cpp,h
client/
app_control.cpp
David 25 May 2011
- client: if <ncpus> is specified in config file,
set host_info.p_ncpus to that value,
so that scheduler requests report that number of CPUs
client/
cpu_sched.cpp
David 25 May 2011
- client: fix boinc_make_dirs() (from Josh Highley)
- client: allow "non_cpu_intensive" to be specified independently
for different apps in a project.
This is intended to support projects that use the
Attic file distribution system,
which needs to have a daemon running.
lib/
filesys.cpp,h
client/
client_types.cpp,h
app_control.cpp
cpu_sched.cpp
David 25 May 2011
- client: equate notices if their text is the same after removing digits,
so that "need 25 GB disk" and "need 24 GB disk"
don't result in 2 notices.
client/
cs_notices.cpp
David 25 May 2011
- Manager: tweak messages in exit dialog
clientgui/
DlgExitMessage.cpp
David 27 May 2011
- web: make front page work for Bossa projects
html/user/
sample_index.php
David 31 May 2011
- client: when killing a nonresponsive task,
kill its descendant processes too
- manager: tweak strings related to task FLOP size
client/
client_state.cpp
app_control.cpp
David 31 May 2011
- client: Rom pointed out that on Win in secure mode,
the client won't be able to convert descendant PIDs to handles,
and therefore won't be able to terminate them. Sigh.
So terminate the main process using its handle
(we'll still kill descendants in the non-secure case)
client/
app_control.cpp
David 31 May 2011
- web: add counts in task list pages
html/
inc/
boinc_db.inc
util.inc
result.inc
user/
results.php
Charlie 2 Jun 2011
- MGR: Add SQLite3 v3.7.6.3 source code to Mac XCode project, adding
initializers for two local variables to suppress compiler warnings;
don't link Mac Manager with older pre-installed sqlite3 library.
clientgui/
sqlite3.c (added)
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 2 Jun 2011
- MGR: If Firefox 3 SQL query fails because cookie database is locked,
make a temporary copy of the cookie file and query that. This works
around a bug in some builds of Firefox 3.5.x.
clientgui/
browser.cpp
Charlie 3 Jun 2011
- MGR: Fixes for cookie detection on Google Chrome browser.
clientgui/
browser.cpp
David 3 Jun 2011
- client: my checkin of 8 Apr 2011 didn't work in some cases, e.g.:
- client finishes a job
- before upload starts, work fetch runs and decides to fetch work
from that project.
Solution:
- set PROJECT::last_upload_start when job finishes,
and clear it when a job is uploaded.
- defer scheduler RPC for a limited time if last_upload_start
is set, even if a transfer is not active
client/
client_state.cpp
cs_scheduler.cpp
David 3 Jun 2011
- scheduler: app version FLOPS estimates were wrong
in the case where we don't have enough elapsed-time stats
for the host/app_version.
The right formula is (peak FLOPS)/app_version.avg_pfc
sched/
sched_version.cpp
Charlie 3 Jun 2011
- MGR: Convert Google Chrome browser time (microseconds since
January 1, 1601) to UNIX time (seconds since January 1, 1970)
clientgui/
browser.cpp
David 5 Jun 2011
- scheduler, back end: add "homogeneous app version" feature.
Lets you specify, on a per-app basis,
that all instances should be done using the same app version.
This is for validation in the presence of GPUs.
- scheduler: code cleanup
- Instead of adding a bunch of non-DB fields to RESULT,
used a derived class SCHED_DB_RESULT.
- Instead of storing a pointer to BEST_APP_VERSION in RESULT,
store the structure itself.
This simplifies the memory allocation situation.
- client: condition "Got server request to delete file" messages
on <file_xfer_debug>
db/
boinc_db.cpp,h
schema.sql
sched/
sched_types.cpp,h
sched_version.cpp
sched_send.cpp,h
sched_array.cpp
sched_locality.cpp
transitioner.cpp
sched_resend.cpp
sched_assign.cpp
sched_score.cpp
html/ops/
db_update.php
client/
cs_scheduler.cpp
David 5 Jun 2011
- scheduler: when creating HOST_APP_VERSION records,
initialize the n_jobs_today field correctly
sched/
sched_send.cpp
David 5 Jun 2011
- lib: fix compile warning
lib/
filesys.cpp
Eric K 6 Jun 2011
- Added safe exit capabilities for Windows CUDA applications.
- checking in the app can be added as below.
#ifdef _WIN32
//Jason: Safe exit check macro to play nicer with Cuda & MS-CRT
#ifdef USE_CUDA
#define SAFE_EXIT_CHECK do { \
if (worker_thread_exit_request) { \
fprintf(stderr,"-> Worker received exit request, syncing Cuda...");
cudaThreadSynchronize(); fprintf(stderr,"Done.\n"); \
fprintf(stderr," Worker Freeing Cuda data..."); cudaAcc_free();
fprintf(stderr,"Done.\n"); \
fprintf(stderr," Worker Acknowledging exit request, spinning->\n");
worker_thread_exit_ack = true; \
while (1) Sleep(10); \
} \
} while (0);
#else
#define SAFE_EXIT_CHECK do { \
if (worker_thread_exit_request) { \
fprintf(stderr," Worker Acknowledging exit request, spinning-> ");
worker_thread_exit_ack = true; \
while (1) Sleep(10); \
} \
} while (0);
#endif
#else // Linux or other probably have their own safe exit handling, defined as
blank, do nothing
#define SAFE_EXIT_CHECK
#endif
and install at the top of the cffft loop, and more locations if desired:
SAFE_EXIT_CHECK;
I'd like to implement these as BOINC API functions, but have not yet done so.
David 6 Jun 2011
- backend: use new XML parser for input template files
(so that they don't have to be 1 element/line)
and also allow optional <input_template> root element
- fix bug in WORKUNIT DB interface
db/
boinc_db.cpp
tools/
backend_lib.cpp
David 6 Jun 2011
- API: undo the above API checkin, and provide a cleaner and
documented way of doing the same thing; see
http://boinc.berkeley.edu/trac/wiki/AppCoprocessor
api/
boinc_api.cpp,h
Charlie 7 Jun 2011
- MGR: Fix bug I introduced on 6 Aug 2010: if currently connected host name is
empty string, we must treat it as localhost. Implement different logic to
skip exit confirmation dialog and avoid shutting down client if second
instance of Manager is launched but Select Computer dialog is cancelled.
clientgui/
MainDocument.cpp, .h
Rom 7 Jun 2011
- MGR: Cleanup compiler warnings. Fixes# 1051
(From: Steffen M<>ller)
clientgui/
AdvancedFrame.cpp
clientgui/common/
wxFlatNotebookImages.h
clientgui/res/skins/default
advanced_link_image.xpm
David 7 Jun 2011
- client: fix bug in app termination logic
client/
app_control.cpp
Charlie 8 Jun 2011
- MGR: Fix About dialog to show (PowerPC) instead of (x86) when appropriate.
clientgui/
DlgAbout.cpp
Charlie 8 Jun 2011
- MGR: Rework logic to skip exit confirmation dialog and avoid shutting down
client if second instance of Manager is launched, so it works if connect
to remote host fails.
- MGR: If original instance of Manager is connected to remote host (or none)
when exiting Manager. skip exit confirmation dialog but do shut down local
client if requested in most recently run exit dialog, whether or not
"Remember this decision" was set.
- MGR: Use same exit confirmation dialog wording for Linux as for Windows.
clientgui/
BOINCGUIApp.cpp, .h
MainDocument.cpp, .h
DlgExitMessage.cpp
Rom 8 Jun 2011
- MGR: Disable list view rules for now.
clientgui/
BOINCBaseView.h
Charlie 8 Jun 2011
- MGR: Restore list view rules again.
clientgui/
BOINCBaseView.h
David 8 Jun 2011
- API: forgot to fix boinc_api.h
api/
boinc_api.h
Charlie 9 Jun 2011
- MGR: Event Log menu item restores Event Log when Minimized; fixed on Mac
and Windows XP, hopefully on other versions of Windows OS.
clientgui/
BOINCBaseFrame.cpp
BOINCGUIApp.cpp
David 10 Jun 2011
- client: fix bug in logic that defers work fetch if upload active
client/
cs_scheduler.cpp
David 10 Jun 2011
- update_versions: read from stdin a different way
tools/
update_versions
David 10 Jun 2011
- client: initialize some PROJECT fields (from Ian Hay).
May fix bug in defer work fetch while uploading logic
client/
client_types.cpp
David 12 Jun 2011
- client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
in various places, mostly in client
sched/
sched_main.cpp
lib/
cc_config.cpp
samples/
many.cpp
client/
many.cpp
api/
boinc_api.cpp
David 12 Jun 2011
- client:restore --detach_phase_two as synonym for --detach_console
client/
cs_cmdline.cpp
David 13 Jun 2011
- web: when creating an item in News forum,
show "Export as Notice?" checkbox, and default to off.
db/
schema.sql
html/
inc/
forum.inc
user/
forum_post.php
Bernd 14 Jun 2011
- API: fix install headers in Makefile.mingw
lib/
Makefile.mingw
Rom 15 Jun 2011
- MGR: Update the project list in the wizard to make use
of more of the information contained in the all projects
list and also make it more accessible than the previous
implementation.
clientgui/
ProjectInfoPage.cpp, .h
WizardAttach.cpp, .h
clientgui/res/
linuxicon.xpm
macosicon.xpm
windowsicon.xpm
clientgui/res/skins/default/graphic/
advanced_link_image.xpm
win_build/
libboinc.vcproj
libboincapi_staticcrt.vcproj
Rom 15 Jun 2011
- MGR: Add more polish to the new project list.
clientgui/
ProjectInfoPage.cpp, .h
clientgui/res/
blankicon.xpm
David 15 Jun 2011
- manager: tweaks to project list
clientgui/
ProjectInfoPage.cpp
Charlie 16 Jun 2011
- MGR: Fix project list layout for Mac; ellipse long items by size
instead of by number of characters. Set tooltips of possibly
ellipsed items to full text for that item so user can read it.
clientgui/
ProjectInfoPage.cpp, .h
Charlie 16 Jun 2011
- Fix typo in all projects list: Urbana-Chamapign -> Urbana-Champaign.
docs/
projects.inc
win_build/
installerv2/
redist/
all_projects_list.xml
David 16 Jun 2011
- client: we were assuming that if we ask a task to exit
and its main process exits, everything is OK.
That's not necessarily the case - buggy apps may have
subprocesses that the main process fails to kill.
Solution: when we request a task to exit or abort,
make a list of the descendants.
When the main process exits, kill any remaining descendants.
Also: we weren't checking for the ABORT_PENDING case
in the process exit logic.
This may explain the 5/15 second delay in detaching or
resetting a project with running tasks
client/
app.cpp,h
app_control.cpp
Charlie 17 Jun 2011
- MGR: Fix project list identification of CUDA, ATI, and MT support (check
for "['cuda" not "[cuda". "['ati" not "[ati" and "['mt" not "[mt".)
clientgui/
ProjectInfoPage.cpp
Rom 17 Jun 2011
- MGR: Revert previous change to the project list identification code.
- MGR: Fix a bug introduced in a previous commit where the plan class
was being surrounded by single quotes when generating an updated
project list.
clientgui/
ProjectInfoPage.cpp
doc/
get_platforms.inc
Rom 17 Jun 2011
- MGR: Change the project list description control into an HTML based
window.
clientgui/
ProjectInfoPage.cpp, .h
David 17 Jun 2011
- client: add a <dont_throttle/> flag to APP_VERSION.
If set, the app does its own CPU throttling
so the client doesn't have to.
client/
client_types.cpp,h
app_control.cpp
Charlie 18 Jun 2011
- MGR: Don't mark a project as supported if it requires a coprocessor we lack.
NOTE: if the platform entry contains a modifier such as [cuda] or [ati],
that capability is required. If a project offers both a cuda application
and a CPU-only application for an operating system, it must have two
separate platform entries for that OS, one with [cuda] and one without.
Likewise for ati and mt.
clientgui/
ProjectInfoPage.cpp
David 20 Jun 2011
- web: use ReCaptcha for account creation as well as profile creation
(from Daniel)
- GUI RPC: remove have_cuda from CC_STATE.
Use the info in host_info.coprocs instead.
html/
ops/
pass_percentage_by_platform.php
user/
create_account_form.php
create_account_action.php
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Rom 20 Jun 2011
- MGR: Fix build breaks related to GUI RPC changes.
clientgui/
AdvancedFrame.cpp
AsyncRPC.cpp
BOINCTaskBar.cpp
DlgItemProperties.cpp
ProjectInfoPage.cpp
Charlie 20 Jun 2011
- client: logic fix: test coprocs.none() after coprocs.add() calls, not before.
client/
client_state.cpp
David 21 Jun 2011
- GUI RPC: restore <have_cuda>, <have_ati> elements in CC_STATE
for compatibility
- client: copy coprocs to host_info._coprocs at startup
(else GUI RPCs don't have right info)
client/
client_state.cpp
cs_statefile.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 21 Jun 2011
- web: add a web-service interface for remotely submitting, querying
and controlling batches of jobs
- web: add an administrative interface for controlling
user permissions for submitting jobs
- web: add an interface where users can view and control
their submitted jobs
See: http://boinc.berkeley.edu/trac/wiki/RemoteJobs
This is at a functional but rough stage.
db/
schema.sql
tools/
create_work.cpp
html/
ops/
submit_permissions.php
db_update.php
submit_example.php
inc/
submit_db.inc
boinc_db.inc
db_conn.inc
user/
submit.php
submit_status.php
Charlie 21 Jun 2011
- MGR: Revert Rom's manager changes of 20 June related to GUI RPC changes,
for compatibility with older Clients.
clientgui/
AdvancedFrame.cpp
AsyncRPC.cpp
BOINCTaskBar.cpp
DlgItemProperties.cpp
ProjectInfoPage.cpp
Charlie 22 Jun 2011
- MGR: Rename CC_STATE::have_cuda to CC_STATE::have_nvidia to clarify its meaning,
add comment that it is referenced in GUI RPCs as <have_cuda> for compatibility.
Wizard ProjectInfo page tests values appropriate for connected client version.
- lib: fill in missing entries in COPROCS GUI RPCs, ensure that old data is reset
when connecting to a different host (not yet complete.)
clientgui/
AdvancedFrame.cpp
AsyncRPC.cpp
BOINCTaskBar.cpp
DlgItemProperties.cpp
ProjectInfoPage.cpp
lib/
coproc.cpp, .h
gui_rpc_client.h
gui_rpc_client_ops.cpp
Charlie 23 Jun 2011
- MGR: It turns out we want the Wizard ProjectInfo Page to check for ATI and NVIDIA
GPUs regardless of whether they were reported by CAL, CUDA or OpenCL, so we can
just check CC_STATE::have_ati and CC_STATE::have_nvidia even for newer clients.
This means the Manager doesn't need to do get_host_info RPCs, because all the
host info it needs is available from the host_info section of the get_state RPC,
so eliminate the unnecessary Manager calls of get_host_info RPC.
clientgui/
DlgAdvPreferences.cpp
MainDocument.cpp, .h
ProjectInfoPage.cpp
David 23 Jun 2011
- lib: fix compile warning
lib/
coproc.h
David 23 Jun 2011
- client: add per-project GPU exclusion.
If you put an element of the form
<exclude_gpu>
<url>http://project_url.com/</url>
<device_num>1</device_num>
</exclude_gpu>
in your cc_config.xml, that GPU won't be used for that project
lib/
cc_config.cpp,h
client/
client_types.cpp,h
client_state.cpp
cpu_sched.cpp
David 23 Jun 2011
- client: replace <ignore_cuda_dev> with <ignore_nvidia_dev>
in cc_config.xml (but keep old one for compat)
lib/
coproc.h
cc_config.cpp,h
client/
client_state.cpp
coproc_detect.cpp
log_flags.cpp
Charlie 24 Jun 2011
- SCR: Add url.cpp to Mac screensaver in XCode project to fix link error.
mac_build/
boinc.xcodeproj/
project.pbxproj
David 24 Jun 2011
- client: add <type> element to <exclude_gpu> config option,
in case of multiple GPU types
lib/
cc_config.cpp,h
client/
client_types.cpp,h
client_state.cpp
cpu_sched.cpp
David 25 Jun 2011
- client: add optional <app> elements to <exclude_gpu> config option,
to allow app-level exclusions
lib/
cc_config.cpp,h
client/
cpu_sched.cpp
David 25 Jun 2011
- client simulator: compile fix
client/
makefile_sim
sim_util.cpp
David 25 Jun 2011
- fix compile warnings
api/
boinc_api.cpp
client/
app_start.cpp
David 29 Jun 2011
- back end: strip <output_template> tags from output templates
- web: main RSS feed should include all news items, even non-notices
tools/
process_result_template.cpp
html/inc/
forum_rss.inc
lib/
str_util.cpp
samples/wrappture/
wrappture.cpp
David 29 Jun 2011
- server: restore fpops/intops_cumulative to RESULT
(structure, not table) for AQUA
- client, Windows: when wake up from hibernation,
get the time before printing log msg
db/
boinc_db.h
client/
client_state.h
sysmon_win.cpp
David 30 Jun 2011
- client (Win) add some bulletproofing in case Windows sends us a
"suspending" event but not a resume event.
client/
client_state.cpp,h
sysmon_win.cpp
David 30 Jun 2011
- db_purge: make zip compression work (from Teemu Mannermaa)
- get rid of a few compile warnings
sched/
sched_send.cpp
db_purge.cpp
sched_types.cpp
sched_score.cpp
sample_work_generator.cpp
David 4 July 2011
- back end: fix bugs in [23648] which caused create_work
to mess up input templates containing
<copy_file/> or other attribute tags.
XML_PARSER now contains a member element() for when
you want to copy an element without knowing its structure.
tools/
backend_lib.cpp
lib/
parse.cpp,h
html/user/
openid_login.php
David 5 July 2011
- update_versions: fix typo that produced bad XML
tools/
update_versions
Charlie 6 July 2011
- Mac: Update to libcurl 7.21.7 and c-ares 1.7.4.
client/
http_curl.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
buildc-ares.sh
buildcurl.sh
setupForBOINC.sh
HowToBuildBOINC_XCode.rtf
Rom 6 July 2011
- Tag for 6.13.0 release, all platforms
boinc_core_release_6_13_0
/
configure.ac
version.h
Charlie 6 July 2011
- Mac: Fix bad paths to MacBitMapComboBox.cpp, .h in XCode project.
(Checked into 6.13.0 tag).
clientgui/
mac/
MacBitmapComboBox.cpp, .h
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 7 July 2011
- Mac: Fix bug where menubar icon menu did not work after changing skin.
clientgui/
mac/
MacSysMenu.cpp
Rom 7 July 2011
- WINSCR: Remove diagnostics screensaver dialog when the screensaver fails to
be able open up the log files.
clientscr/
screensaver_win.cpp
David 7 July 2011
- client: write log msgs saying whether GPUs are OpenCL-capable
client/
client_state.cpp
David 7 July 2011
- client: fix bug introduced in [23765] that produced garbage
in <coproc> elements in sched req msgs and elsewhere.
peak_flops is a double.
If you print it using %d, everything from that point forward
is messed up.
lib/
coproc.cpp
David 7 July 2011
- client: fix typo that caused a lot of spurious
"project has XXXXXX deadline misses" messages
- fix compile warnings
client/
sandbox.cpp
rr_sim.cpp
David 7 July 2011
- client: possibly fix bug that caused no-GPU prefs to be ignored
client/
client_types.cpp
Charlie 8 July 2011
- Mac: Refine bug fix for menubar icon menu not working after changing skin.
clientgui/
BOINCTaskBar.cpp
mac/
MacSysMenu.cpp, .h
David 8 July 2011
- client: fix bug related to deselecting resource types in project prefs.
Some logic was missing.
client/
client_types.cpp,h
cs_account.cpp
work_fetch.cpp
David 10 July 2011
- client emulator web interface: make cc_config.xml an attribute
of the simulation, not the scenario.
If you want to run a simulation w/ different log flags,
you shouldn't have to create a new scenario.
- client emulator: add --config_prefix cmdline arg
- validator: prevent infinite loop when app_version.pfc_avg
is wonky (like 1e-300).
Next step: figure out how it got that way.
client/
sim.cpp
sched/
credit.cpp
David 10 July 2011
- client: clear have_nvidia/ati flags in CC_STATE
so you don't show garbage in project properties
lib/
gui_rpc_client_ops.cpp
David 10 July 2011
- Manager and GUI RPC:
Remove debt fields from PROJECT: not used anymore
Add sched_priority field
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
client/
client_state.cpp
client_types.cpp
clientgui/
DlgItemProperties.cpp
David 10 July 2011
- client: fix scheduler bug that treated all CPU jobs
as non-high-priority
- client: don't print spurious "domino prevention"
and "thrashing prevention" msgs
- manager: show project descriptions in same size font
as the rest of the dialog
client/
cpu_sched.cpp
work_fetch.h
clientgui/
ProjectInfoPage.cpp
David 11 July 2011
- manager: do the above font change only on Win
clientgui/
ProjectInfoPage.cpp
David 11 July 2011
- manager: fix messed up logic that caused projects to show
"platform not support" incorrectly.
Note: the code in this entire area seems way too complex
- manager: tweak project desc font size
clientgui/
ProjectInfoPage.cpp
David 11 July 2011
- admin web: add page for showing app and app version details
html/
ops/
submit_permissions.php
app_reset.php (new)
manage_apps.php
login_form.php
logout.php
app_details.php (new)
inc/
util_ops.inc
David 12 July 2011
- admin web: finish page for resetting app statistics
html/
ops/
app_reset.php
app_details.php
inc/
boinc_db.inc
David 12 July 2011
- validator: if job FLOPs estimates are accurate,
PFC values should be around 1.
If they differ from 1 by a factor of > 1e4, ignore them,
and put an error message into the validator log
- validator: if get_pfc() fails because an app version is
missing from the DB (i.e. the project deleted it)
keep going so we don't reprocess the WU forever
sched/
credit.cpp
David 13 July 2011
- client, work fetch policy:
adjust project REC by the amount of work queued, to increase variety
NOTE: at some point I think I had a reason to not do this,
but I can't remember what it is.
- client, job scheduling policy: fix how project REC is adjusted
client/
work_fetch.cpp,h
cpu_sched.cpp
lib/
common_defs.h
sched/
credit.cpp,h
trickle_credit.cpp
David 13 July 2011
- manager: don't show "Estimated computation speed" in task properties
The quantity involved is not actually computation speed.
Also don't show Max RAM usage.
clientgui/
DltItemProperties.cpp
David 13 July 2011
- admin web: improve the FLOPs estimation tool so that
it works for GPU versions too
html/
ops/
job_times.php
app_details.php
inc/
util_ops.php
David 13 July 2011
- client: precede OpenCL messages with [coprog_debug], not [coproc-test].
The convention is to use the name of the enabling log flag.
client/
coproc_detect.cpp
Rom 14 July 2011
- lib: Fix the various '????' fields in the diagnostics framework during a
crash on Windows. Somewhere along the lines I messed up with the
conversions of single-byte characters vs. double-byte characters.
lib/
stackwalker_win.cpp
David 14 July 2011
- client: add <rec_half_life_days> config option
lib/
cc_config.cpp,h
cpu_sched.cpp
David 14 July 2011
- client: if a project has zero resource share,
don't piggyback a work request onto a non-work-request RPC
client/
work_fetch.cpp
David 14 July 2011
- client: show the right prefix for <cpu_sched_debug> messages
client/
cpu_sched.cpp
Charlie 18 July 11
- MGR: Fix "Can't load Image" messages in Simple View; allow gaps in slide
show file numbering; reload images if new project files downloaded.
clientgui/
sg_ProjectPanel.cpp, .h
sg_TaskPanel.cpp, .h
Rom 18 July 2011
- Tag for 6.13.1 release, all platforms
boinc_core_release_6_13_1
/
configure.ac
version.h
David 18 July 2011
- web: when listing a user's message-board posts,
don't show team message-board posts unless
a) the requesting user is a member of the team, and
b) if the post is hidden, the requesting user is a team admin
This enforces the goal that a team's message board
is visible only to the team.
html/user/
forum_user_posts.php
David 19 July 2011
- validator: remove spurious messages
sched/
credit.cpp
David 19 July 2011
- server: some stuff to prepare for distributed storage
- don't create result records for uploads and downloads.
Just create a msg_to_client record.
- the scheduler handles file-transfer results specially;
it makes a vector of them, then calls a project-supplied function
handle_file_xfer_results()
- change the interface and implementation of put_file and get_file
- client write project sched priority in GUI RPC replies,
but not to the state file
sched/
delete_file.cpp
put_file.cpp
get_file.cpp
sched_types.cpp,h
sched_customize.cpp,h
handle_request.cpp
credit_test.cpp
tools/
backend_lib.cpp,h
py/Boinc/
setup_project.py
client/
client_state.cpp
boinc_cmd.cpp
client_types.cpp
David 20 July 2011
- client: changes to the client file model to support distributed storage,
as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
Compatibility:
clients that upgrade to this version should see nothing unusual.
Clients that downgrade from this version to a previous version
should see all projects reset
(i.e. tasks disappear and then get re-downloaded).
- manager: always show whether a file transfer is upload or download
- client: don't scale work requests by resource share
client/
client_types.cpp,h
cs_apps.cpp
cs_files.cpp
cs_prefs.cpp
cs_statefile.cpp
file_xfer.cpp
pers_file_xfer.cpp
work_fetch.cpp
clientgui/
ViewTransfers.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 20 July 2011
- client/server: change the implementation of upload signatures
as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
Compatibility: if your project is using upload signatures:
- set ignore_upload_certificates
- disable job creation
- let your job queue drain
- upgrade to new server software
- clear ignore_upload_certificates
- enable job creation
sched/
file_upload_handler.cpp
tools/
process_result_template.cpp
lib/
gui_rpc_client_print.cpp
client/
client_types.cpp,h
file_xfer.cpp
David 20 July 2011
- server: debug the above
sched/
file_upload_handler.cpp
David 20 July 2011
- client: debug the above
client/
file_xfer.cpp
David 20 July 2011
- server: debug distributed storage functions
- generate upload signatures if needed
- assign deadlines to file xfer jobs (default 1 week)
- scheduler: ack completed file xfer results
sched/
put_file.cpp
get_file.cpp
sched_customize.cpp
tools/
backend_lib.cpp,h
David 20 July 2011
- client: debug distributed storage functions
client/
client_types.cpp,h
cs_statefile.cpp
scheduler_op.cpp
David 22 July 2011
- server: some remote job submission code. Not finished.
tools/
create_work.cpp
html/
inc/
submit.inc
user/
submit.php
submit_example.php
Charlie 25 July 11
- Mac: Begin changes for XCode 4.1 and GCC 4.2.
client/
hostinfo_unix.cpp
clientgui/
browser.h
sqlite3.c
mac/
MacBitmapComboBox.h
lib/
hostinfo.h
David 25 July 2011
- web: more remote job submission code. Not finished.
db/
boinc_db.h
html/
inc/
submit.inc
boinc_db.inc
result.inc
user/
submit_example.php
get_output.php
submit.php
David 25 July 2011
- user web: internationalization, from Christian Beer
html/user/
show_host_detail.php
sample_index.php
show_coproc.php
show_user.php
profile_search_action.php
team.php
David 25 July 2011
- user web: remote job submission:
add the ability to download zipped output files
html/user/
submit_example.php
get_output.php
Charlie 26 July 11
- Mac: Finish changes for XCode 4.1 and GCC 4.2.
clientgui/
sqlite3.c
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
PostInstall.cpp
release_boinc.sh
David 26 July 2011
- web: remote job submission: implement abort and cleanup functions
html/
inc/
forum.inc
submit.inc
util.inc
result.inc
user/
forum_thread.php
submit_example.php
submit.php
David 26 July 2011
- web: remote job submission:
- add fields to batch table, extend APIs accordingly
- require that example web interface run on BOINC server
(this makes many things easier;
an actual remote interface would require a bit more work)
db/
boinc_db.h
schema.sql
html/
ops/
db_update.php
inc/
submit_db.inc
submit.inc
util.inc
result.inc
user/
submit_example.php
submit.php
Charlie 27 July 11
- lib: Initialize config_coprocs struct in CONFIG::defaults().
lib/
cc_config.cpp
Charlie 27 July 11
- SCR: Fix delay dismissing screensaver under Mac OS10.7.
clientscr/
mac_saver_module.cpp
Mac_Saver_Module.h
Mac_Saver_ModuleView.m, .h
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 28 July 11
- Mac SCR: Fix vertical range of moving logo.
clientscr/
Mac_Saver_ModuleView.m
David 28 July 2011
- remote job submission: bug fix and tweaks
- client: cc_config.xml: if <devnum> is omitted from a <exclude_gpu>,
it means exclude all instances of that GPU type
- client: if all instances of a GPU type are excluded for a project,
don't ask the project for jobs of that type
html/
ops/
submit_permissions.php
inc/
util.h
user/
submit_example.php
lib/
cc_config.cpp,h
client/
work_fetch.cpp,h
client_types.cpp,h
client_state.cpp
gui_rpc_server_ops.cpp
cpu_sched.cpp
David 29 July 2011
- client: fix bug in <exclude_gpu> config option
- client: extend <exclude_gpu> option so that if <device_num> is omitted,
all GPUs of the given type are excluded.
client/
cpu_sched.cpp
work_fetch.cpp
lib/
cc_config.cpp,h
David 30 July 2011
- server: fix typo
db/
boinc_db.h
David 30 July 2011
- user web: in instructions for logging in with authenticator,
show the actual account file name.
html/user/
get_passwd.php
David 30 July 2011
- web: fix typo that prevented users from seeing their own hidden posts
html/
inc/
prefs.inc
user/
forum_user_posts.php
David 31 July 2011
- web: fix +/- forum rating, and tweak messages. Fixes #1123
html/user/
forum_report_post.php
forum_rate.php
David 31 July 2011
- scheduler: check for negative elapsed time in results
reported by client, set to zero
sched/
sched_result.cpp
sched_types.cpp
html/user/
create_account_form.cpp
David 1 Aug 2011
- web: fix bug in next_url mechanism
html/inc/
util.inc
David 1 Aug 2011
- client: change the way upload signatures are generated
in an attempt to make them work with existing servers
client/
file_xfer.cpp
David 1 Aug 2011
- client: undo the above. doesn't work
client/
file_xfer.cpp
David 1 Aug 2011
- update_versions: add optional <gzip> element to
<file> element in version.xml.
If present, update_versions will gzip the file in the download dir.
Use this only if you have gzip-encoding enabled in Apache.
tools/
update_versions
Charlie 2 Aug 11
- Mac installer: Work around bug in Mac OS 10.7 dscl merge command.
mac_installer/
PostInstall.cpp
David 2 Aug 2011
- update_versions: bug fixes
tools/
update_versions
David 3 Aug 2011
- client: fix bug in get_descendants(),
which prevented the client from cleaning up
subprocesses of misbehaving multiprocess apps.
- remote job submission system:
assign physical names to input files (based on their MD5)
rather than having the user provide physical names
- VM apps: eliminate vbox64 plan class. Only vbox.
sched/
sched_customize.cpp
html/
ops/
manage_app_versions.php
inc/
submit.inc
user/
submit_example.php
submit.php
lib/
procinfo.cpp
client/
app_start.cpp
app_control.cpp
David 3 Aug 2011
- client: add optional <file_prefix> to APP_VERSION>.
If present, "file_prefix/" is prepended to the logical names
of input and output files of jobs using that app version.
I.e. for Vbox wrapper based app versions, file_prefix is "share",
so that I/O files are put in a "share" subdirectory of the slot dir.
- update_versions: add support for
<dont_throttle>
<file_prefix>x</file_prefix>
in version.xml
tools/
update_versions
client/
client_types.cpp,h
app.h
app_start.cpp
David 3 Aug 2011
- client: if an app version has nonempty file_prefix,
copy all its input and output files
client/
app.h
app_start.cpp
Charlie 3 Aug 11
- Mac: Fix warning about potential memory leak.
clientgui/
mac/
SystemMenu.m
David 3 Aug 2011
- vbox wrapper: fix parsing of job file
- vbox wrapper: fix code structure
- merge vm and vbox
- no global vars
samples/vboxwrapper/
vbox.cpp,h
vm.cpp.h (removed)
vboxwrapper.cpp
Makefile
David 3 Aug 2011
- vbox wrapper: hardwire logical name of image file to "vm_image.vdi".
- vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
where SLOT is the slot number.
Vbox requires unique names for VM image files.
samples/vboxwrapper/
vbox.cpp,h
vboxwrapper.cpp
David 4 Aug 2011
- scheduler: apparently some hosts send GPU parameters that cause
the peak_flops to be negative (probably #processors = -1).
This leads to negative credit.
Fix: if peak flops is negative, set it to 50 GFLOPS
- web: fix email validate page
lib/
coproc.h
html/user/
validate_email_addr.php
Rom 4 Aug 2011
- vbox wrapper: initialize xml parser with the correct starting tag.
samples/vboxwrapper/
vboxwrapper.cpp
David 4 Aug 2011
- scheduler: turns out we need separate vbox32 and vbox64
plan classes after all.
Otherwise (since app_plan() is not passed an app version)
there's no way to enforce that 64 bit hosts are sent
only the 64 bit version (which is necessary because
of the split-registry scheme).
sched/
sched_customize.cpp
David 6 Aug 2011
- web: send user a private message when
- one of their posts is moderated
- a banishment vote starts or completes.
This is needed in cases where the user can't or doesn't
read email to their account's address.
The "from" address of the PM is that of the user, not the moderator.
html/
inc/
pm.inc
forum_email.inc
user/
pm.php
team_founder_transfer_action.php
David 6 Aug 2011
- update_versions: fix bug where files not listed in version.xml
are not processed correctly
- remote job submission: debug
- create_work: --rsc_fpops_est etc. should override the template file
tools/
backend_lib.cpp
update_versions.cpp
html/user/
submit_example.php
submit.php
David 7 Aug 2011
- remote job submission: bug fixes
html/
inc/
submit.inc
util.inc
result.inc
user/
submit_example.php
submit.php
David 7 Aug 2011
- client: projects with zero resource share are always lower priority,
for both job sched and work fetch,
than projects with positive resource share.
client/
cpu_sched.cpp
work_fetch.cpp
David 7 Aug 2011
- scheduler: fix nasty bug where SCHED_DB_RESULT::parse()
was doing memset(this, 0, sizeof(RESULT)),
i.e. it wasn't zeroing out the whole structure.
The elapsed_time field (which isn't reported by old clients),
is near the end of the struct,
and it was getting garbage, e.g. 1e-304, in some cases,
which led to zero credit (and maybe other problems)
- validator: treat 1e-304 like zero in case of other problems
like the above.
- remote job submission: tweaks
sched/
credit.cpp
sched_types.cpp
html/user/
submit_example.php
submit.php
David 7 Aug 2011
- web: when sending emails to other users, don't translate anything
(since they don't necessarily speak our language)
html/
ops/
index.php
inc/
pm.inc
submit.inc
David 7 Aug 2011
- client: make round-robin simulator match what the job scheduler now does:
give lowest priority to projects with zero resource share.
client/
rr_sim.cpp
client_types.h
Charlie 8 Aug 2011
- Changes for Charity Engine Desktop.
clientgui/
mac/
CE_ss_logo.tiff (new)
res/
CE_Install.icns (new)
CharityEngine.icns (new)
CE_Uninstall.icns (new)
MacCEPkgIcon.zip (new)
skins/
Charity Engine/ (new)
graphics/ (new)
(many new files)
skin.xml (new)
clientscr/
mac_saver_module.cpp
res/
CE_ss_logo.png (new)
CE_ss_logo.jpg (new)
ss_app.cpp
mac_installer/
CE-Branding (new)
CE-ReadMe.rtf (new)
CharityEngine/ (new)
acct_mgr_url.xml (new)
GR-ReadMe.rtf
make_CharityEngine.sh (new)
PostInstall.cpp
PTP-ReadMe.rtf
ReadMe.rtf
Charlie 8 Aug 2011
- Mac Client: Call NSVersionOfRunTimeLibrary("cuda") to set
cc.display_driver_version (from Oliver Bock.)
client/
coproc_detect.cpp
David 9 Aug 2011
- client: rename MODE to RUN_MODE, and rename vars accordingly
client/various
David 9 Aug 2011
- client: pass XML_PARSER& rather than MIOFILE& to parse functions.
Preparatory to using new-style XML parsing everywhere.
client/various
lib/various
Rom 10 Aug 2011
- Changes for Charity Engine Desktop.
client/win/res/
ce.ico
clientctrl/
boincsvcctrl.rc
clientgui/
BOINCGUIApp.rc
clientgui/res/
ce.ico
clientlib/win/
boinc_dll.rc
clientscr/
boinc_ss.rc
clientscr/
boinc_ss_opengl.rc
clientscr/res/
ce.bmp
ce.ico
clienttray/
boinc_tray.rc
win_build/
ce_boinc_cli.vcproj
ce_boinc_dll.vcproj
ce_boinc_ss.vcproj
ce_boinccmd.vcproj
ce_boincmgr.vcproj
ce_boincsvcctrl.vcproj
ce_boinctray.vcproj
ce_ss_app.vcproj
CharityEngine.sln
win_build/installerv2/
CharityEngine.ism
win_build/installerv2/redist/0409/
ce-eula.rtf
win_build/installerv2/redist/CharityEngine/
acct_mgr_url.xml
ce.ico
CE_IsDialogBanner.bmp
CE_IsDialogBitmap.bmp
CE_Splash.bmp
David 10 Aug 2011
- Improve interface of XML_PARSER.
Add parsed_tag and is_tag to the class,
so that parsing functions don't need to declare them
and pass them around.
- Complete the task of using XML_PARSER as the argument
to all parsing functions.
(Internally, many of these functions still use the old XML parser;
that's the next step.)
db/
boinc_db.cpp,h
sched/
various
tools/
backend_lib.cpp
lib/
various
client/
various
David 10 Aug 2011
- fix compile warnings; msg tweak
client/
cpu_sched.cpp
lib/
parse.cpp
David 10 Aug 2011
- client: use new XML parser pretty much everywhere
lib/
cert_sig.cpp,h
parse.h
client/
pers_file_xfer.cpp
cs_account.cpp
client_types.cpp
cs_statefile.cpp
scheduler_op.cpp
time_stats.cpp
app.cpp
current_version.cpp
Charlie 11 Aug 2011
- Mac installer: Bug fixes for OS 10.7 Lion: LoginItemAPI.c did not
set hidden properlty for login items, so use AppleScript instead,
to prevent Lion from opening BOINC windows at system startup.
- Fix a bug I introduced on 8 August which prevented launching
WaitPermissions.app.
- Mac uninstaller: Remove Charity Engine BOINC app if present.
mac_installer/
AddRemoveUser.cpp
PostInstall.cpp
Uninstall.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 11 Aug 2011
- client: more XML parsing stuff
client/
app.cpp
net_stats.cpp
David 11 Aug 2011
- scheduler: update XML parsing
sched/
sched_main.cpp
sched_types.cpp
David 11 Aug 2011
- client: XML tweak
client/
client_types.cpp
Charlie 12 Aug 2011
- Mac installer: Bug fixes for OS 10.7 Lion.
mac_build/
Mac_SA_Secure.sh
mac_installer/
AddRemoveUser.cpp
PostInstall.cpp
Rom 18 Aug 2011
- WINSCR: Based on feedback from WCG about the screensaver lock-up
problem attempt to provoke Windows into redrawing the primary
display. It turns out that the screensaver image is a ghost
image, so create a blank top-most window and close it after
the graphics application has been terminated.
clientscr/
screensaver_win.cpp, .h
David 21 Aug 2011
- Vbox wrapper: add --trickle x option; sends a trickle-up message
reporting incremental runtime exery x seconds of runtime.
- client: more XML parsing cleanup
- credit trickle handler: do sanity checks on CPU speed
sched/
trickle_credit.cpp
credit.cpp,h
samples/vboxwrapper/
vboxwrapper.cpp
client/
acct_setup.cpp,h
gui_rpc_server_ops.cpp
David 21 Aug 2011
- credit trickle handler: write log messages if sanity checks fail
sched/
trickle_credit.cpp
David 21 Aug 2011
- add script to purge trickle message records from DB
- fix spelling errors in db_purge
html/ops/
purge_trickles.php (new)
sched/
db_purge.cpp
Charlie 22 Aug 2011
- client: Fix compiler warnings.
client/
app.cpp
coproc_detect.cpp
Charlie 22 Aug 2011
- client: Correlate OpenCL results with CAL or CUDA results based
on index of devices reported by each. This assumes that CUDA
and OpenCL and report NVIDIA devices in the same order, and
that CAL and OpenCL report ATI/AMD devices in the same order.
client/
coproc_detect.cpp
lib/
coproc.h
David 22 Aug 2011
- client emulator fixes
sched/
edf_sim.h
client/
sim.cpp
sim_util.cpp
cs_statefile.cpp
Charlie 23 Aug 2011
- client: If OpenCL is supported, add OpenCL information to
COPROC_ATI::write_xml() and COPROC_NVIDIA::write_xml(), and
parse OpenCL information in COPROC_ATI::parse() and
COPROC_NVIDIA::parse().
- client: Add OpenCL platform version number to COPROC struct.
client/
coproc_detect.cpp
lib/
cl_boinc.h
coproc.cpp, .h
parse.h
David 23 Aug 2011
- example app: change the app version structure to match the new format
samples/example_app/
various
David 23 Aug 2011
- fix linux build errors in coproc stuff.
I don't think unsigned long long is relevant here.
lib/
parse.h
coproc.cpp
client/
coproc_detect.cpp
David 23 Aug 2011
- example app: get it right this time
samples/example_app/
various
Charlie 24 Aug 2011
- lib: fix compile errors on Mac, Ubuntu and Windows.
lib/
parse.h
Charlie 24 Aug 2011
- client: fix compile warnings on Mac and Ubuntu.
client/
coproc_detect.cpp
Charlie 24 Aug 2011
- lib, client: revert recent changes to restore unsigned long long so
we can determine cause of and try to fix Linux build errors.
- lib: On Windows, call _strtoui64() instead of strtoull.
lib/
coproc.cpp
parse.h
client/
coproc_detect.cpp
David 24 Aug 2011
- job submission: fix bug where parameters specified in the
input template (e.g., delay bound) were ignored
- web: fix PHP warning
tools/
backend_lib.cpp
html/
inc/
forum.inc
user/
forum_forum.php
David 24 Aug 2011
- client: pass --gpu_type X (X=nvidia or ati) as well as --device.
This lets device-neutral OpenCL apps figure out which GPU to use.
client/
app_start.cpp
Charlie 25 Aug 2011
- client: fix Linux compile errors and warnings.
client/
coproc_detect.cpp
lib/
coproc.cpp
parse.h
David 25 Aug 2011
- client: fix bug where NVIDIA display driver version wasn't being
set correctly for some laptop GPUs
- client/server: improve estimation of NVIDIA GPU peak FLOPS
lib/
coproc.h
client/
coproc_detect.cpp
David 25 Aug 2011
- validator: update credit statistics even if credit_from_wu
is being used.
- web: make almost everything translatable. From Christian Beer.
sched/
validator.cpp
html/user/
various
Charlie 26 Aug 2011
- lib: use standard implementation of strtoull when available.
configure.ac
clientgui/
mac/
config.h
lib/
parse.h
David 26 Aug 2011
- web: more fixes from Christian Beer. Fixes #1129
html/
ops/
inc/
Rom 26 Aug 2011
- VboxWrapper: Add functions for enable/disable network and throttling
the CPU and network activity.
samples/vboxwrapper/
vbox.cpp, .h
David 26 Aug 2011
- scheduler: don't send user a message when there is no
app version for their platform for a particular app.
The may be versions for other apps which don't have jobs right now.
TODO: send a message if there are no versions of ANY app
for any platform.
- fix makefile indentation, caused manager to not be built
fixes #1132
sched/
sched_version.cpp
sched_send.cpp
Makefile.am
David 26 Aug 2011
- VirtualBox wrapper:
- change names of CPU and network-limiting functions
to express their units (always do this).
- wrapper monitors status.suspend_network
and suspends/resumes network accordingly
- wrapper sets CPU and network bandwidth limits on startup
(Rom: should this be done before run() rather than after?)
Note: App versions using this wrapper should always have
<dont_throttle/> in their version.xml,
to tell the client that the app throttles itself.
samples/vboxwrapper/
vbox.cpp,h
vboxwrapper.cpp
David 26 Aug 2011
- fix build error in Linux screensaver (at least on FC14)
clientscr/
screensaver_x11.cpp
David 26 Aug 2011
- web: comment out OpenID login - not working yet
html/user/
login_form.php
David 26 Aug 2011
- job creation: handling of extra XML in input templates didn't work.
- job creation: fix stripping of <output_template> tags
- client: fix off-by-1 error in buffer overflow logic for scanning keys.
tools/
backend_lib.cpp
process_result_template.cpp
lib/
crypt.cpp
parse.cpp,h
David 26 Aug 2011
- manager: Communitcations -> Communications.
please, no spelling errors in function/variable names
- client: parse deprecated tags in <file_info>
clientgui/
ProjectProcessingPage.cpp,h
AccountManagerProcessingPage.cpp,h
client/
client_types.cpp
David 26 Aug 2011
- client: fix bug that caused project attach to fail
- clientgui: Rom, we should do error-checking of most GUI RPCs;
look for REPORT ERROR in ProjectProcessingPage.cpp
client/
acct_setup.cpp
coproc_detect.cpp
clientgui/
ProjectProcessingPage.cpp
David 26 Aug 2011
- web: fix glitch in forum next/prev links
html/inc/
host.inc
forum.inc
David 26 Aug 2011
- web: more tra() stuff
html/user/
forum_thread.php
David 27 Aug 2011
- web: add a magic header string that supposedly will make
Recaptcha work on some IE variants. WTF??
html/
inc/
util.inc
user/
create_account_form.php
create_profile.php
David 28 Aug 2011
- web: fix to the above
- web: fix forum search
html/
inc/
util.inc
user/
forum_search.php
forum_search_action.php
David 28 Aug 2011
- web: fix some stuff broken by my checkin [24039].
- web: use &amp; instead of & in URLs (not complete)
html/
inc/
forum.inc
util.inc
user/
forum_thread.php
forum_forum.php
edit_forum_preferences_action.php
David 29 Aug 2011
- web: fix typo in profile credit/edit
html/user/
create_profile.php
David 29 Aug 2011
- web: fix bug in "report post" function
html/user/
delete_profile.php
forum_report_post.php
David 29 Aug 2011
- Vbox wrapper: deal with checkpointing.
Current: wrapper reports frequent checkpointing to client,
but actually checkpoints only when the VM is stopped
Problem: large amounts of work would be wasted if
BOINC stops in an ungraceful way (e.g., power failure)
Solution:
Don't report frequent checkpointing.
Every CPU scheduling period (typically once/hour)
stop the VM (creating a checkpoint)
and call boinc_temporary_exit(0).
If the client wants to keep running this job,
it will start us immediately.
samples/vboxwrapper/
vboxwrapper.cpp
David 29 Aug 2011
- web: add page showing top GPU models
html/user/
gpu_list.php
Charlie 30 Aug 2011
- Mac: Copy BOINC libraries built with XCode 4.1 to locations
where built by earlier versions of XCode so dependent
builds can always find them.
- Vbox wrapper: create XCode project.
mac_build/
boinc.xcodeproj/
project.pbxproj
samples/vboxwrapper/
vboxwrapper.xcodeproj
project.pbxproj
David 30 Aug 2011
- client: fix a couple of valgrind warnings
client/
cs_notice.cpp
hostinfo_unix.cpp
David 30 Aug 2011
- client: send all running jobs a "reread app info" message
when global prefs change (in the case of vboxwrapper,
it might have to change network or CPU throttling)
sched/
sched_version.cpp
sched_send.cpp
client/
cs_prefs.cpp
David 30 Aug 2011
- web: sort GPUs by average elapsed time
html/user/
gpu_list.php
David 30 Aug 2011
- vbox wrapper: check for boinc_status.reread_init_data_file,
and if set reread the file, set throttles, and clear flag
samples/vboxwrapper/
vboxwrapper.cpp
David 30 Aug 2011
- validator: in "credit_from_wu" case, record what the new credit
system would have assigned in result.claimed_credit.
sched/
validator.cpp
Charlie 31 Aug 2011
- define GPU_TYPE_NVIDIA, GPU_TYPE_ATI, use everywhere instead of
literal strings "NVIDIA" and "ATI" to ensure uniformity.
client/
acct_mgr.cpp
client_state.cpp
client_types.cpp
coproc_detect.cpp
cpu_sched.cpp
cs_account.cpp
cs_scheduler.cpp
log_flags.cpp
scheduler_op.cpp
lib/
coproc.cpp, .h
gui_rpc_client_ops.cpp
Charlie 31 Aug 2011
- lib: Add OPENCL_REFERENCE boinc_get_opencl_ids(int argc, char** argv)
to be called by OpenCL project applications to get the platform ID
and device ID of the GPU assigned to the task by the scheduler.
lib/
coproc.cpp, .h
David 31 Aug 2011
- API: move boinc_get_opencl_ids() from lib/ to api/.
lib/ is for code that's used by >1 part of BOINC
lib/
coproc.cpp,h
api/
boinc_opencl.cpp,h (new)
Makefile.am
David 31 Aug 2011
- boinc_get_opencl_ids():
- change signature to return int error code
- no function overloading
api/
boinc_opencl.cpp,h
David 31 Aug 2011
- client: fix bugs related to white space around code signing keys
- win compile fixes
api/
boinc_opencl.cpp
client/
client_types.cpp
cs_scheduler.cpp
scheduler_op.cpp
win_build/
libboincapi_staticrt.vcproj
David 31 Aug 2011
- web: show actual project info on "forget password?" page
html/user/
get_passwd.php
David 31 Aug 2011
- API: boinc_get_opencl_ids() doesn't need to link
the OpenCL library at runtime.
It's used only in OpenCL applications,
which already include the library.
api/
boinc_opencl.cpp,h
Makefile.am
David 31 Aug 2011
- scheduler: make sure there's a \n after </workunit> and </result>.
Otherwise older clients won't be able to parse.
sched/
sched_types.cpp
Rom 31 Aug 2011
- VboxWrapper: Specify a configuration directory under the slot directory to
try and avoid permission errors on multiple platforms when BOINC
is installed as a daemon.
samples/vboxwrapper/
vbox.cpp
Charlie 31 Aug 2011
- api: Fix compile errors and warnings, add documentation in comments
- lib: remove unnecessary #include, add needed function declarations
api/
boinc_opencl.cpp, .h
lib/
cl_boinc.h
coproc.cpp
David 31 Aug 2011
- web: show relative performance on GPU list
html/user/
gpu_list.php
Charlie 1 Sep 2011
- api: More fixes to boinc_get_opencl_ids()
api/
boinc_opencl.cpp
lib/
cl_boinc.h
Charlie 1 Sep 2011
- lib: if OS_Darwin use procinfo_mac.cpp isntead of procinfo_unix.cpp.
- lib, api: update XCode project to build same source files in each
library as corresponding make files.
lib/
makefile.am
mac_build/
boinc.xcodeproj/
project.pbxproj
David 1 Sept 2011
- server: rename process_wu_template() to process_input_template(),
and move it to its own file
sched/
Makefile.am
tools/
backend_lib.cpp,h
process_input_template.cpp,h (new)
Makefile.am
api/
reduce_main.cpp
David 1 Sept 2011
- server: factor process_input_template() into smaller pieces
tools/
process_input_template.cpp
David 1 Sept 2011
- web: fix bug in "allow beta apps" preferences editing
html/user/
prefs_edit.php
David 1 Sept 2011
- wrapper compile fixes
samples/wrapper/
wrapper.cpp
Rom 1 Sept 2011
- VboxWrapper: Add a way to extract the VM process id from the VM's
log file.
samples/vboxwrapper/
vbox.cpp, .h
David 2 Sept 2011
- client (and API and manager): change the data structure
used for system process info
Old: vector of PROCINFO.
Descendants of a process were found by recursively
iterating through the vector.
Operations are O(n)
New: map of (id, PROCINFO),
and each PROCINFO has a vector of its children.
Operations are O(log(n))
Also combined Mac/Win/Linux variants of code that
was essentially the same.
lib/
procinfo.cpp,h
procinfo_win.cpp
procinfo_unix.cpp
procinfo_mac.cpp
clientgui/
BOINCClientManager.cpp
BOINCGUIApp.cpp
David 2 Sept 2011
- more code shuffling:
proc_control: controlling processes
procinfo: enumerating and querying processes
run_app_windows: launching apps as other users on Win
lib/
proc_control.cpp,h
run_app_windows.cpp
procinfo.cpp,h
Makefile.am
api/
boinc_api.cpp
client/
app_control.cpp
David 2 Sept 2011
- client/API/vboxwrapper:
add a mechanism so that apps can report sub-processes
that are not descendants (e.g., virtual machines)
These processes are then counted as part of the app,
not as "non-BOINC CPU time".
This fixes a bug where processing was incorrectly suspended
because CPU usage by VM apps exceeded the "CPU usage limit" pref.
Implementation:
- the PIDs of the processes in question
are passed from app to client via shared-memory,
in the app_status channel.
A new variant of boinc_report_app_status() supports this.
- the VBox wrapper queries the PID of the VM,
and reports it in this way.
- procinfo_app() includes a new argument: a list of PIDs
that are part of the app, although not ancestrally
related to the main process.
- in the client, ACTIVE_TASK now includes a vector "other_pids".
If this is nonempty, it's passed to procinfo_app().
lib/
procinfo.cpp,h
samples/
vboxwrapper/
vbox.cpp,h
vboxwrapper.cpp
api/
boinc_api.cpp,h
client/
app.cpp,h
app_control.cpp
David 2 Sept 2011
- web: fix bug in add project prefs for a venue
html/user/
add_venue.php
Charlie 2 Sep 2011
- lib: Fix compile errors; add app_control.cpp to XCode project.
client/
app_control.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 2 Sept 2011
- lib: minor code shuffle
lib/
proc_control.cpp
procinfo_win.cpp
David 2 Sept 2011
- web: when displaying a user's posts, limit the query to 1000
so the page doesn't exceed CPU limit
html/user/
forum_user_posts.php
David 5 Sept 2011
- web: fix warnings in forum pages
- scheduler: when using elapsed time stats to predict runtime,
cap the estimated FLOPS at twice the peak FLOPS;
otherwise, if a host has received a lot of very short jobs
recently, it will get a too-high FLOPS estimate and
will exceed the rsc_fpops_bound limit.
db/
boinc_db.h
sched/
sched_types.cpp,h
sched_version.cpp
html/
ops/
submit_permissions.php
inc/
forum.inc
David 5 Sept 2011
- scheduler RPC: add <override_file_present> element to
the <working_global_preferences> element in
scheduler RPC request
(tells the server that there's an override file).
- account manager RPC: add <working_global_preferences> element,
including the override flag.
- web: add "no time limit" option for forum search
- web: increase show-user-post query limit to 10000
lib/
prefs.cpp,h
client/
cs_prefs.cpp
acct_mgr.cpp
html/user/
forum_search.php
forum_search_action.php
forum_user_posts.php
David 6 Sept 2011
- scheduler: add a debug message
sched/
sched_send.cpp
David 6 Sept 2011
- client: fix bugs with white space around code sign keys
and file signatures
- client: when describing app versions in scheduler requests,
we still must use CUDA instead of NVIDIA;
that's what's in the server code.
client/
client_types.cpp
David 6 Sept 2011
- scheduler: use new XML parser for most request elements
- scheduler: parse NVIDIA as well as CUDA in app version descriptions
(workaround for recent clients)
sched/
sched_send.cpp
sched_types.cpp
David 6 Sept 2011
- preliminary stuff for mechanism where privileged users
can create apps and app versions
- crontab commands should be preceded by cd to project root
db/
schema.sql
tools/
make_project
html/
ops/
submit_permissions.php
db_update.php
user/
submit_app.php
David 7 Sept 2011
- scheduler: fix crashing bug
sched/
sched_version.cpp
sched_assign.cpp
Rom 7 Sept 2011
- Tag for 6.13.2 release, all platforms
boinc_core_release_6_13_2
/
configure.ac
version.h
David 7 Sept 2011
- feeder: change the DB query to skip jobs for deprecated apps.
Otherwise, if you have a deprecated app with >= 200 jobs
(200 is the query's limit)
it could always get jobs for that app,
and never put anything into the cache.
db/
boinc_db.cpp
David 7 Sept 2011
- client: make exit_before_start a cc_config.xml option
(as well as a cmdline option)
- wrapper: print error messages if stdin/out/err files don't exist
lib/
cc_config.cpp,h
samples/wrapper/
wrapper.cpp
client/
client_state.cpp,h
app_start.cpp
cs_cmdline.cpp
app_control.cpp
David 8 Sept 2011
- scheduler: in work_needed(), ignore requests for resource
types for which we have no app versions
- client: if too many <coproc> elements in cc_config.xml,
detect it and inform user
sched/
sched_send.cpp
lib/
coproc.h
cc_config.cpp
samples/
client_state_save.xml
client/
log_flags.cpp
David 8 Sept 2011
- web: fix PHP warning
html/inc/
result.inc
David 8 Sept 2011
- validator: old scheduler bugs may cause result.flops_estimate
to be negative in some cases.
Detect this, and use 1e10 instead
sched/
credit.cpp
David 8 Sept 2011
- client: new XML parser had a limit of 8KB for strings.
This broke things. Increase it to 256KB.
lib/
parse.cpp
Charlie 9 Sep 2011
- Mac: More fixes for building under XCode 4.1.
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
release_boinc.sh
Rom 9 Sept 2011
- Tag for 6.13.3 release, all platforms
boinc_core_release_6_13_3
/
configure.ac
version.h
David 9 Sept 2011
- web: suppress warning on cache unlink
html/inc/
cache.inc
David 9 Sept 2011
- client: XML-escape the URLs in RSS feed lists
- lib: make xml_unescape work for arbitrarily large strings
lib/
parse.cpp
client/
cs_notice.cpp
David 10 Sept 2011
- client: don't pass --gpu_type to GPU apps;
this breaks many existing apps.
Instead, pass the GPU type (and the device number)
in app_init_data.xml
client/
app_start.cpp
lib/
app_ipc.cpp,h
David 10 Sept 2011
- client: fix error in parsing of XML comments
lib/
parse.cpp
David 11 Sept 2011
- client: finish next-to-last checkin
client/
app_control.cpp
app_start.cpp
app.h
David 11 Sept 2011
- manager, simple view:
- edit label text
- increase opacity of main area;
otherwise some text is hard to read
- change borders from blue to light gray.
In general shouldn't use primary colors
- display credit as integer
- reduce size of project name;
otherwise long names don't fit (on Win)
- don't use "(in slot x)".
"Slot" is not part of the vocabulary here.
clientgui/
sg_PanelBase.cpp
sg_ProjectPanel.cpp
sg_TaskPanel.cpp
David 11 Sept 2011
- API: change boinc_get_opencl_ids() to use APP_INIT_DATA
instead of cmdline
api/
boinc_api.cpp,h
boinc_opencl.cpp,h
David 11 Sept 2011
- API; fix the above fix
api/
boinc_api.cpp,h
boinc_opencl.cpp
Makefile.am
David 12 Sept 2011
- client: make RR simulation more accurate
by simulating time-slicing explicitly.
Also simulate changes in project REC
and hence in scheduling priority.
- client: add a log flag "rrsim_detail" that prints
time-slice-level info.
lib/
cc_config.cpp,h
client/
work_fetch.cpp,h
client_types.cpp,h
rr_sim.cpp,h
cpu_sched.cpp
David 12 Sept 2011
- client: remove code related to debt-based scheduling
client/
work_fetch.cpp,h
client_types.cpp,h
sim.cpp
cpu_sched.cpp
David 12 Sept 2011
- client: make file upload work w/ old handlers
client/
file_xfer.cpp
David 12 Sept 2011
- web: add <no_web_account_creation> config option
html/user/
create_account_form.php
create_account_action.php
sample_index.php
David 12 Sept 2011
- validator: add --no_credit option;
maintains stats but doesn't grant credit
sched/
validator.cpp
David 12 Sept 2011
- client, GUI RPC, Manager:
in GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait.
It means that the app did a boinc_temporary_exit(),
and is waiting to be rescheduled.
GPU mem wait is one source of this, not the only one
clientgui/
MainDocument.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
client/
client_types.cpp
Rom 13 Sept 2011
- VBOX: Add more trace messages to the wrapper to help resolve
issues.
samples/vboxwrapper/
vbox.cpp
David 13 Sept 2011
- validator: add a --credit_from_runtime option.
This assigns credit proportional to runtime*p_fpops.
To prevent cheating, p_fpops is capped at the 95th percentile value
among active hosts,
and runtime is capped at a specified limit.
This option supports apps, like LHC's CERNvm app,
that run for a certain amount of time and then exit.
The CreditNew system doesn't work for such apps.
- trickle_credit:
To prevent cheating,
cap p_fpops at the 95th percentile value among active hosts,
and require a limit on runtime.
- require that trickle handlers supply an initialization function
db/
boinc_db.cpp,h
sched/
trickle_handler.cpp,h
trickle_credit.cpp
trickle_echo.cpp
validate_util2.cpp
validator.cpp
David 13 Sept 2011
- wrapper: don't delete task-level checkpoint file when starting task;
that defeats the purpose. From Uwe Becker.
samples/wrapper/
wrapper.cpp
Rom 13 Sept 2011
- VBOX: Properly trap stderr output from vboxmanage by redirecting it to
stdout. Error messages should now be properly detected on Linux and
Mac.
samples/vboxwrapper/
vbox.cpp
Rom 13 Sept 2011
- VBOX: Don't attempt to stop a VM that is already shut down.
samples/vboxwrapper/
vbox.cpp
Rom 13 Sept 2011
- VBOX: Make is_running() a bit smarter about detecting the running state
of a virtual machine.
samples/vboxwrapper/
vbox.cpp
David 13 Sept 2011
- client: get GPU available RAM at startup (only)
- client: fix compile warning
lib/
coproc.cpp
client/
work_fetch.cpp,h
client_state.cpp
coproc_detect.cpp
cpu_sched.cpp
David 13 Sept 2011
- client: fixes to the above
- client: prevent infinite recursion (and stack overflow)
in procinfo.cpp:add_child_totals().
Not sure how this could happen.
client/
coproc_detect.cpp
lib/
procinfo.cpp
Rom 13 Sept 2011
- VBOX: Increase the pipe buffer on Windows from the default to 128k. Despite what
the docs say, if the buffer isn't large enough VboxManage hangs attempting to
write the VM log file to it. Luckly the VM log file is only 64k.
- VBOX: Fix a couple of parsing errors.
samples/vboxwrapper/
vbox.cpp
Rom 14 Sept 2011
- VBOX: Add a register_only command line argument to help debug VM related issues.
- VBOX: Add some suggestions to the source on how to debug VM related issues.
- VBOX: Add a quick sanity check when the enable_shared_directory option is
enabled.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
David 13 Sept 2011
- client: escape URLs for curl, otherwise filenames with spaces don't work
lib/
procinfo.cpp
client/
http_curl.cpp
David 13 Sept 2011
- client: curl_easy_escape() escapes way too much. Just escape spaces.
client/
http_curl.cpp
David 14 Sept 2011
- XML parsing: do XML unescaping in place rather than allocating
a buffer on the stack.
Fixes a Manager crash on the Mac,
where the default thread stack size seems to be 512KB.
lib/
parse.cpp,h
app_ipc.cpp
client/
cs_notice.cpp
Rom 14 Sept 2011
- client: Update Windows detection code to support Windows 8.
(From: [P3D] Crashtest)
client/
hostinfo_win.cpp
David 14 Sept 2011
- client: change in the use of GPU available RAM:
- measure the available RAM of each GPU when BOINC starts up.
If this fails, set available = physical.
Show available RAM in startup messages.
- use available RAM rather than physical RAM in selecting
the "best" GPU instance
- report available RAM to the scheduler
TODO: change the scheduler to use available rather than physical
if it's reported
sched/
sample_trivial_validator.cpp
lib/
coproc.cpp,h
client/
client_state.cpp
coproc_detect.cpp
cpu_sched.cpp
David 14 Sept 2011
- vboxwrapper: we don't seem to be getting the VM PID.
Add some printfs.
samples/vboxwrapper/
vbox.cpp
David 14 Sept 2011
- client: report available GPU RAM to scheduler
lib/
coproc.cpp
David 14 Sept 2011
- lib: parse <available_ram> in coproc XML
- lib: do coproc XML parsing using new XML parser
lib/
parse.cpp,h
coproc.cpp,h
David 14 Sept 2011
- scheduler: in app_plan functions for GPUs,
use available RAM if reported by client;
otherwise use physical RAM.
sched/
sched_customize.cpp
David 14 Sept 2011
- scheduler: revise [21428] to include non-anonymous-platform,
and change the ratio limit from 2 to 10.
sched/
sched_send.cpp
sched_version.cpp
Charlie 15 Sep 2011
- lib: fix compiler warning.
- vboxwrapper: fix compiler warning.
- Mac: Change XCode project to build both 32-bit and 64-bit
BOINC libraries for debug as well as for deployment.
- vboxwrapper: update XCode project for easier access to built
executables and symbol tables under XCode 4.1.
lib/
coproc.cpp
samples/
vboxwrapper/
vbox.cpp
vboxwrapper.xcodeproj/
project.pbxproj
mac_build/
boinc.xcodeproj/
project.pbxproj
David 15 Sept 2011
- minor code shuffle
client/
rr_sim.cpp
Rom 15 Sept 2011
- VBOX: Add a way to track overall network utilization of a VM.
samples/vboxwrapper/
vbox.cpp, .h
David 16 Sept 2011
- Validator: allow project-specific code to mark a result
is a "runtime outlier", i.e. its runtime does
not correspond to the job's rsc_fpops_est.
Runtime outliers are not counted in the statistics for
elapsed time, turnaround time, and peak FLOPs count.
The is intended for applications like SETI@home,
some of whose jobs finish more or less instantly
(this happens if the data contains a lot of interference).
If a host happens to get a bunch of these short jobs,
its statistics will get skewed: in essence, the server
will think that the host is extremely fast,
and will send it too many jobs.
db/
boinc_db.cpp,h
sched/
credit.cpp
validator.cpp
html/ops/
db_update.php
David 16 Sept 2011
- vboxwrapper: code cleanup
- use double for potentially large quantities
- factor out repetitive code, rather than copy and paste
samples/vboxwrapper/
vbox.cpp,h
David 16 Sept 2011
- vboxwrapper: report network usage to the client
- client: include the above in enforcing network quota preferences
api/
boinc_api.cpp,h
samples/vboxwrapper/
vbox.cpp,h
vboxwrapper.cpp
client/
app.cpp,h
app_control.cpp
sched/
trickle_handler.cpp
David 16 Sept 2011
- transitioner: fix bug related to new runtime_outlier field
db/
boinc_db.cpp
David 16 Sept 2011
- validator: add runtime_outlier message
sched/
credit.cpp
David 16 Sept 2011
- client: with VBox on Win, the process graph sometimes has cycles.
Not sure where this comes from.
But avoid infinite recursion when traversing descendants.
lib/
procinfo.cpp,h
Charlie 16 Sep 2011
- wrapper: Update Mac build script for XCode 4.1 and OS 10.7.
NOTE: We no longer support PowerPC Macs.
samples/wrapper/
wrapper.cpp
David 18 Sept 2011
- client: make the attributes of GUI RPCs (network, authentication)
explicit rather than determined by position in a list.
- client: add a new "read-only" attribute for GUI RPCs.
This is in preparation for handling GUI RPCs in separate threads.
- client: remove code to support pre-V6 graphics.
lib/
parse.h
client/
cs_notice.cpp,h
gui_rpc_server.cpp,h
gui_rpc_server_ops.cpp
app.cpp
app_control.cpp
Makefile.am
David 18 Sept 2011
- Win fixes
lib/
mfile.cpp
parse.cpp
win_build/
boinc_cli.vcproj
David 18 Sept 2011
- lib: add generic interfaces for threads and thread synchronization
lib/
thread.cpp,h
David 18 Sept 2011
- win fixes
lib/
thread.cpp,h
win_build/
libboinc.vcproj
Rom 19 Sept 2011
- Tag for 6.13.4 release, all platforms
boinc_core_release_6_13_4
/
configure.ac
version.h
David 19 Sept 2011
- client: in handling the acct_mgr GUI RPC,
don't start the RPC directly;
that might fail if CLIENT_STATE::gui_http is busy.
Instead, set a timer field.
- client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants
- client: clarify the comments on GUI_HTTP and GUI_HTTP_OP
Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to
any HTTP op other than scheduler requests and file transfers.
Should change the name, maybe to CLIENT_HTTP*
client/
client_state.cpp
gui_rpc_server.cpp
gui_rpc_server_ops.cpp
gui_http.cpp,h
acct_mgr.cpp,h
cs_trickle.h
Charlie 20 Sep 2011
- Mac: Remove app_graphics.cpp from Client in XCode project, add new
files thread.cpp,.h to libboinc.a in XCode project.
(Checked in to 6.13.4 tag.)
mac_build/
boinc.xcodeproj/
project.pbxproj
David 20 Sept 2011
- client: intermediate checkin for replicated trickle-ups.
Not finished yet.
- example app: add --trickle_up and --trickle_down options,
for testing trickle messages
client/
acct_mgr.cpp
client_types.h
cs_notice.cpp,h
cs_scheduler.cpp
cs_trickle.cpp,h
gui_http.cpp,h
gui_rpc_server.cpp,h
http_curl.cpp,h
scheduler_op.cpp,h
samples/example_app/
uc2.php
David 21 Sept 2011
- back end: extend the access control system for remote job submission
and other operations.
You can now designate a user as "manager" for a particular app.
They can then:
- control job-submit permissions for that app
- deprecate/undeprecate versions of the app.
- abort jobs for that app
You can also designate a user as manager for the project.
They can then edit permissions and quotas,
as well as performing the app-specific functions for all apps.
This is described here:
http://boinc.berkeley.edu/trac/wiki/MultiUser#Accesscontrol
This required some changes to the DB schema.
db/
schema.sql
tools/
manage_privileges
html/
inc/
submit.inc
submit_util.inc (new)
result.inc
ops/
submit_permissions.php (removed)
db_update.php
user/
manage_project.php (new)
submit_example.php
manage.php (new)
manage_app.php (new)
submit.php
py/Boinc/
setup_project.py
David 21 Sept 2011
- client: fix bug in ATI GPU detection, caused zero RAM measurements
client/
coproc_detect.cpp