boinc/checkin_notes

6862 lines
190 KiB
Plaintext

David Jan 2 2009
- added a script to make profile.has_picture consistent
with the images actually on disk
html/ops/
repair_profile_pictures.php
David Jan 2 2009
- client: more work-fetch stuff.
No more per-project shortfall.
It's getting pretty close.
client/
client_state.cpp
client_types.cpp,h
cs_scheduler.cpp
rr_sim.cpp
scheduler_op.cpp
work_fetch.cpp,h
lib/
coproc.cpp,h
Janus Jan 6 2009
- Various translation fixes
- Added Danish web interface translation
- Added some Danish translation texts to the client translation file
- Added Finnish web interface translation (contributed by ORE)
html/
inc/
user.inc
user/
info.php
languages/translations
da.po (fully rewritten)
fi.po (new)
locales/da
BOINC-Manager.po
Charlie Jan 6 2009
- client: preserve ownership when copying files to slot directory. Fixes
a problem with Enigma@home which uses the <copy_file/> tag.
lib/
filesys.cpp
Rom 7 Jan 2009
- Fix build environment so that it can build the client again
(From Nicolás Alvarez)
/
configure.ac
Makefile.am
sea/
make-tar.sh
make-tar_debug.sh
David 7 Jan 2009
- get_project_config: don't send error text if no terms_of_use.txt
- client: compute and store project work-fetch attributes
fixes #820
client/
client_state.h
work_fetch.h,cpp
html/user/
get_project_config.php
Charlie Jan 6 2009
- client: fix compiler warnings (formats didn't match data).
client/
work_fetch.cpp
David 9 Jan 2009
- client: connected_frac -1 is OK; fixes #821
client/
time_stats.cpp
David 9 Jan 2009
- scheduler: add support for resource-specific scheduler requests:
- parse new request message elements
(CPU and coproc requested seconds and instances)
- decide how many jobs to send based on these params
- select app version based on these params
(may send both CPU and CUDA app versions for the same app!)
lib/
coproc.cpp
sched/
handle_request.cpp
main.cpp,h
sched_plan.cpp
sched_send.cpp
server_types.cpp,h
David 9 Jan 2009
- client: debugging CUDA-related stuff
- client: if reset a project, clear its overall and per-resource backoffs
client/
client_state.cpp
client_types.cpp
cs_scheduler.cpp
rr_sim.cpp
scheduler_op.cpp
sim.h
work_fetch.cpp,h
lib/
coproc.cpp
Charlie Jan 10 2009
- Mac: Fix build scripts for new locale source directory layout.
mac_installer/
release_GridRepublic.sh
release_boinc.sh
David Jan 10 2009
- client: work_req_seconds is CPU req, not max(CPU req, CUDA req).
In order to work with the 6.7 client,
projects with both CUDA and CPU jobs must use the newest scheduler code.
client/
work_fetch.cpp
David Jan 11 2009
- scheduler: if a Windows host has a GPU slower than 60 GFLOPS,
don't send it CUDA jobs (they may cause BSOD);
send user a message to this effect
sched/
sched_plan.cpp
sched_send.cpp
server_types.h
David Jan 12 2009
- lib: check return values of RSA_*() functions.
Also fix a memory leak, missing RSA_free().
Fixes #823.
lib/
crypt.cpp
error_numbers.h
str_util.cpp
Rom 12 Jan 2009
- WINSETUP: Update custom actions in case the goofy setup
problems are related to old custom actions. I don't
really think this is it, but i'm running out of ideas.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 12 Jan 2009
- web: add Eric's script for forum RSS
html/user/
forum_rss.php
David 12 Jan 2009
- scheduler, file upload handler: fix server runtime message in FCGI case
sched/
file_upload_handler.cpp
handle_request.cpp
main.cpp
sched_util.cpp,h
server_types.cpp
David 12 Jan 2009
- scheduler: initialize COPROC fields
lib/
coproc.cpp
David 12 Jan 2009
- scheduler: if we're not sending work because of the user's "no GPUs" pref,
tell them so.
- scheduler: fix bug that caused no CUDA jobs to be sent
lib/
coproc.cpp,h
common_defs.h
sched/
handle_request.cpp
sched_send.cpp
sched_plan.cpp
server_types.h
David 12 Jan 2009
- scheduler: bug fixes
sched/
handle_request.cpp
sched_send.cpp
David 12 Jan 2009
- scheduler: bug fixes
sched/
sched_plan.cpp
David 13 Jan 2009
- GUI RPC: add the following items to PROJECT_CONFIG
(corresponding to the get_project_config.php web RPC):
- platforms: list of platforms supported by the project
- sched_stopped: scheduler disabled
- web_stopped: DB-driven web features disabled
- min_client_version
- GUI RPC: add the following items to CC_STATE:
- platforms: list of platforms supported by the client
(this replaces the unused <platform_name>)
- GUI RPC: add the following items to PROJECT_LIST_ENTRY
(entry in the "all projects" list):
- platforms: list of platforms supported by the project
- GUI RPC: move APP_VERSION pointer from WORKUNIT to RESULT;
include plan class in APP_VERSION lookup.
This completes the change of March 2008,
and allows the Manager to work correctly when a project
has two different app versions of the same (app, platform, version)
running on a client at once (e.g., a CPU and a GPU app)
- get_project_config.php: remove logic that checks client version.
This page is accessed by PHP, not just by client
- web: add link to forum page to get forum as RSS
client/
cs_statefile.cpp
clientgui/
DlgItemProperties.cpp
MainDocument.cpp
ViewWork.cpp
sg_ViewTabPage.cpp
html/user/
get_project_config.php
forum_rss.php
forum_forum.php
img/feed_logo.png (new)
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
David 13 Jan 2009
- client: GPU bug fix; compile warning fixes
client/
client_types.cpp
clientgui/
BOINCTaskBar.cpp
lib/
filesys.cpp
parse.cpp
David 13 Jan 2009
- GUI RPC: finish the changed started above;
update the way that app versions are identified.
Old: WORKUNIT contains version_num
RESULT contains app_version_num (but only if running)
New: Keep old fields so new client works with old manager.
RESULT contains version_num, plan_class
Manager: if RESULT doesn't have version/plan_class
(because talking to old client)
look up app version based on WU version num.
clientgui/
BOINCTaskBar.cpp
sg_ViewTabPage.cpp
MainDocument.cpp
DlgItemProperties.cpp
ViewWork.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Eric 13 Jan 2009
- STILL WORK TO BE DONE TO GET locale STUFF INSTALLED PROPERLY!!!
- Update to libtool 1.5.24
- build environment: Major automake changes that I've been warning about
for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with
FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
a library only if --with-libname[=DIR] is specified on the configure
command line. This is to allow inclusion of libraries when the
ssl, gtk, wxWidgets, or other configuration is incorrect for static
libraries.
- Added a lot of "--with-*" for some libraries that might be required for
static builds.
- The sea directory has been moved to packages/generic. Changes to sea
and the associated scripts might be required to better make use of the
staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
_SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client
ltmain.sh
config.guess
config.sub
Makefile.incl
m4/
sah_check_lib.m4
check_ssl.m4
boinc_gtk.m4 (new)
boinc_check_lib_with.m4 (new)
libcurl.m4
boinc_wxwidgets.m4
sea/ (moved to packages/generic/sea)
packages/ (new)
generic/ (new)
sea/ (new)
Makefile.am
client/
Makefile.am
hostinfo_unix.cpp
sched/
edf_sim.cpp
sched_shmem.h
sched_msgs.h
sched_msgs.cpp
sched_send.cpp
handle_resuest.cpp
file_upload_handler.cpp
main.cpp
sched_assign.cpp
Makefile.am
lib/
boinc_cmd.cpp (moved to client)
diagnostics.cpp
prefs.cpp
msg_log.h
cert_sig.cpp
Makefile.am
zip/
Makefile.am
samples/
example_app/
Makefile
api/
Makefile.am
clientgui/
Makefile.am
tools/
backend_lib.cpp
Makefile.am
doc/
manpages/
Makefile.am
David 13 Jan 2009
- client/manager fixes
client/
client_types.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
David 14 Jan 2009
- client: fix bug that caused estimated time to completion to increase
while processing suspended
Fixes #825
client/
app_control.cpp
David 14 Jan 2009
- client: clamp long term debts tp +- 1 week
- client: fix CUDA debt calculation
- client: don't accumulate debt if project->dont_request_more_work
- client: improves messages
client/
rr_sim.cpp
Rom 15 Jan 2009
- WINSETUP: Fix the problem introduced where Enable Application
execution wasn't working.
win_build/installerv2/
BOINC.ism
BOINCx64.ism
Rom 15 Jan 2009
- MGR: Don't convert strings to ANSI juts to have to reconvert them
back to Unicode. Fix several help link issues.
Fixes #826
clientgui/
AdvancedFrame.cpp
DlgAdvPreferences.cpp
sg_BoincSimpleGUI.cpp
sg_DlgMessages.cpp
sg_DlgPreferences.cpp
sg_ProjectsComponent.cpp
David 15 Jan 2009
- scheduler: improve message formatting; add <debug_locality> flag
for locality scheduling messages
lib/
msg_log.cpp
sched/
*.cpp
David 15 Jan 2009
- GUI RPC: add CUDA info to PROJECT struct
- manager: display CUDA info in project properties page
- manager: use struct assignment instead of copy() function
client/
boinc_cmd.cpp
clientgui/
AsyncRPC.cpp
DlgItemProperties.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
David 15 Jan 2009
- scheduler: remove clause in app_plan() that withholds jobs from slow GPUs.
The SETI@home/CUDA app has been fixed so that it works on all GPUs.
sched/
sched_plan.cpp
Eric 15 Jan 2009
- build: Made static linkage of BOINC libraries the default for client,
manager, and server components
configure.ac
tools/
Makefile.am
clientgui/
Makefile.am
client/
Makefile.am
samples/
example_app/
Makefile
Charlie Jan 15 2009
- client: boinc_copy ownership fix of 1/6/09 didn't work because it used
system(cp ...) call, which invokes a shell, and POSIX specifies that
shells run from an application use the real UID and GID not the
effective UID and GID. Under Mac Sandbox security, we need to use
the effective UID and GID. Changed boinc_copy to copy file directly.
- MGR: On Mac, fix problems showing Manager window when it was minimized
to Dock, especially if window was closed using Dock menu.
- Mac: Fix XCode project for boinc_cmd.cpp moved to client/ from lib/.
client/
app_start.cpp
clientgui/
BOINCBaseFrame.cpp
BOINCGUIApp.h
BOINCTaskBar.cpp
lib/
filesys.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 16 Jan 2009
- client: remove limits on LTD.
client/
work_fetch.cpp
David 19 Jan 2009
- scheduler: remove the config flag <have_cuda_apps>,
and add <cuda_multiplier>.
The latter is used in calculating max jobs/day for a host;
namely, it's host.max_results_day * (NCPUS + NCUDA*cuda_multiplier).
Set it to 10 or so if you have CUDA apps.
- scheduler: don't overload effective_ncpus();
instead, add two new functions,
max_results_day_multiplier() and max_wus_in_progress_multiplier()
- scheduler: don't reduce max_results_day if we get an aborted job
(it might have been aborted by the project;
not appopriate to punish host in this case)
db/
boinc_db.h
sched/
main.cpp
sched_config.cpp,h
sched_result.cpp
server_types.h
David 20 Jan 2009
- client: fix messages
client/
rr_sim.cpp
work_fetch.cpp
David 20 Jan 2009
- scheduler: improve no-work messages
- web: don't use DB conn in mysql_real_escape_string()
(otherwise won't work if DB is down)
html/inc/
boinc_db.inc
db_conn.inc
sched/
sched_plan.cpp.h
sched_send.cpp
server_types.h
Charlie Jan 20 2009
- Mac client: fix bug in build script so that curl-7.19.2 actually
does build with c-ares 1.6.0. Fixes #830.
mac_build/
buildcurl.sh
David 21 Jan 2009
- scheduler: accept CUDA version 1.0
sched/
sched_plan.cpp
David 21 Jan 2009
- client: fetch work from non-CPU-intensive projects
client/
work_fetch.cpp,h
David 21 Jan 2009
- client: compile fix, remove spurious message
client/
work_fetch.cpp,h
Rom 21 Jan 2009
- MGR: Make sure the UI thread doesn't call a GUI RPC
that uses the SET_LOCALE class.
clientgui/
BOINCClientManager.cpp
Charlie Jan 22 2009
- MGR: fix compile error.
clientgui/
BOINCClientManager.cpp
David 22 Jan 2009
- client: if an app has avg_ncpus < 1, run it at above-idle priority
even if it doesn't use a coprocessor.
- scheduler: added an "nci" (non CPU intensive) plan class
to sched_plan.cpp. It declares the use of 1% of a CPU.
The above two changes are intended to allow the QCN app to
run at above_idle priority, which it needs in order to do 500Hz polling.
- API: the std::string version of boinc_resolve_filename()
acts the same as the char[] version.
client/
app.cpp
app_start.cpp
lib/
app_ipc.cpp
gui_rpc_client.cpp
sched/
sched_plan.cpp
David 22 Jan 2009
- web: when using adaptive replication, show a WU's instances
if it has a canonical result, not if it's been assimilated
(if the assimilator is not working, the latter causes
WUs to be hidden longer than needed)
html/user/
workunit.php
David 22 Jan 2009
- client: simplify message describing scheduler request;
to get work request details, use <sched_op_debug>
client/
scheduler_op.cpp
Eric 22 Jan 2009
- build: reordered compiler flags checking.
Fixed problems with finding location of wx-config
when running with cached configuration.
Made sure to check ${prefix}/lib when looking for
libGL, libGLU, and libglut.
m4/
boinc_wxwidgets.m4
ax_check_glut.m4
ax_check_glu.m4
ax_check_gl.m4
boinc_set_compile_flags.m4
David 22 Jan 2009
- client: when preempting a process, remove it from memory if:
1) it uses a coprocessor
2) it has checkpointed since the client started
3) it's being preempted because of a user action
(suspend job, project, or all processing)
or user preference (time of day, computer in use)
- scheduler: if shared mem seg doesn't exist,
report it and don't crash
client/
app.h
app_start.cpp
app_control.cpp
cpu_sched.cpp
sched/
main.cpp
Charlie Jan 22 2009
- client sandbox: add details in switcher_exec "execv failed" message.
- MGR: Work around bug in generic list control GetSelectedItemCount()
which caused incorrect update of buttons in Projects tab after
detching from a project; remove redundant UpdateSelection() call.
client/
sandbox.cpp
clientgui/
BOINCBaseView.cpp
BOINCListCtrl.cpp,.h
David 23 Jan 2009
- client: clear debts when reset project
- client: respect work-fetch backoff for non-CPU-intensive projects
- client: for non-CPU-intensive project, fetch new job
if no currently running jobs
- client: skip non-CPU-intensive projects in debt calculations
- manager: show resource backoff times correctly
client/
app_control.cpp
client_state.cpp
client_types.cpp,h
work_fetch.cpp,h
clientgui/
DlgItemProperties.cpp
David 23 Jan 2009
- scheduler: for plan class "nci", set flops to CPU speed;
this will give consistent completion time estimates for existing WUs.
sched/
sched_plan.cpp
David 23 Jan 2009
- scheduler: fix spurious error message when using nci
sched/
sched_plan.cpp,h
sched_send.cpp
David 23 Jan 2009
- web: fix apps.php so that it knows about plan class
html/user/
apps.php
David 23 Jan 2009
- API: possible compile fix for OS/2
api/
boinc_api.cpp
David 23 Jan 2009
- scheduler: reduce frequency of calls to work_needed()
sched/
sched_array.cpp
sched_send.app
David 23 Jan 2009
- scheduler: make NCI app versions preferable to non-plan-class
sched/
sched_plan.cpp
David 23 Jan 2009
- scheduler: if client can't do plan class, don't complain about old client
sched/
sched_send.cpp
Charlie Jan 23 2009
- MGR: Remove override of GetSelectedItemCount() introduced yesterday;
instead, call DeleteItem() rather than SetItemCount() when number of
rows has been reduced, to allow virtual ListCtrl adjust its list of
selected rows (and thus keep its count in sync with reality.)
clientgui/
BOINCBaseView.cpp
BOINCListCtrl.cpp,.h
David 23 Jan 2009
- scheduler: initialize global
sched/
handle_request.cpp
David 23 Jan 2009
- scheduler: if anonymous platform, ignore coprocessor requests
(since anonymous platforms apps are treated as CPU)
sched/
sched_send.cpp
server_types.h
Janus 25 Jan 2009
- Fixed a major bug in the translation system which was causing a lot
of people to receive the webpages in semi-random languages.
- Added the ability for projects to decide whether they want the
Q&A and Message Boards merged.
html/
inc/
translation.inc
user/
forum_index.php
project_sample/
project.inc
David 25 Jan 2009
- client: don't request work for a resource if it has no shortfall.
- client and server: get rid of coproc_cuda global.
client/
client_state.cpp,h
work_fetch.cpp,h
lib/
coproc.cpp,h
sched/
handle_request.cpp
sched_send.cpp
server_types.cpp,h
Rom 26 Jan 2009
- MGR: Don't use wxT() to describe parameters passed to GUI RPCs.
clientgui/
BOINCClientManager.cpp
David 26 Jan 2009
- client: if we're doing an RPC (for whatever reason)
to a non-CPU-intensive project without a job, ask for one.
client/
work_fetch.cpp
Charlie Jan 26 2009
- MGR: In CBOINCClientManager::StartupBOINCCore() allow time for Client
to start up, to avoid repeated attempts which put spurious messages
"Another instance Another instance of BOINC is running" in
stderrdae.txt.
clientgui/
BOINCClientManager.cpp
David 27 Jan 2009
- client: change the LTD policy so that
1) net adjustment for eligible projects is zero;
2) max LTD is zero
- scheduler: fix msgs so disk size is shown in GB
client/
work_fetch.cpp
sched/
sched_send.cpp
Eric K 27 Jan 2009
- SEA: Fixed problems building SEA
- Manager: Fixed missing includes when building manager on unix.
configure.ac
packages/
generic/
sea/
Makefile.am
make-tar.sh
clientgui/
BOINCClientManager.cpp
David 27 Jan 2009
- scheduler: in get_app_version(), if we previously sent a CUDA app,
but we don't need to send any more CUDA jobs,
delete the BEST_APP_VERSION record and look for another app version.
This lets the scheduler send both CUDA and CPU app versions
for a given app in a single RPC.
client/
work_fetch.h
sched/
sched_send.cpp
David 27 Jan 2009
- client: if we're making an RPC to a project because of user request,
clear the resource backoff times so that we potentially
can ask the project for work.
client/
cs_scheduler.cpp
work_fetch.cpp
Eric K 27 Jan 2009
- Manager: fixes to allow compilation on compilers that don't allow string
concatenation within the _() macro.
clientgui/
WelcomePage.cpp
ProxyInfoPage.cpp
David 27 Jan 2009
- lib: comment out perror()s in connection code.
lib/
gui_rpc_client.cpp
David 27 Jan 2009
- client: remove the "deadlines_missed" and "overworked"
clauses from RSC_WORK_FETCH::choose_project()
client/
work_fetch.cpp,h
David 27 Jan 2009
- scheduler: don't count host as reliable if avg_turnaround is zero
- client: restore notion of overworked;
if a project is overworked for a resource R,
don't fetch work for R unless there are idle instances
client/
work_fetch.cpp,h
sched/
sched_send.cpp
David 28 Jan 2009
- GUI RPC: the "get all projects" RPC now also returns account managers
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Charlie Jan 28 2009
- GUI RPC: Fix compiler warning (missing return value).
lib/
gui_rpc_client_ops.cpp
Rom Jan 29 2009
- MGR: Provide a way for skin creators to suppress error messages for
missing resources.
clientgui/
SkinManager.cpp
Rom Jan 29 2009
- MGR: Save and Restore the last email address/user id used to attach
to a project or account manager
clientgui/
AccountInfoPage.cpp
David 29 Jan 2009
- web: anywhere we show info about a host, show its GPUs too
- web: add script to parse GPU completed-job log
and generate summary data;
also add page to display this data.
html/
inc/
host.inc
ops/
analyze_coproc_log.php
user/
hosts_user.php
show_coproc.php
David 29 Jan 2009
- client: if user requests RPC, do it even if project is backed off
- manager: show backoff interval correctly
client/
cs_scheduler.cpp
work_fetch.cpp
clientgui/
DlgItemProperties.cpp
David 29 Jan 2009
- scheduler: get effective RAM sizes and running fraction just once
sched/
sched_send.cpp
server_types.h
David 29 Jan 2009
- client: update LTD correctly
client/
work_fetch.cpp
Rom 29 Jan 2009
- MGR: Add a virtual list box to display available account managers.
clientgui/
AccountManagerInfoPage.cpp, .h
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
ProjectInfoPage.cpp, .h
WizardAccountManager.cpp
lib/
gui_rpc_client_ops.cpp
Rom 29 Jan 2009
- MGR: Filter project list so that it shows only projects supported
by the core client.
clientgui/
ProjectInfoPage.cpp, .h
Charlie Jan 29 2009
- MGR: call UpdateSelection() from OnListRender() instead of from
RestoreSelections(). Fixes #837.
clientgui/
BOINCBaseView.cpp
Charlie Jan 30 2009
- MGR: Suppress Skin Manager error messages by default; enable them
only if the Manager is launched from the command line with an
argument -c or --checkskins.
clientgui/
BOINCGUIApp.cpp, .h
SkinManager.cpp, .h
David 30 Jan 2009
- Work fetch / scheduler:
There are two mechanisms to prevent the scheduler from
sending jobs that won't finish by their deadline.
Simple mechanism:
The client sends the interval x for which CPUs are projected
to be saturated.
Given a job with estimated duration y,
the scheduler doesn't send it if x + y exceeds the delay bound.
If it does send it, x is incremented by y.
Complex mechanism:
Client sends workload description.
Scheduler does EDF simulation, sees if deadlines are missed.
The only project using this AFAIK is BOINC alpha test.
Neither of these mechanisms takes coprocessors into account,
and as a result jobs could be sent that are doomed to
miss their deadline.
This checkin adds coprocessor awareness to the Simple mechanism.
Changes:
Client:
compute estimated delay (i.e. time until non-saturation)
for coprocessors as well as CPU.
Send them in scheduler request as part of coproc descriptor.
Scheduler:
Keep track of estimated delays separately for different resources
- client: fixed bug that computed CPU estimated delay incorrectly
- client: the work request (req_secs) for a resource is the min
of the project's share and the shortfall.
client/
cs_scheduler.cpp
rr_sim.cpp
work_fetch.cpp,h
html/inc/
translation.inc
lib/
coproc.cpp,h
sched/
sched_send.cpp
server_types.cpp,h
David 30 Jan 2009
- client: computation of # idle CUDA instances was wrong
client/
rr_sim.cpp
David 30 Jan 2009
- scheduler: show message whether miss or meet deadline
html/user/
show_coproc.php
top_users.php
sched/
sched_send.cpp
David 30 Jan 2009
- client: tweak work fetch messages
- client: buffer 2000 messages instead of 1000
client/
client_msgs.cpp
work_fetch.cpp
lib/
coproc.cpp
David 30 Jan 2009
- client: work fetch fixes
client/
work_fetch.cpp
scheduler_op.cpp
David 31 Jan 2009
- client: there was a problem with how the round simulator
worked in the presence of coprocessors.
The simulator maintained per-project queues of pending jobs.
When a job finished (in the simulation) it would get
one or more jobs from that project's pending queue.
The problem: this could cause "holes" in the scheduling of GPUs,
and produce an erroneous nonzero shortfall for GPUs,
leading to infinite work fetch.
The solution: maintain a separate (per-resource, not per--project)
queue of pending coprocessor jobs.
When a coprocessor job finishes,
start pending jobs from the queue for that resource.
Another change: the simulator did strict reservation of coprocessors.
If there are 2 instances of CUDA,
and a 1-instance job is running in the simulation,
it wouldn't start an additional 2-instance job.
This also can cause erroneous nonzero shortfalls.
So instead, schedule coprocessors like CPUs, i.e. saturate them.
This can cause distorted completion time estimates,
but it's better than infinite work fetch.
client/
client_types.cpp,h
rr_sim.cpp,h
work_fetch.cpp,h
David 1 Feb 2009
- client: code cleanup
client/
rr_sim.cpp,h
work_fetch.cpp,h
David 2 Feb 2009
- client: code cleanup
client/
rr_sim.cpp,h
work_fetch.cpp,h
David 2 Feb 2009
- Manager: change terms for STD, LTD
- web: change script that locks old threads to exempt team forums
clientgui/
DlgItemProperties.cpp
html/ops/
autolock.php
David 3 Feb 2009
- client: fix bug that caused infinite sched RPCs if project down
client/
cs_scheduler.cpp
scheduler_op.cpp
Rom 3 Feb 2009
- SCROPENGL: Checkin the files needed for the new OpenGL based
BOINC screensaver.
clientscr/
boinc_ss_opengl.h
boinc_ss_opengl.rc
screensaver_opengl.cpp
screensaver_opengl.h
win_build/
boinc.sln
boinc_ss_opengl.vcproj
David 3 Feb 2009
- renamed boinc_ss_opengl to ss_app
David 3 Feb 2009
- GUI RPC: made password file read into function
- lib: minimized FCGI library
client/
boinc_cmd.cpp
file_names.h
lib/
gui_rpc_client.cpp,h
common_defs.h
Makefile.am
Charlie Feb 4 2009
- SS: Begin work on upgrading screensaver coordinator for new functionality:
- add filenames for ss config file and default OpenLG ss executable
- add sandbox security support for these 2 files.
client/
check_security.cpp
file_names.h
clientgui/
mac/
SetupSecurity.cpp
mac_build/
Mac_SA_Secure.sh
Rom 5 Feb 2008
- MGR: Display all projects in the project list but disable the text control
is the project doesn't list a supported platform. If the user clicks
on it display a message box stating that once attached the user may not
get any work.
clientgui/
AccountManagerInfoPage.cpp
ProjectInfoPage.cpp, .h
ProjectListCtrl.cpp, .h
Charlie Feb 5 2009
- SS: Implement basic new functionality in screensaver coordinator.
- Note: this is tested on Mac only at this point.
- SS: Add ss_app to XCode Project, with a temporary icon.
client/
check_security.cpp
file_names.h
clientscr/
screensaver.cpp, .h
mac_app_icon.h (added)
Mac_Saver_Module.h
screensaver_win.h
lib/
common_defs.h
mac_build/
boinc.xcodeproj/
project.pbxproj
David 5 Feb 2009
- manager: use sprintf() instead of WxString::Printf()
when copying messages to clipboard, and use tab instead of |
NOTE TO ROM: use WxWidgets features only where necessary.
E.g., for a time that's not going to be displayed,
use double instead of WxDateTime
clientgui/
ViewMessages.cpp
Rom 5 Feb 2009
- MGR: Back out David's change which broke clipboard functionality
on Linux. Take care of the real performance problem with
copying 20000+ records to the clipboard in a Debug build
by pre-allocating the buffer.
clientgui/
ViewMessages.cpp, .h
David 5 Feb 2009
- client: redefine "overworked" as
debt < -1.5 * work_buf * cpu_sched_period
- web: on team page, link to cross-project team stats sites
api/
graphics2_win.cpp
client/
work_fetch.cpp
html/
inc/
stats_sites.inc
team.inc
user/
team_display.php
Rom 5 Feb 2009
- MGR: On newer versions of the wxWidget framework the project list
wasn't being properly sized, so create it with a fixed size.
clientgui/
ProjectListCtrl.cpp
David 5 Feb 2009
- client: when accounting job elapsed time,
ignore intervals longer than 10 secs;
that could only happen if the client or host was suspended/hibernated.
- client: in adjust_debts(), ignore intervals longer than
2*work fetch period, not 2*CPU sched period.
adjust_debts() is called from work fetch.
client/
app_control.cpp
client_state.h
cpu_sched.cpp
cs_scheduler.cpp
work_fetch.cpp
David 5 Feb 2009
- web: added BOINCstats to list of team stats sites
html/
inc/
stats_sites.inc
team.inc
David 5 Feb 2009
- web: add links to cross-project host stats sites
(currently just boincstats)
html/
inc/
hosts.inc
stats_sites.inc
util.inc
user/
hosts_user.php
David 5 Feb 2009
- client: if time intervals for debt adjustment or job elapsed time
are negative, ignore (must be clock reset)
client/
app_control.cpp
cpu_sched.cpp
David 5 Feb 2009
- web: must have a DB connection before calling mysql_real_escape_string()
html/inc/
boinc_db.inc
David 5 Feb 2009
- web: add another team stats link
- client: if ncpus is zero in cc_config.xml, honor it.
client/
cpu_sched.cpp
log_flags.cpp
html/inc/
stats_sites.inc
team.inc
David 5 Feb 2009
- client: it the state file or an RPC reply has an app version
using a coprocessor we don't know about, ignore it
(and all results using that app_version will be flushed).
This deals with the situation where we have some GPU jobs,
but the GPU card is removed (previously this resulted in a crash).
This requires some code shuffling so that we check for coprocessors
before reading state file.
client/
client_types.cpp,h
client_state.cpp
cs_scheduler.cpp
cs_statefile.cpp
David 5 Feb 2009
- screensaver: flesh out new SS a bit
clientscr/
ss_app.cpp
Charlie Feb 5 2009
- SS: Continue work on screensaver coordinator.
- SS: Fix ss_app compile errors on Mac.
clientscr/
screensaver.cpp
mac_saver_module.cpp
Mac_Saver_Module.h
screensaver_win.h
ss_app.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 5 Feb 2009
- web: fix bug in cached user page stuff from 12/29/08
client/
time_stats.cpp
html/
inc/
pm.inc
user.inc
user/
show_user.php
Charlie Feb 5 2009
- SS: Screensaver coordinator reads ss_config.xml file.
- SS: If coordinator runs default screensaver during science phase because
no science graphics are available, then shorten the next default
graphics phase by that much time.
clientscr/
screensaver.cpp, .h
Mac_Saver_Module.h
screensaver_win.h
ss_config.xml (added)
David 6 Feb 2009
- web: don't show x-project links for anonymous hosts; fix &bull's
html/inc/
host.inc
user.inc
Rom 7 Feb 2009
- MGR: fix build break for GCC based compilers.
clientgui/
ProjectInfoPage.cpp
David 8 Feb 2009
- web: remove <nobr> around user links; doesn't play well
with long user names
html/inc
util.inc
David 9 Feb 2009
- client: all scheduler RPCs except user request are subject to backoff.
- client: if a project-requested RPC doesn't return work,
don't do resource backoff.
- client: if a user-requested scheduler RPC errors out, clear the request
client/
cs_scheduler.cpp
scheduler_op.cpp
work_fetch.cpp
Charlie 10 Feb 2009
- SS: Fix new screensaver coordinator to work properly on Windows.
clientscr/
Mac_Saver_Module.h
screensaver.cpp
screensaver_win.h
David 10 Feb 2009
- client: add SCHEDULER_OP::rpc_failed();
this gets called when the op fails,
either at initialization or later on;
it clears the project's sched_rpc_pending flag if needed.
This fixes a bug that caused user-requested RPCs
to retry every 10 seconds
when the network is down.
- client: if debt-adjust period is too long, reset accounting.
Otherwise we'll get this infinitely.
- API: all optional alpha argument to TEXTURE_DESC::draw()
api/
gutil.cpp,h
client/
cpu_sched.cpp
file_xfer.cpp
gui_http.cpp
http_curl.cpp,h
scheduler_op.cpp,h
clientscr/
ss_app.cpp
David 10 Feb 2009
- client: if master file doesn't have URLs, clear RPC request
client/
work_fetch.cpp
cs_scheduler.cpp
scheduler_op.cpp
David 10 Feb 2009
- client: show proxy info correctly on startup
- client: fix minor bug that produced spurious
adjust debt interval too long messages when zero projects
client/
client_state.cpp
cpu_sched.cpp
cs_scheduler.cpp
Charlie 11 Feb 2009
- SS: Fix new screensaver coordinator sandbox permissions.
- ss_app: Replace temporary icon with standard BOINC icon.
- ss_app: Fix compiler warning.
- lib: add time stamps to BOINCTRACE on non-Windows systems.
client/
check_security.cpp
clientgui/
mac/
SetupSecurity.cpp
clientscr/
mac_app_icon.h
lib/
diagnostics.cpp
mac_build/
Mac_SA_Secure.sh
David 11 Feb 2009
- client: change the formula for debt update
so that largest debt among eligible projects tends towards zero
- client: change definition of "overworked"; debt must be < 1 day
client/
work_fetch.cpp
David 11 Feb 2009
- client: change garbage collection so that an app version
is deleted only if there's another version *of the same plan class*
with a higher version number
client/
client_state.cpp
David 11 Feb 2009
- client and API: eliminate dynamically-allocated parts of GLOBAL_PREFS.
This fixes a double-free bug in the API.
lib/
prefs.cpp,h
David 11 Feb 2009
- boinc_zip: put null arg at end of argv.
Fixes crashing bug.
From Michael Tyka.
zip/
boinc_zip.cpp
unzip/
unzip.c
Rom 11 Feb 2009
- MGR: Check to see if the app version pointer is legit before attempting
to use it.
clientgui/
ViewWork.cpp
David 11 Feb 2009
- lib: implement APP_INIT_DATA::copy() with assignments instead of
memcpy(). This protects against any future double-free bugs.
lib/
app_ipc.h,cpp
Rom 11 Feb 2009
- MGR: Remove remaining UI thread calls to setlocale which could
confuse the parsing system or vise versa.
clientgui/
AdvancedFrame.cpp
DlgItemProperties.cpp
ViewWork.cpp
David 11 Feb 2009
- client, API: populate APP_INIT_DATA::hostid.
Remove userid and teamid fields, since the client doesn't know these.
client/
app_start.cpp
lib/
app_ipc.cpp,h
Charlie 11 Feb 2009
- SS: Graphics executables need a Mac icon only if they can be run in
a window, to allow the user to bring it to the front or control it.
Since the new boincscr app runs only as a screensaver, the Dock is
not visible when it is running so there is no reason to have an icon.
So restore the previous permissions settings (non-writable).
- ss_app: Remove code which adds a Mac icon.
- ss_app: Fix compiler warning.
- ss_app: Change Windows build executable file name to boincscr.exe.
client/
check_security.cpp
clientgui/
mac/
SetupSecurity.cpp
clientscr/
mac_app_icon.h (deleted)
mac_build/
boinc.xcodeproj/
project.pbxproj
Mac_SA_Secure.sh
win_build/
ss_app.vcproj
Charlie 12 Feb 2009
- SS: Continue refining screensaver coordinator logic.
clientscr/
screensaver.cpp
David 12 Feb 2009
- client: debt_eligible() was returning false if the backoff was max.
This can lead to a situation where a project never gets work.
Remove that clause.
client/
work_fetch.cpp
David 12 Feb 2009
- client, web: add preference for not using GPU while computer busy
client/
cpu_sched.cpp
html/inc/
prefs.inc
lib/
prefs.cpp,h
David 12 Feb 2009
- client: bug fix for GPU pref
client/
cpu_sched.cpp
sim.h
lib/
prefs.cpp
Charlie 13 Feb 2009
- ss_app: Under sandbox security, set boincscr permissions the same as
for BOINC Manager: setgid to boinc_master but do not setuid; this
allows the screensaver coordinator to kill boincscr but still gives
boincscr access to GUI RPC password file and so to all GUI RPCs.
- SS: On Windows, add code to get paths to BOINC data and executable
directories from Windows registry; expects boincscr in BOINC
executable directory and ss-config.xml in BOINC data directory.
client/
check_security.cpp
clientgui/
mac/
SetupSecurity.cpp
clientscr/
screensaver.cpp
screensaver_win.cpp,.h
mac_build/
Mac_SA_Secure.sh
David 13 Feb 2009
- GUI RPC: "get prefs" RPC was messed up by yesterdays's checkin;
also, change all bools to <foo>0|1</foo> rather than <foo/>
lib/
prefs.cpp
David 13 Feb 2009
- Manager: add GPU preference to advanced prefs dialog
clientgui/
DlgAdvPreferences.cpp
DlgAdvPreferencesBase.cpp,h
David 13 Feb 2009
- client: fix bug where master fetch failure doesn't clear request flag,
leading to infinite retry without backoff
client/
scheduler_op.cpp,h
David 13 Feb 2009
- client: fix bug in time-of-day limit prefs (both CPU and network)
lib/
prefs.cpp,h
David 13 Feb 2009
- GUI RPC: add master_url and local_revision to PROJECT_CONFIG struct.
The former will allow the Manager to verify project URLs
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Charlie 13 Feb 2009
- SS: On Windows, make path strings Unicode compatible in ss coordinator.
clientscr/
screensaver.cpp
Rom 16 Feb 2009
- WINBUILD: Remove ReleaseSigned build depends.
- WINBUILD: Add NVAPI to the list of static libraries to include during
the build process. Driver version detection.
/
<Various Files>
David 16 Feb 2009
- client: detect NVIDIA driver version number, show it on startup,
and include it with CUDA coprocessor descriptor in request msgs
lib/
coproc.cpp,h
win_build/
libboinc.vcproj
Charlie 16 Feb 2009
- client: fix compile break on Mac.
lib/
coproc.cpp
David 16 Feb 2009
- client: add a debug flag <dcf_debug> for seeing changes in DCF
- scheduler: add a limit on NVIDIA driver version for CUDA apps
(default 17500)
client/
work_fetch.cpp
log_flags.cpp,h
cpu_sched.cpp
sched/
sched_send.cpp
sched_plan.cpp,h
David 17 Feb 2009
- client: don't ignore jobs with fraction_done=1 (but still running)
in RR simulation; we may need to mark them as deadline miss.
- web: replace & with &amp; various places
client/
rr_sim.cpp
html/
inc/
prefs.inc
results.inc
stats_sites.inc
ops/
update_profile_pages.php
user/
edit_forum_preferences.php
edit_passwd_form.php
hosts_user.php
pm.php
prefs_remove.php
profile_menu.php
top_hosts.php
top_teams.php
top_users.php
David 18 Feb 2009
- client: if "no more work" checked, don't request more work (duh!)
client/
work_fetch.cpp
tools/
make_project
David 18 Feb 2009
- client: adjust debts at least every minute.
This fixes a bug that can cause debts to NEVER get updated.
- client: added "abort_jobs_on_exit" feature
(available by --abort_jobs_on_exit cmdline
or <abort_jobs_on_exit> in cc_config.xml).
If set, when the client is exited by user request
(this includes signals on Unix)
it marks all pending jobs as aborted,
and does a scheduler RPC to all projects with jobs.
When these are completed the client exits.
This is useful when BOINC is being used on grids
where it is wiped clean after each run.
client/
client_state.cpp,h
cpu_sched.cpp
cs_cmdline.cpp
cs_prefs.cpp
cs_scheduler.cpp
log_flags.cpp
main.cpp
work_fetch.cpp
lib/
error_numbers.h
David 18 Feb 2009
- web tweaks
html/
inc/
host.inc
result.inc
user/
workunit.php
result.php
David 19 Feb 2009
- scheduler: make host.p_features available to app_plan()
db/
boinc_db.h
sched/
server_types.cpp
David 19 Feb 2009
- web: in lists of tasks, give the option of showing names instead of IDs
html/
inc/
host.inc
result.inc
user/
results.php
workunit.php
David 19 Feb 2009
- client: add more info to <work_fetch_debug> messages
client/
work_fetch.cpp
David 19 Feb 2009
- client: don't complain that master URLs differ if it's only in case
client/
cs_scheduler.cpp
Charlie 19 Feb 2009
- screensaver: Implement --test and --retry_connect command-line arguments
as requested by Rom.
clientscr/
ss_app.cpp
Charlie 20 Feb 2009
- screensaver: Implement new screensaver coordinator logic as requested by Rom:
If the coordinator cannot connect to the core client:
- coordinator retries connecting every 10 seconds
- coordinator launches the default graphics application with the
argument --retry_connect, so the default graphics app will continue
running and will also retry connecting every 10 seconds.
If the coordinator successfully connected to the core client, it launches the
default graphics application without the argument --retry_connect. If the
default graphics application can't connect, it will return immediately
with the exit code ERR_CONNECT. In that case, the coordinator assumes
the default graphics app was blocked by a firewall and so the coordinator
will run only project (science) graphics.
clientscr/
mac_saver_module.cpp
Mac_Saver_Module.h
screensaver.cpp,.h
screensaver_win.cpp,.h
ss_app.cpp
Charlie 20 Feb 2009
- lib: Fix build break on Windows.
win_build/
libboinc.vcproj
libboinc_staticcrt.vcproj
David 20 Feb 2009
- client: if a project is at max backoff for a resource,
stop accumulating debt if it's at or around zero.
This prevents other projects from being driven unboundedly negative.
- client: if the number of overworked projects exceeds the number
of device instances, clear debts; this indicates that an earlier
client was buggy and produced bad debt values.
client/
client_state.h
cpu_sched.cpp
sim.h
work_fetch.cpp,h
David 20 Feb 2009
- client: new work-fetch policy:
1) if an instance is idle, get work from highest-debt project,
even if it's overworked.
2) if resource has a shortfall, get work from highest-debt
non-overworked project
3) if there's a fetchable non-overworked project with no runnable jobs,
get from from the highest-debt one.
(each step is done first for GPU, then CPU)
Clause 3) is new.
It will cause the client to get jobs for as many projects as possible,
even if there is no shortfall.
This is necessary to make the notion of "overworked" meaningful
(otherwise, any project with long jobs can become overworked).
It also maintains as much variety as possible (like pre-6.6 clients).
Also (small bug fix) if a project is overworked for resource R,
request work for R only in case 1).
client/
work_fetch.cpp,h
David 20 Feb 2009
- client: remove the "debt repair" mechanism added earlier today.
There are situations where multiple projects can legitimately
have large negative LTD on a uniprocessor.
Instead...
- client: add <zero_debts> option to cc_config.xml
client/
log_flags.cpp,h
work_fetch.cpp,h
David 20 Feb 2009
- client: fix bug that can cause no GPU jobs to be scheduled
even when a GPU is free
client/
cpu_sched.cpp
Charlie 20 Feb 2009
- Update various source files to GPL 3. Note: I've only updated those
files which I created or have been maintaining. There are many
others which still have the GPL 2.1 license.
clientgui/
mac/
browser_safari.mm
MacGUI.pch
SystemMenu.m
res/
macbadgemask.xpm
macdisconnectbadge.xpm
clientscr/
Mac_Saver_ModuleView.m
screensaver.cpp
mac_build/
buildcurl.sh
buildjpeg.sh
buildc-ares.sh
BuildMacBOINC.sh
buildWxMac.sh
Make_BOINC_Service.sh
Mac_SA_Insecure.sh
Mac_SA_Secure.sh
setupForBOINC.sh
mac_installer/
release_boinc.sh
release_GridRepublic.sh
make_GridRepublic.sh
samples/
example_app/
MakeMacExample.sh
David 20 Feb 2009
- add a few GPL 3 notices
clientsrc/
screensaver.cpp
lib/
coproc.h
boinc_fcgi.cpp,h
David 21 Feb 2009
- client: tweak the LTD calculation so that the largest debt
always tends towards zero
client/
work_fetch.cpp
David 22 Feb 2009
- client: print message if downloaded file has wrong size
- client: associate file xfer messages with a project; fixes #848
client/
cs_files.cpp
file_xfer.cpp
pers_file_xfer.cpp
David 22 Feb 2009
- client: more instances of showing project with message. Fixes #848
client/
app_start.cpp
app_graphics.cpp
file_xfer.cpp
cs_account.cpp
cs_scheduler.cpp
scheduler_op.cpp
app.cpp
app_control.cpp
Rom 22 Feb 2009
- WINSCR: Fix the BOINC text displayed is the screensaver control
panel applet
- WINSCR: Get rid of the 'Up to 5 second wait' for the data thread
to terminate. Force terminate the thread and clean up the
graphics app in a clean-up routine. Forcing the user to wait
when they return to the system isn't a good idea.
- WINSCR: Fix screensaver issue where the screensaver locks up
when the graphics application deadlocks for one reason or
another.
Create two new threads:
1. Monitor system for keyboard and mouse events.
2. Shuffle window z-order positions if needed.
The keyboard/mouse event monitor is isolated from either
the core client getting stuck in a loop and not returning
the results of an RPC or the window shuffling code which
can get stuck if the graphics application dead locks.
The window shuffle code is isolated due to the
BroadcastSystemMessage() API using something akin to
SendMessage() which waits for a return value from the
target windows winproc. If a graphics application
deadlocks for one reason or another it'll cause
the thread to stall. This isn't terminal and so we
just wait for the next time the data thread chooses
a new application and terminates the old one which
will cause the thread to resume.
This should resolve all outstanding issues with the
screensaver not exiting when the mouse or keyboard
is used.
clientscr/
boinc_ss.rc
screensaver.cpp
screensaver_win.cpp, .h
David 22 Feb 2009
- client: fix work-fetch bug that caused infinite fetch;
cleanup/reorganization of work fetch logic
client/
work_fetch.cpp,h
David 22 Feb 2009
- client: work-fetch bug fix: if we're fetching work for a starved
project, it most have no runnable jobs for ANY resource.
- client: work-fetch bug fix: when setting requests in the
shortfall case, don't request anything if project is backed off
or overworked for the resource.
client/
rr_sim.cpp
work_fetch.cpp,h
Charlie 22 Feb 2009
- screensaver: Code consolidation, fix bug terminating default graphics
application on screensaver exit.
clientscr/
screensaver.cpp
David 22 Feb 2009
- scheduler: include driver version in the CUDA description string
storing in the database;
- web: display the above
client/
cpu_sched.cpp
work_fetch.h
html/inc/
host.inc
lib/
coproc.cpp
Charlie 22 Feb 2009
- screensaver: Fix a bug I introduced during code consolidation.
clientscr/
screensaver.cpp
screensaver_win.cpp
Rom 24 Feb 2009
- WINSCR: Remove the progress indication code from the coordinator.
It is now handled by the default screensaver app.
- WINSCR: Clean-up some of the thread cleanup logic.
clientscr/
screensaver_win.cpp
Rom 25 Feb 2009
- WINSCR: Remove unneeded header files
- SCR: Shuffle headers around so that it'll build on both Windows and
Mac without having to put in duplicate entries.
clientscr/
screensaver.cpp
David 25 Feb 2009
- client: fix bugs in "abort_jobs_on_exit" feature:
- clear project backoffs when start abort sequence
- don't back off projects if in abort sequence
client/
client_state.cpp
main.cpp
scheduler_op.cpp
David 25 Feb 2009
- boinccmd: fix bug in --set_proxy_settings command
(it wasn't setting the "use_XXX" flags). Fixes #776
- client: you can now include a <proxy_info> element
in your cc_config.xml options.
TODO: the whole proxy info thing needs an overhaul:
- no separate "use_XXX" flags;
non-empty http_server_name implies using HTTP proxy, etc.
- merge PROXY_INFO and GR_PROXY_INFO classes
- use XML_PARSER for parsing
- no PROXY_INFO element in HTTP_OP; just use gstate.proxy_info
client/
boinc_cmd.cpp
http_curl.cpp
lib/
parse.h
proxy_info.cpp
Rom 25 Feb 2009
- MGR: Remove the /s parameter from the argument list on Linux
until we know it is supported. Fixes #615
clientgui/
BOINCGUIApp.cpp
Eric K 25 Feb 2009
- Added checks for net/*.h, arpa/*.h, netinet/*.h and code to figure out
which of those files to include
- Modified MAC address check to work on some non-Linux unixes.
(mac_address.cpp)
- Added suggested change to "already attached to project" checking.
(ProjectInfoPage.cpp)
- changed includes of standard c header files to their c++ equivalents
(i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
- replaced "using namespace std;" with more explicit "using std::function" in
several files.
- Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
to the build environment. (boinc_platform.m4,configure.ac)
- Changed build environment to not use -nostandardlibs unless we are using
G++ and static linkage is specified. (configure.ac)
- Added makefiles and package building files for solaris CSW package manager.
- Fixed bug with attempting to find login name using logname. (configure.ac)
- Added ifdef HAVE_* protection around some include files commonly found in
sys.
- Added support for unified binary for x86_64/i686-pc-solaris.
(cs_platforms.cpp)
- generate_host_cpid() now uses MAC address on non-linux unix.
(hostinfo_network.cpp)
- Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
compilers. (boinc_set_compile_flags.m4)
- Library compiles no longer depend upon the library extension or require
the library to be prefixed with lib.
- More fixes for fcgi builds.
- Added declaration of "struct ether_addr" and ether_ntoa(). Have not yet
implemented ether_ntoa() for machines that don't have it, or where it is
buggy. (unix_util.h)
- Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
- Fixed library Makefiles so that all required headers get installed.
version.h
configure.ac
api/
boinc_api.cpp
graphics2_unix.cpp
gutil.cpp
gutil.h
gutil_text.cpp
make_app_icon_h.cpp
Makefile.am
reduce_main.cpp
texfont.cpp
texture.cpp
tgalib.h
x_opengl.cpp
client/
app.h
app_start.cpp
client_types.h
cs_account.cpp
cs_benchmark.cpp
cs_cmdline.cpp
cs_platforms.cpp
cs_scheduler.cpp
gui_rpc_server.cpp
gui_rpc_server_ops.cpp
hostinfo_network.cpp
hostinfo_unix_test.cpp
log_flags.h
scripts/boinc-client.in
setprojectgrp.cpp
switcher.cpp
clientgui/
ProjectInfoPage.cpp
clientscr/
gfx_switcher.cpp
lib/
boinc_fcgi.cpp
boinc_fcgi.h
boinc_win.h
common_defs.h
coproc.cpp
crypt.h
diagnostics.cpp
filesys.cpp
filesys.h
gui_rpc_client.h
gui_rpc_client_ops.cpp
mac_address.cpp
Makefile.am
md5_file.cpp
mem_usage.cpp
mfile.cpp
msg_queue.cpp
msg_queue.h
network.cpp
parse.h
procinfo_mac.cpp
procinfo_unix.cpp
shmem.cpp
synch.cpp
unix_util.cpp
unix_util.h
util.cpp
m4/
boinc_platform.m4
boinc_set_compile_flags.m4
packages/
solaris/
CSW/
build_packages.sh
Makefile.am
boincclient/
boinc.1
boinc_client.1
boinc-client.conf
boinc_cmd.1
boinccmd.1
depend
Makefile.am
pkginfo.in
postinstall
preinstall
prototype.in
boincdevel/
depend
Makefile.am
pkginfo.in
prototype.in
boinclibs/
depend
Makefile.am
pkginfo.in
prototype.in
boincmanager/
boinc_manager.1
boincmgr.1
depend
Makefile.am
pkginfo.in
prototype.in
boincserver/
Makefile.am
sched/
census.cpp
db_purge.cpp
fcgiapp.h
file_deleter.cpp
file_upload_handler.cpp
handle_request.cpp
hr_info.cpp
main.cpp
Makefile.am
message_handler.cpp
sched_config.h
sched_locality.cpp
sched_send.cpp
sched_timezone.cpp
sched_util.cpp
server_types.cpp
time_stats_log.cpp
time_stats_log.h
transitioner.cpp
validator.cpp
tools/
dir_hier_move.cpp
dir_hier_path.cpp
kill_wu.cpp
poll_wu.cpp
updater.cpp
zip/
Makefile.am
David 25 Feb 2009
- client: if you put <host_venue> in global_prefs_override.xml,
it should select the venue from the network prefs.
Now it does.
client/
gui_rpc_server.cpp
cs_prefs.cpp
David 25 Feb 2009
- API: file descriptor leak in obscure case.
fixes #103
api/
texture.cpp
Charlie 25 Feb 2009
- MGR: Fix compiler warning.
- lib: Fix compiler error: Please do not use unmatched single quotes
(I changed don't to don`t in #warning statement to fix this.)
clientgui/
ProjectInfoPage.cpp
lib/
mac_address.cpp
David 25 Feb 2009
- scheduler: slight code cleanup
sched/
server_types.h
sched_*.cpp
handle_request.cpp
server_types.cpp
David 25 Feb 2009
- client: make timeout values into #defines
client/
(several).cpp
David 26 Feb 2009
- client: tag messages with project where possible; fixes #852
- client: show fetch share rather than run share in wfd message
client/
client_types.h
work_fetch.cpp
cs_prefs.cpp
cs_scheduler.cpp
cpu_sched.cpp
David 26 Feb 2009
- client: abort jobs that are unstarted and past deadline
- client: abort runaway jobs based on elapsed time instead of CPU time.
Specifically, abort jobs for which
elapsed time > WU.rsc_fpops_bound / app_version.flops
This policy works for
1) GPU jobs (which may use little CPU time)
2) jobs that run but because of bugs use little CPU time
(e.g., because they're sleeping)
whereas the old policy didn't.
client/
client_state.cpp,h
app.cpp,h
app_control.cpp
lib/
error_numbers.h
str_util.cpp
David 26 Feb 2009
- client: skip the above elapsed-time check for non-CPU-intensive jobs
client/
app_control.cpp
Rom 26 Feb 2009
- MGR: Remove the ability to display graphics on a remote computer,
or from a remote computer on *nix machines using v5 graphics.
fixes #674
clientgui/
ViewWork.cpp
David 26 Feb 2009
- client: fix bug where if a GPU job is running,
and a 2nd GPU job with an earlier deadline arrives,
neither job is executed ever.
Reorganized things so that scheduling of GPU jobs is
done independently of CPU jobs.
The policy for GPU jobs:
- always EDF
- jobs are always removed from memory, regardless of checkpoint
(GPU memory is not paged, so it's bad to leave an idle app in memory)
client/
app.cpp,h
app_start.cpp
client_state.h
cpu_sched.cpp
sched/
handle_request.cpp
David 26 Feb 2009
- client: shuffle the startup code to avoid showing wrong prefs info
on first-time startup.
- client: don't do an RPC until we've done CPU benchmarks.
We need the benchmark values to fill in app_version.flops
client/
client_state.cpp
cs_scheduler.cpp
David 26 Feb 2009
- screensaver: show correct info if CPU throttling;
show correct window title;
show "no projects" message.
api/
graphics2.h
graphics2_win.cpp
clientscr/
ss_app.cpp
David 26 Feb 2009
- boinccmd: make --get_messages output more readable
client/
boinc_cmd.cpp
Charlie 27 Feb 2009
- screensaver: remove from the coordinator error codes and messages
which will now be handled by default graphics app, add new error
codes for problems in default graphics app.
- Mac screensaver: improve logic to stop drawing BOINC logo when a
graphics app covers coordinator window.
clientscr/
mac_saver_module.cpp
Mac_Saver_Module.h
Mac_Saver_ModuleView.m, .h
screensaver.cpp, .h
screensaver_win.h
David 27 Feb 2009
- manager: fix roundoff error in Advanced Prefs; fixes #613
clientgui/
DlgAdvPreferences.cpp
Rom 27 Feb 2009
- MGR: Make CTRL-SHIFT-A the accelerator in the simple GUI that
switches back to the advanced view.
refs #147
clientgui/
sg_BoincSimpleGUI.cpp, .h
David 27 Feb 2009
- client: fix bug that could cause scheduler RPC
to ask for work inappropriately,
and tell user that it wasn't asking for work.
Here's what was going on:
There are two different structures with work request fields
(req_secs, req_instances, estimated_delay):
COPROC_CUDA *coproc_cuda
and
RSC_WORK_FETCH cuda_work_fetch.
WORK_FETCH::choose_project() copied from cuda_work_fetch to coproc_cuda,
but only if a project was selected.
WORK_FETCH::clear_request() clears cuda_work_fetch but not coproc_cuda.
Scenario:
- a scheduler op is made to project A requesting X>0 secs of CUDA
- later, a scheduler op is made to project B for reason
other than work fetch (e.g., user request)
- choose_project() doesn't choose anything,
so the value of coproc_cuda->req_secs remains X
- clear_request() is called but that doesn't change *coproc_cuda
Solution: work-fetch code no longer knows about internals of
COPROC_CUDA and is not responsible for settings its request fields.
The copying of request fields from RSC_WORK_FETCH to COPROC
is done at a higher level,
in CLIENT_STATE::make_scheduler_request()
Additional bug fix: estimated_delay wasn't being cleared in some cases.
client/
cs_scheduler.cpp
scheduler_op.cpp
work_fetch.cpp
David 27 Feb 2009
- client: RR sim FLOPS estimate for GPU jobs should reflect
fraction of time BOINC is running.
client/
rr_sim.cpp
work_fetch.cpp
David 1 Mar 2009
- client: if we're going to do a scheduler RPC for reasons
other than work fetch (e.g., user request, project request)
temporarily clear resource backoffs while deciding
whether to request work.
The backoffs are there only to delay RPCs,
and we're going an RPC anyway.
client/
work_fetch.cpp
David 1 Mar 2009
- web: link to 3rd-party signature sources on community prefs page
html/
inc/
stats_sites.inc
user/
edit_form_preferences_form.php
David 1 Mar 2009
- web: fix buggy changeset 17278
html/user/
edit_form_preferences_form.php
David 1 Mar 2009
- manager and GUI RPC: always show resource debt and backoff even if zero;
also show backoff interval
clientgui/
DlgItemProperties.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 2 Mar 2009
- fix bugs in the above.
- GUI RPC: remove unused items from get_state RPC: host_info, time_stats,
net_stats, host_venue
NOTE: any change to a GUI RPC struct requires changing AsyncRPC.cpp.
This is undesirable.
client/
cs_statefile.cpp
clientgui/
AsyncRPC.cpp
lib/
gui_rpc_client_ops.cpp
David 2 Mar 2009
- Manager: scheduling params are not defined for non-CPU-intensive projects;
don't show them.
clientgui/
DlgItemProperties.cpp
Rom 2 Mar 2009
- Update to OpenSSL 0.9.8j for Win32 and Win64
openssl/
<Various Files>
David 2 Mar 2009
- scheduler: replace choose_download_url_by_timezone with
replace_download_url_by_timezone.
From Bernd M.
sched/
sched_timezone.cpp
sched_config.cpp,h
sched_send.cpp
Rom 2 Mar 2009
- Update to LibCurl 7.19.3 for Win32 and Win64
curl/
<Various Files>
David 2 Mar 2009
- scheduler/feeder: add <locality_scheduler_fraction> option;
lets you intermix locality and job-cache scheduling
From Bernd M.
- file_deleter: add --appid option
sched/
feeder.cpp
file_deleter.cpp
handle_request.cpp
sched_config.cpp,h
sched_send.cpp
David 2 Mar 2009
- scheduler: add <locality_scheduling_sticky_file>
and <locality_scheduling_workunit_file> options
From Bernd M.
sched/
sched_config.cpp,h
sched_locality.cpp
Charlie 2 Mar 2009
- client: Revise Apple idle time detection for compatibility with OS 10.6.
client/
hostinfo_unix.cpp
lib/
hostinfo.h
Charlie 3 Mar 2009
- Mac: Update libCurl to 7.19.4.
mac_build/
buildcurl.sh
HowToBuildBOINC_XCode.rtf
setupForBOINC.sh
boinc.xcodeproj/
project.pbxproj
Charlie 3 Mar 2009
- WINSCR: fix an error I introduced.
- Mac screensaver: logic to stop Data Management thread even if hung on
an RPC.
clientscr/
mac_saver_module.cpp
screensaver.cpp, .h
screensaver_win.cpp
David 3 Mar 2009
- scheduler: add locality_scheduling arg to add_result_to_reply();
eliminate the need to diddle around with config.locality_scheduling.
sched/
sched_array.cpp
sched_assign.cpp
sched_locality.cpp
sched_resend.cpp
sched_send.cpp,h
David 3 Mar 2009
- scheduler: don't need to set wreq->infeasible_only in send_work()
sched/
sched_send.cpp
Rom 3 Mar 2009
- Update to LibCurl 7.19.4 for Win32 and Win64
curl/
<Various Files>
David 3 Mar 2009
- client: fix message: "idle instance" => "starved"
client/
work_fetch.cpp
David 3 Mar 2009
- manager: when filtering messages by project,
show messages not tagged with a project (fixes #852)
- web: show X-project stats links as icons
clientgui/
ViewMessages.cpp
html/
inc/
host.inc
team.inc
stats_sites.inc
user/
img/
freedc_icon.png
boincstats_icon.png
white.css
David 3 Mar 2009
- client: change garbage-collect logic.
old: reference-count files involved in a PERS_FILE_XFER
new: if a PERS_FILE_XFER refers to an unreferenced file,
delete it (and the associated FILE_XFER and HTTP_OP if present)
May fix #366
client/
client_state.cpp
David 4 Mar 2009
- client: run CPU benchmarks and contact ref site if platform changes
client/
client_state.cpp
David 4 Mar 2009
- client: show duration estimates for CPU and CUDA separately
- web: reverse Reply and Delete buttons in private msg page
fixes #858
client/
cs_scheduler.cpp
html/user/
pm.php
David 4 Mar 2009
- client: get rid of CPU_PESSIMISM_FACTOR; it wasn't actually being used.
- manager: compile fix for gcc4.4
(this works on my computer; Rom/Charlie, please verify)
client/
rr_sim.cpp
sim.h
clientgui/common/
wxFlatNotebook.cpp
David 4 Mar 2009
- client: don't allow coproc apps in app_info.xml.
Otherwise we'll get stuck in a loop where the client asks for CPU work,
and the scheduler sends jobs for what it thinks is a CPU app
but is actually a coproc app.
Eventually we should add coproc info to the app descriptions
send in scheduler request,
so that you can use anonymous platform for coproc apps.
But let's wait on this.
- scheduler: compile fix for gcc 4.4. Fixes #854
client/
cs_statefile.cpp
sched/
sched_driver.cpp
sched_util.cpp
David 4 Mar 2009
- client: reorganize and improve the logic for deciding
when to do a scheduler RPC:
if user request or acct mgr request, ignore backoff and suspend via GUI;
in all other cases honor both of these.
client/
cs_scheduler.cpp
scheduler_op.cpp
David 4 Mar 2009
- scheduler: use simpler variables in HOST_USAGE
sched/
server_types.cpp,h
sched_send.cpp
sched_plan.cpp
David 5 Mar 2009
- scheduler: add support for anonymous-platform coproc apps.
Old: although the request message contained all info
about the app version (flops, coproc usage etc.)
the server ignored this info,
and assumed that all anonymous platform apps where CPU.
With 6.6 client, this could produce infinite work fetch:
- client uses anon platform, has coproc app
- client has idle CPU, requests CPU work
- scheduler sends it jobs, thinking they will be done by CPU app
- client asks for more work etc.
New: scheduler parses full info on anon platform app versions:
plan class, FLOPS, coprocs.
It uses this info to make scheduling decisions;
in particular, if the request is for CUDA work,
if will only send jobs that use a CUDA app version.
The <result> records it returns contain info
(plan_class) that tells the client which app_version to use.
This will work correctly even if the client has multiple app versions
for the same app (e.g., a CPU version and a GPU version)
sched/
handle_request.cpp
server_types.cpp,h
sched_send.cpp
David 5 Mar 2009
- client: if using anonymous platform, ignore (and complain about)
app versions in scheduler reply
- client: when reporting anonymous platform apps in sched request,
don't include <file_info>s (not relevant to server)
client/
client_types.cpp,h
cs_scheduler.cpp
cs_statefile.cpp
David 5 Mar 2009
- scheduler: parse and return platform name in anon platform apps.
Otherwise, if an app version has a platform different from
the client's primary platform, the client won't find it.
sched/
server_types.cpp,h
David 5 Mar 2009
- manager: show version minor numbers as 0n
clientgui/
ViewWork.cpp
David 5 Mar 2009
- client: anon plaform app versions can specify coprocs
client/
cs_statefile.cpp
Rom 5 Mar 2009
- MGR: Remove previous implementations of the already attached
to projects detection code.
- MGR: Prevent the user from progressing beyond the project
selection page if they are already attached to the
project they are trying to attach to. Display a dialog
box telling they are already attached to that project
and to choose a different project. This skips a bunch
of steps if they meant to attach to a different project.
clientgui/
AlreadyAttachedPage.cpp, .h
BOINCWizards.h
ProjectInfoPage.cpp
ProjectPropertiesPage.cpp, .h
WizardAttachProject.cpp, .h
win_build/
boincmgr_curl.vcproj
Rom 5 Mar 2009
- MGR: Account for new error code returned by the CC in response
to a get_project_config.php request. It was causing the
wizards to throw a temp unavailable error page instead
of the not a boinc project page. Fixes #640
clientgui/
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp
Rom 5 Mar 2009
- MGR: Newer versions of the server-side software publish their
master url in the response to the get_project_config.php
request. If it exists use it over what was specified
by the user. Fixes #259
clientgui/
AccountManagerProcessingPage.cpp
ProjectProcessingPage.cpp
David 5 Mar 2009
- scheduler: get work request parameters before resend_lost_jobs();
otherwise get NaNs for CPU fraction, etc.
- scheduler: show reasons in English when send job aborts
html/user/
top_hosts.php
sched/
sched_send.cpp,h
sched_resend.cpp
handle_request.cpp
David 5 Mar 2009
- scheduler: move all send-work setup stuff (including messages)
into a function that's called before resend_lost_results()
sched/
sched_send.cpp,h
handle_request.cpp
Rom 5 Mar 2009
- MGR: Saving and Restoring window diminisions is not a Mac only
operation when starting up or shutting down the client. Increase
the frequency of the auto-save state timer from 5 minutes to
5 seconds. Fixes #69, Fixes #735, Fixes #790,
- MGR: Lengthen the connected to client status field. Fixes #632
- MGR: Properly update the connected to client status field
even after a change to the simple view. Fixes #688
clientgui/
AdvancedFrame.cpp
sg_BoincSimpleGUI.cpp, .h
Rom 5 Mar 2009
- MGR: Don't display the Simple GUI 'Remove Project' menu item
if it was attached via an account manager. Fixes #261
clientgui/
sg_StatImageLoader.cpp
David 5 Mar 2009
- client: with anonymous platforms, app versions are identified
by app/platform/version/plan-class, same as normal
client/
client_state.cpp
Rom 5 Mar 2009
- MGR: Set the dial-up and VPN connection list box to a static
size so that a scroll bar will appear if the number of items
exceeds the space to display them. Fixes #96
clientgui/
DlgOptions.cpp
Charlie 5 Mar 2009
- Mac: Remove obsolete files AlreadyAttachedPage.cpp, .h from
XCode project.
- MGR: On Mac, revert to auto-save frequency of 5 minutes because:
* The 3 bugs did not occur on the Mac, and
* The saved info is written to a file on the Mac, but the file
is not flushed to disk until the Manager is closed, so the
extra auto-saves have no effect but only waste CPU cycles.
clientgui/
AdvancedFrame.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 6 Mar 2009
- GUI RPC: the Jan 13 checkin removed some items from the
get_state() reply which are not included in our client interface.
However, it turns out that BoincView uses these items; put them back.
- GUI RPC: set_debt() can set CUDA LTD as well as CPU
client/
gui_rpc_server_ops.cpp
cs_statefile.cpp
David 6 Mar 2009
- scheduler: fix bugs in support for anonymous platform + coprocs
(app versions don't have a <coprocs> around coproc elements,
may an oversight but let's stick with it).
Anyway, I think it's working now.
- lib: remove "owner" array from COPROC.
This was used in client to keep track of assignment of
coprocessors to tasks, but we got rid of the reserve/free scheme.
NOTE: this breaks the mechanism for passing --device N to apps;
I'll have to do this another way. Stay tuned.
client/
app_start.cpp
cpu_sched.cpp
lib/
coproc.cpp,h
sched/
sched_array.cpp
sched_send.cpp
server_types.cpp
Rom 6 Mar 2009
- MGR: Don't hide the main window after attaching to an account manager
if we don't support the system tray on that platform. refs #844
clientgui/
AdvancedFrame.cpp
David 6 Mar 2009
- client: add a new mechanism for assigning coproc instances to tasks,
and passing them the corresponding --device N cmdline args.
This fixes a bug introduced in 17402 (Feb 26)
that broke the --device feature,
presumably causing problems on systems with multiple GPUs.
client/
app_start.cpp
client_types.h
lib/
coproc.h
David 6 Mar 2009
- client: fix crash
lib/
coproc.h
Charlie 6 Mar 2009
- client: Fix compiler warning on Mac.
client/
app_start.cpp
David 6 Mar 2009
- scheduler: fix bugs that caused only 1 job to be sent
sched/
sched_array.cpp
sched_config.cpp,h
sched_send.cpp,h
sched_locality.cpp
David 8 Mar 2009
- client, GUI RPC: put <host_venue> back in get_state reply;
it's used by BoincView
client/
cs_statefile.cpp
Rom 8 Mar 2009
- MGR: Fix a long standing bug where the pie control in the
disk usage tab was being created but a default pie part
wasn't being added to the control. This caused the
control to display black circles during window
initialization on slower systems. This issue has been
around since we started using the pie control based disk
usage tab.
clientgui/
ViewResources.cpp
Rom 9 Mar 2009
- MGR: Set the window size through the window creation routine
instead of calling SetSize() after the fact. It removes
all the flicker out of the Advanced GUI.
- MGR: Consolidate all the window position restore functionality
for both the Simple GUI and Advanced GUI in BOINCGUIApp.cpp
instead of having duplicate copies in each view.
- MGR: Have the Advanced GUI remember position across restarts.
- MGR: Create new window events that will save and restore
window state for both GUIs. This avoids multiple UI
updates. Each time you would change window size from within
a OnShow or OnSize event it would spawn an update of its own.
Sometimes certain controls would ignore the event because
it believed it was already processing the event.
clientgui/
AdvancedFrame.cpp, .h
BOINCBaseFrame.cpp, .h
BOINCGUIApp.cpp
sg_BoincSimpleGUI.cpp, .h
ViewStatistics.cpp
win_build/
boincmgr_curl.vcproj
Rom 9 Mar 2009
- MGR: Restore state even if we are not going to display the
window. Otherwise when restoring from the system tray
we'll end up on the resources tab.
- MGR: Save state before exit.
clientgui/
BOINCBaseFrame.cpp
BOINCGUIApp.cpp
Charlie 9 Mar 2009
- MGR: CBOINCBaseFrame::FireRestoreState() calls ProcessEvent()
on Mac instead of AddPendingEvent() to avoid displaying Disk
tab for an instant when showing the Window on manual launch.
- MGR: suspend periodic RPCs only when displaying SafeMessageBox()
not for all dialogs, so tabs can update during Preferences
dialog, etc.
clientgui/
BOINCBaseFrame.cpp
BOINCGUIApp.h
MainDocument.cpp
David 9 Mar 2009
- scheduler: msg tweak
sched/
sched_array.cpp
David 9 Mar 2009
- client: backoff overrides project-requested scheduler RPC.
Otherwise, if scheduler is down, we'll retry infinitely every 10 secs
- client: remove auto_update.poll() (not used)
client/
client_state.cpp
cs_scheduler.cpp
scheduler_op.cpp
David 11 Mar 2009
- Manager: show elapsed time instead of CPU time in Task tab.
CPU time is visible in task Properties.
- Manager: in task Properties, show final CPU and elapsed times
if job is finished
- client: honor backoff for account-manager-requested scheduler RPCs
- client: keep track of final elapsed time for results
- GUI RPC: report final elapsed time
client/
app_control.cpp
client_types.cpp,h
cs_scheduler.cpp
clientgui/
DlgItemProperties.cpp
ViewWork.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
Charlie 12 Mar 2009
- MGR: Simplify the fixes for saving and restoring window sizes and other
settings; eliminate unnecessary new events EVT_FRAME_RESTORESTATE and
EVT_FRAME_SAVESTATE, etc; call SaveState() and RestoreState() directly.
- MGR: Handle EVT_END_SESSION event to call SaveState() on Windows logout
or shutdown; this fixes a long-standing problem where current settings
were not being saved.
clientgui/
AdvancedFrame.cpp, .h
BOINCBaseFrame.cpp, .h
BOINCGUIApp.cpp, .h
sg_BoincSimpleGUI.cpp, .h
Rom 13 Mar 2009
- MGR: Add the basic infrastructure for the up and comming news tab in
the advanced frame.
clientgui/
AdvancedFrame.cpp
BOINCGUIApp.cpp
Events.h
stdwx.h
ViewNews.cpp, .h (Added)
ViewResources.cpp
win_build/
boincmgr_curl.vcproj
David 16 Mar 2009
- scheduler: in get_app_version() we check if our current best
app version is a CUDA app and we don't need more CUDA work.
Need to do this for CPU as well.
sched/
sched_send.cpp
David 16 Mar 2009
- web: in pages that show results, combine "server state",
"client state", and "outcome" into a single status.
The fact that there are three separate status fields
is an implementation detail that users don't need to see.
html/
inc/
result.inc
user/
results.php
David 16 Mar 2009
- validator utilities: improvements to two_credit()
(used for deciding how much credit to grant
when there are 2 valid results).
From Kevin Reed
sched/
validate_util.cpp
David 16 Mar 2009
- scheduler: app_plan() is not the right place to check for
"don't use GPU" pref; do it at a higher level
sched/
sched_plan.cpp,h
sched_send.cpp
Charlie 16 Mar 2009
- MGR: Fix possible deadlock when exiting manager.
clientgui/
AsyncRPC.cpp
Charlie 17 Mar 2009
- MGR: Delete RPCThread::OnExit() because it is not called on Windows
for some reason.
- Mac: add new source files ViewNews.cpp, ViewNews.h to XCode Project.
clientgui/
AsyncRPC.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Eric K 17 Mar 2009
- Linux: client: Added code to detect capability to run 64-bit binaries
from 32-bit BOINC client, and capability to run 32-bit binaries on
a 64-bit linux system.
client/
cs_platforms.cpp
Charlie 17 Mar 2009
- MGR: CMainDocument::KillRPCThread() defers to RPC thread before testing
if thread has exited on its own.
clientgui/
AsyncRPC.cpp
David 18 Mar 2009
- client: consider fetching work from overworked projects
if resource is saturated for < work_buf_min()
(rather than saturated for 0).
So now the only significance of "overworked" is that we
won't ask overworked projects for work if resource is saturated
more than work_buf_min() but less than work_buf_total()
client/
work_fetch.cpp,h
David 18 Mar 2009
- client: in RR simulation, use app_version.flops
instead of host_info.fpops as the FLOPS estimate for non-GPU apps.
I don't see why this would make any difference
(these two are equal for non-GPU apps)
but people have reported that this change improves estimates.
client/
rr_sim.cpp
David 18 Mar 2009
- scheduler and web: add a project preference for whether to use the CPU.
This complements the "use GPU?" pref.
Neither should be necessary, but what the heck.
db/
boinc_db.h
server_types.cpp,h
sched_send.cpp
html/project.sample/
project_specific_prefs.inc
David 18 Mar 2009
- web: job lists can be filtered by status
html/
inc/
result.inc
user/
results.php
David 19 Mar 2009
- scheduler: move app-version selection and score-based scheduling
to new files.
sched/
Makefile.am
sched_version.cpp,h (new)
sched_score.cpp,h (new)
various others
David 19 Mar 2009
- client: work fetch: in RR sim, keep track of the number
of device instances used by jobs that miss deadline.
Don't do "variety" work fetch if this is >= # of instances
client/
rr_sim.cpp
work_fetch.cpp,h
Rom 19 Mar 2009
- client: initial support for detecting the CPU L2 cache
size on Windows.
client/
client_state.cpp
cs_benchmark.cpp
hostinfo_win.cpp
David 20 Mar 2009
- client: reduce frequency of writing state file:
1) multiply checkpoint period by # of cores (or GPUs)
2) don't write statefile after schedule_cpus()
(we write it after enforce_schedule() if anything
started or stopped, and that's all that matters)
- client: add new log flag <statefile_debug>;
tells you when and why statefile is written
client/
app_start.cpp
client_state.cpp
cpu_sched.cpp
cs_statefile.cpp
log_flags.cpp,h
David 20 Mar 2009
- client: add --no_priority_change cmdline arg
(and <no_priority_change> flag in cc_config.xml).
If set, run apps at same priority as client.
client/
app_start.cpp
cs_cmdline.cpp
log_flags.cpp,h
David 20 Mar 2009
- API (win): TerminateProcess() apparently can return in some cases,
causing process to go into infinite "no heartbeat" loop.
Try sleeping for 1 sec, then calling DebugBreak()
api/
boinc_api.cpp
David 20 Mar 2009
- API: add some #ifdef'd debug messages
api/
boinc_api.cpp
David 20 Mar 2009
- web: fix X-project links in Computer page
html/inc/
host.inc
David 22 Mar 2009
- client: garbage collect after scheduler RPC;
if project sent some irrelevant FILE_INFOs,
this will avoid starting transfers for them.
api/
boinc_api.cpp
client/
cs_scheduler.cpp
gui_rpc_server_ops.cpp
samples/multi_thread/
multi_thread.cpp
David 23 Mar 2009
- API: don't try to unlock lockfile if we failed to lock it
- API: more detailed message if failed to lock
api/
boinc_api.cpp
html/project.sample/
project_news.inc
lib/
filesys.cpp,h
David 23 Mar 2009
- new screensaver: don't show jobs if suspended
clientscr/
ss_app.cpp
David 23 Mar 2009
- API: more lockfile messages
lib/
filesys.cpp
api/
boinc_api.cpp
David 23 Mar 2009
- client (linux): if don't find libcudart.so in the current dir,
look for it in the library search path. Fixes #863
lib/
coproc.cpp
Rom 24 Mar 2009
- client: handle power events on Windows via a seperate thread and
hidden window. The basic code was already in place to handle
logoff events on Win9x but now it is enabled for all Windows
versions.
client/
app_control.cpp
main.cpp, .h
David 24 Mar 2009
- small code shuffle
- fix manager build on unix
clientgui/
Makefile.am
ViewWork.cpp
lib/
util.cpp
samples/wrapper/
wrapper.cpp
api/
boinc_api.cpp
David 24 Mar 2009
- remove wait arg of resume_client()
client/
main.cpp,h
David 24 Mar 2009
- upgrade and make_project scripts: run update_translations.php,
which compiles the translation files into the form
used by the web code.
Projects that don't use "upgrade" will need to do this manually
whenever translation files change.
- make_project: create an initial db_revision file.
Otherwise make_project followed by upgrade will try
to do DB upgrades, which will error out
html/
inc/
translation.inc
ops/
update_translations.php
user/
language_select.php
tools/
upgrade
make_project
David 24 Mar 2009
- web: updated the master translation file
html/
ops/
build_po.php
languages/translations/
en.po
user/
home.php
David 24 Mar 2009
- web: remove spurious translation files
David 24 Mar 2009
- web: clean out translation directories before updating
(to get rid of bad translation files)
html/ops/
update_translations.php
py/Boinc/
setup_project.py
David 24 Mar 2009
- web: translation system didn't compile BOINC and
project-specific translations correctly.
html/
ops/
update_translations.php
inc/
translation.inc
David 25 Mar 2009
- improve msgs in file upload handler
sched/
file_upload_handler.cpp
David 25 Mar 2009
- client: give highest work-fetch priority to resources with idle instances
client/
work_fetch.cpp
Charlie 25 Mar 2009
- MGR: Remove erroneous call of locale in main thread which may be causing
undesired chanegs in date and numeric formatting due to conflicts
between threads; also set locale only on a per-thread basis if available.
- MGR: Rename method CMainDocument::CopyProjectsToStateFile() to
CMainDocument::CopyProjectsToStateBuffer() for clarity.
clientgui/
AsyncRPC.cpp
BOINCGUIApp.cpp
MainDocument.h
lib/
gui_rpc_client.h
Charlie 26 Mar 2009
- Mac: revise XCode project to use OS 10.4 SDK for building PowerPC
libraries and executables so that we can use weak-linking for
APIs not available before OS 10.4, such as uselocale().
- MGR: Modify SET_LOCALE constructor and destructor to change locale
only on those systems without support for setting locale
on a per-thread basis, such as OS 10.3.9.
NOTE: At this point it appears that Ubuntu and Fedora both support
uselocale(). If any platform does not support it, see the
comments at NO_PER_THREAD_LOCALE in lib/gui_rpc_client.h for info
on allowing for that.
clientgui/
AsyncRPC.cpp
lib/
gui_rpc_client.h
mac_build/
boinc.xcodeproj/
project.pbxproj
David 26 Mar 2009
- client: clear resource backoffs on user-requested RPC
- client: randomize resource backoffs to avoid lockstep
client/
cs_scheduler.cpp
work_fetch.cpp
David 26 Mar 2009
- client: when a job finishes,
clear the project's backoff for its resource type.
This fixes a problem where a project has a "max jobs in progress"
limit, and we're backed off because of that.
We'll now fetch work immediately instead of waiting 24 hrs.
client/
app.cpp
Charlie 26 Mar 2009
- Mac: Additional changes to make sure BOINC libraries will continue to
build on the Mac using either XCode on OS 10.5 or config / make on
OS 10.3 and later, though the config / make method is still not
recommended on the Mac.
- MGR & lib: Provide a cleaner way to specify that a platform does not
support uselocale() API or other per-thread locale. See the comments
at NO_PER_THREAD_LOCALE in lib/gui_rpc_client.h for details.
- Samples: Fix build breaks and warnings when using MakeMacExample.sh
script or Makefile_mac2 make file to build example_app on Mac. These
errors were probably introduced when boinc_samples was moved into
boinc/samples.
clientgui/
AsyncRPC.cpp
lib/
gui_rpc_client.h
mac_build/
boinc.xcodeproj/
project.pbxproj
samples/
example_app/
Makefile_mac
Makefile_mac2
MakeMacExample.sh
David 27 Mar 2009
- manager: display versions as x.xx
clientgui/
DlgItemProperties.cpp
David 27 Mar 2009
- API: add function boinc_msg_prefix() that returns
time of day and process ID.
This should prefix all messages written to stderr
by applications or by the runtime system.
api/
boinc_api.cpp,h
graphics2_win.cpp
graphics2_unix.cpp
samples/
wrapper/
wrapper.cpp
multi_thread/
multi_thread.cpp
example_app/
uc2.cpp
David 27 Mar 2009
- manager: fix message
clientgui/
ProjectInfoPage.cpp
David 27 Mar 2009
- client: typo in work fetch code; may cause minor errors
client/
work_fetch.cpp
David 30 Mar 2009
- boinc_submit (single-job submission):
set the job params to reasonable values (see below),
and make it easy to change these values in the script
- create_work (function and script): change default job params:
FLOPs est: 1e9 => 3600e9
FLOPs bound: 1e10 => 86400e9
mem bound 100MB => 500MB,
disk bound 100MB => 1GB
delay bound: 100000s => 1 week
client/
work_fetch.cpp
tools/
boinc_submit
create_work.cpp
David 30 Mar 2009
- GUI RPC: client side: if parse a RESULT and CPU is nonzero
but elapsed time is zero, we must be talking to an old client;
set elapsed = CPU
lib/
gui_rpc_client_ops.cpp
David 31 Mar 2009
- client: (unix): if host name lookup fails, call res_init().
This is an attempt to fix a problem on Linux where,
if the client starts before a VPN is set up, it can never communicate
client/
http_curl.cpp
lib/
network.cpp,h
Charlie 31 Mar 2009
- Mac: Add -lresolv to XCode linker flags for client and manager to link
with libresolv.dylib for new res_init() call.
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 1 Apr 2009
- Mac: Add -lresolv to XCode linker flags for screensaver, ss_app and
boinccmd.
- MGR: on Mac, implement standard Preferences item under BOINC menu
with standard keyboard shortcut; same as Advanced/Preferences.
clientgui/
AdvancedFrame.cpp
mac/
MacSysMenu.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 1 Apr 2009
- client: show project name in "backoff ended" msg
client/
app.cpp
cpu_sched.cpp
cs_scheduler.cpp
Charlie 1 Apr 2009
SS: Under Mac Sandbox security, launch default screensaver graphics app
as user and group boinc_master via gfx_switcher, not via setgid.
client/
check_security.cpp
clientgui/
mac/
SetupSecurity.cpp
clientscr/
gfx_switcher.cpp
screensaver.cpp
mac_build/
Mac_SA_Secure.sh
Charlie 2 Apr 2009
SS: Under Mac Sandbox security, terminate default screensaver graphics
app via gfx_switcher. This is safer because the man page for kill()
says the user ID of the process sending the signal must match that
of the target process, though in practice that seems not to be true
on the Mac.
clientscr/
gfx_switcher.cpp
mac_saver_module.cpp
Mac_Saver_Module.h
screensaver.cpp
screensaver_win.h
mac_build/
Mac_SA_Secure.sh
David 2 Apr 2009
- web: in filtered job lists,
"pending" should include "inconclusive",
and "invalid" should include "too late to validate"
html/inc/
result.inc
Rom 2 Apr 2009
- WINSCR: It appears newer notebook models with multiple video
chipsets exhibit an interesting situation. It appears as though
in certain conditions a single monitor machine actually reports
itself as having three monitors. Normally the monitor that
contains the primary window (coord 0,0) is on monitor 0, but on
these machines coord 0,0 is actually on monitor 2. This led to the
screensaver not properly exiting when keyboard and/or mouse activity
was detected. Now when we detect that keyboard and/or mouse activity
has happened we send the WM_INTERRUPTSAVER event to all windows
on all monitors.
clientscr/
screensaver_win.cpp, .h
David 3 Apr 2009
- get_project_config.php: include plan classes in platform list;
i.e., list both win/x86 and win/x86 + NVIDIA.
This will allow the manager to show which projects can
use the hosts's coprocessors,
and also graying out projects that require an absent coproc.
- fix compile warnings
api/
graphics2.h
graphics2_util.cpp
client/
boinc_cmd.cpp
work_fetch.cpp,h
html/user/
get_project_config.php
David 6 Apr 2009
- make_project: get rid of verbosity-level stuff
and fancy overwriting of stdout lines
tools/
make_project
html/inc/
translation.inc
py/Boinc/
setup_project.py
Rom 6 Apr 2009
- WINSETUP: When uninstalling, don't migrate the client data back
to the 5.x location.
win_build/installerv2/redist/Windows/src/boinccas/
CAMigrateBOINCData.cpp
Rom 7 Apr 2009
- WINSETUP: On some setups, how we were including the 'Everyone' well
known security ID in the boinc_users group didn't work properly.
From now on include the 'Everyone' security ID in the various
ACLs instead. This will probley clean up a wide range of
various issues with multi-user installs.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CACreateBOINCGroups.cpp
CASetPermissionBOINC.cpp
CASetPermissionBOINCData.cpp
CASetPermissionBOINCDataProjects.cpp
CASetPermissionBOINCDataSlots.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 7 Apr 2009
- web and client: change the default for "run_gpu_if_user_active"
from true to false.
Currently running CUDA apps on NVIDIA GPUs causes
a significant slowdown in GUI response.
html/inc/
prefs.inc
lib/
prefs.cpp
tools/
make_project
David 7 Apr 2009
- client: we were setting config defaults after parsing cmdline.
This meant that the cmdline args that set config params weren't working:
--allow_multiple_clients
--report_results_immediately
--no_priority_change
--start_delay
client/
client_state.cpp
cs_cmdline.cpp
log_flags.cpp,h
Eric 7 Apr 2009
- API: Added new function boinc_set_credit_claim() for use by projects that
want to grant approximately fixed credits, but don't want to express them in
terms of FPOPS and IOPS. This API just calls
boinc_ops_cumulative(N*8.64000e+11,0).
api/
boinc_api.cpp,h
Charlie 7 Apr 2009
MGR: Fix compatibility problem with sizing of all-projects list in Attach
Project Wizard when using wxWidgets 2.8.8 or later.
clientgui/
ProjectListCtrl.cpp
David 8 Apr 2009
- Add "html/ops/purge_profile.php" script to help admins locate
and remove spam profiles
html/
inc/
email.inc
ops/
purge_profile.php
user/
mail_passwd.php
David 8 Apr 2009
- client: back out res_init() change; it didn't work
client/
http_curl.cpp
lib/
network.cpp.h
Charlie 8 Apr 2009
- Mac MGR: build with wxWidgets 2.8.10.
- Mac: Remove -lresolv from XCode linker flags for client, manager,
ss_app, screensaver and boinccmd since res_init() call is removed.
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 9 Apr 2009
- Mac client: fill in command field of PROCINFO struct so <exclusive_app>
log flag works properly on Mac.
lib/
procinfo_mac.cpp
David 9 Apr 2009
- client: for each app version,
keep track of the largest WSS of tasks using it.
In checking whether tasks fit in RAM,
use this as an estimate for tasks that haven't started yet.
This avoids a situation where the client starts a lot of
tasks in sequence, only to find that each one doesn't fit in RAM.
client/
client_types.h
cpu_sched.cpp
David 9 Apr 2009
- manager: show execution directory in task properties
clientgui/
DlgItemProperties.cpp
Rom 9 Apr 2009
- WINSETUP 'Everyone' is not just a group, it is a well known
group.
win_build/installerv2/redist/Windows/src/boinccas/
CASetPermissionBOINC.cpp
CASetPermissionBOINCData.cpp
CASetPermissionBOINCDataProjects.cpp
CASetPermissionBOINCDataSlots.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 9 Apr 2009
- graphics API: add rotation arg to txf_render_string()
(from Carl C.)
api/
txf_util.cpp,h
Rom 10 Apr 2009
- WINSETUP: Be sure to define INSTALLDIR if it isn't already
defined by the system or the transform. DATADIR was
already being handled.
- WINSETUP: Save setup state at the end of the execution phase
as well as the end of the UI phase.
win_build/installerv2/
BOINC.ism
BOINCx64.ism
win_build/installerv2/redist/Windows/src/boinccas/
CAValidateSetupType.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 10 Apr 2009
- client: for coproc jobs, don't start a job while a quit is pending.
Otherwise the new job may fail on memory allocation.
client/
cpu_sched.cpp
David 10 Apr 2009
- client: instead of scheduling coproc jobs EDF:
- first schedule jobs projected to miss deadline in EDF order
- then schedule remaining jobs in FIFO order
This is intended to reduce the number of preemptions of coproc jobs,
and hence (since they are always preempted by quit)
to reduce the wasted time due to checkpoint gaps.
- client: the CPU scheduling policy made use of the number
of deadline misses in various places.
This should include only the deadline misses of CPU jobs.
So move "deadlines_missed" from RR_SIM_STATUS and PROJECT
to RSC_PROJECT_WORK_FETCH so that we have separate counts
for CPU and coproc jobs, and use the count for CPU jobs.
- GUI RPC: removed the rr_sim_deadlines_missed field
from project descriptor.
This is no longer meaningful, and it didn't seem to be used anywhere.
client/
client_types.cpp,h
cpu_sched.cpp
rr_sim.cpp,h
work_fetch.cpp,h
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 10 Apr 2009
- GUI RPC and manager: send slot and show it in task properties
rather than slot path
(slot_path is defined only for apps with graphics app).
clientgui/
DlgItemProperties.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
Rytis 11 Apr 2009
- web: allow login from subdirectories of the site (expects login_form.php
to be located in the URL_BASE).
html/inc/
util.inc
David 12 Apr 2009
- client: put back the call to res_init() on lookup failure.
Apparently it worked after all.
client/
http_curl.cpp
lib/
network.cpp,h
Charlie 13 Apr 2009
- Mac: Add -lresolv to XCode linker flags for client, manager, boinccmd,
screensaver and ss_app to link with libresolv.dylib for res_init()
call (again).
mac_build/
boinc.xcodeproj/
project.pbxproj
David 14 Apr 2009
- client: eliminate the need to write the state file on each checkpoint.
Instead, write the info into a file in the slot directory,
and check for these files on startup.
This should reduce the overhead of state-file writing
on machines with lots of cores.
There will still be a flurry of writes each time a job finishes,
but reducing that overhead would be a larger job.
- client: make sure we write the state file after a failed RPC
client/
app.cpp,h
app_control.cpp
cs_scheduler.cpp
file_names.h
scheduler_op.cpp
Charlie 15 Apr 2009
SS: Under Mac Sandbox security, launch default screensaver graphics app
via gfx_switcher as user and group boinc_project rather than
boinc_master, since none of the default screensaver's RPC calls
requires access to the password in gui_rpc_auth.cfg.
clientscr/
gfx_switcher.cpp
screensaver.cpp
Rom 15 Apr 2009
- Fix compiler errors
( From: Sascha Manns )
client/
hostinfo_unix.cpp
clientgui/
DlgAdvPreferences.cpp
David 15 Apr 2009
- web: improve the appearance of buttons
- web: divide the stylesheet into "main.css"
(which has formatting stuff, rounded corners etc.)
and "white.css" (which has colors).
The above two from Simek.
- scheduler: change default min NVIDIA driver version
from 17500 to 17700
html/
inc/
util.inc
user/
main.css (new)
sample_index.php
user_search.php
white.css
img/
white_grad.png (new)
sched/
sched_plan.cpp
David 15 Apr 2009
- Unix build: make it work if "diff" is missing (??)
from Michael Tughan
lib/
Makefile.am
David 15 Apr 2009
- web: increase button text size a little
html/user/
main.css
David 15 Apr 2009
- web: update black.css
html/user/
black.css
Rom 15 Apr 2009
- Add ICU to the BOINC depends list. It is needed for
SQLLite3 which will be needed for reading Firefox
3.x cookies.
icu/
<Various Files>
Charlie 15 Apr 2009
Mac MGR: Add keyboard shortcuts command-shift-S to switch to Simple View
and command-shift-A to switch back to Advanced View.
clientgui/
AdvancedFrame.cpp, .h
sg_BoincSimpleGUI.cpp, .h
David 15 Apr 2009
- client: fixed a crash caused by using %f to write
working-set size into a fixed-size buffer.
Use %e instead.
TODO: figure out why WSS was huge.
- web: if "en" is primary language, don't read translation files
client/
app_control.cpp
html/inc/
translation.inc
samples/example_app/
uc2.cpp
David 16 Apr 2009
- client: another try at fixing the above crash
- web: don't show plan class in separate column in apps list; fixes #874
client/
app_control.cpp
html/user/
apps.php
David 16 Apr 2009
- upgrade script: do DB update even if stop_web is present,
rather than spewing an HTML error message.
Fixes #875
html/
inc/
boinc_db.inc
util.inc
ops/
db_update.php
user/
apps.php
David 16 Apr 2009
- client: if detach a project, adjust debts and trigger
CPU sched and work fetch
client/
client_state.cpp
cpu_sched.cpp
Charlie 17 Apr 2009
Mac MGR: Changes to build with full Unicode support with wxWidgets-2.8.10.
mac_build/
buildWxMac.sh
setupForBOINC.sh
clientgui/
BOINCClientManager.cpp
SkinManager.cpp
mac/
MacGUI.pch
Charlie 18 Apr 2009
MGR: Put keyboard shortcuts CTRL+SHIFT+S and CTRL+SHIFT+A in View Menu so
their functionality is not hidden. (On the Mac, this translates to
COMMAND-SHIFT-A and COMMAND-SHIFT-S.)
clientgui/
AdvancedFrame.cpp, .h
David 19 Apr 2009
- client: improve CPU sched debug messages
(say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes #879
client/
cpu_sched.cpp
lib/
coproc.cpp,h
David 20 Apr 2009
- web: swap positions of reply/delete buttons in private message display
html/user/
pm.php
David 20 Apr 2009
- db_purge: improve error-checking; if we're failing to write archives,
quit immediately so that we don't delete unarchived DB records
sched/
db_purge.cpp
David 20 Apr 2009
- partial checkin so I can edit locally (bad network connection)
lib/
coproc.cpp,h
Rom 21 Apr 2009
- WINBUILD: Update Project files for new layout.
win_build/
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_setup.vdproj (Deleted)
boinc_setup_auto.vdproj (Deleted)
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
boincsvcctrl.vcproj
boinctray.vcproj
gr_boinc_cli_curl.vcproj (Deleted)
gr_boinc_dll.vcproj (Deleted)
gr_boinc_ss.vcproj (Deleted)
gr_boinccmd.vcproj (Deleted)
gr_boincmgr_curl.vcproj (Deleted)
GridRepublic.sln (Deleted)
libboinc.vcproj
libboinc_staticcrt.vcproj
sim.vcproj
ss_app.vcproj
updater.vcproj
David 21 Apr 2009
- client: new approach to handling multiple GPUs.
old: find fastest GPU, and pretend that others are the same.
Problem: other GPUs might be less capable,
and not able to handle jobs sent by server.
new: find the most "capable" GPU, use others that are equivalent,
don't use those that are not.
"Capable" is defined by
- compute capability (i.e., hardware version)
- driver version
- memory size
- FLOPs
in that priority order.
See comments in lib/coproc.h
client/
app_start.cpp
lib/
coproc.cpp,h
David 21 Apr 2009
- client: fix crash bug in CUDA init
lib/
coproc.cpp
Rom 22 Apr 2009
- WINBUILD: More project file fixes
- WINBUILD: Create a new configuration for building the Unicode
version of the BOINC Manager.
win_build
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
boincsvcctrl.vcproj
boinctray.vcproj
libboinc.vcproj
libboinc_staticcrt.vcproj
sim.vcproj
ss_app.vcproj
updater.vcproj
Rom 22 Apr 2009
- WIN: First pass through the code to fix compliation errors when
building in a Unicode enabled environment.
NOTE: For files that are shared between the core client and
the manager, it was simpliar to just call the ANSI versions
of the specific Windows API functions then to monkey with
all of the string handling code and convert between ANSI
and UCS-2 strings. CreateFile becomes CreateFileA instead
of the default of CreateFileW.
Down to 11 compile time errors from over 100.
clientgui/
BOINCBaseFrame.cpp
BOINCTaskBar.cpp
browser.cpp
browser.h
sg_StatImageLoader.cpp
lib/
boinc_win.h
diagnostics_win.cpp
filesys.cpp
gui_rpc_client_ops.cpp
proc_control.cpp
stackwalker_imports.h
stackwalker_win.cpp
str_util.cpp
util.cpp
win_util.cpp, .h
David 22 Apr 2009
- client: When a preemptable task wasn't preempted
(e.g. because it hadn't finished its time slice)
we were failing to mark it as scheduled.
client/
cpu_sched.cpp
Rom 23 Apr 2009
- WINBUILD: More project file cleanup.
- WINBUILD: Move wxWidgets include directives from the
FlatNotebook to the pre-compiled header. Try and avoid
a compilation problems when two different sets of
wxWidgets build environments are on the system and have
been setup differently.
clientgui/common/
wxFNBDropTarget.h
clientgui/
stdwx.h
win_build/
boincmgr_curl.vcproj
David 24 Apr 2009
- client: message tweak
- ops: don't import teams if using invitation codes
client/
work_fetch.cpp
html/ops/
team_import.php
David 24 Apr 2009
- client: tweak to 4/21 checkin.
After finding the "most capable" GPU,
ignore FLOPS in deciding what GPUs are equivalent to it.
This opens up the possibility that the client will get jobs
that it won't be able to finish in time.
But it still avoids getting jobs that will crash.
lib/
coproc.cpp
David 24 Apr 2009
- fix typo in compare_cuda()
lib/
coproc.cpp
David 26 Apr 2009
- team import: error out if account creation disabled
html/ops/
team_import.php
David 27 Apr 2009
- link fix
html/inc/
stats_sites.inc
David 27 Apr 2009
- client: show message when user does a project or task op
(suspend, resume, update, etc.)
client/
gui_rpc_server_ops.cpp
David 27 Apr 2009
- client: add <use_all_gpus> config option. If set, use GPUs
even if they're not equivalent to the most capable one.
- Validator: fix one_pass_N_WU option.
client/
client_state.cpp
log_flags.cpp,h
lib/
coproc.cpp,h
sched/
validator.cpp
David 28 Apr 2009
- DB code: fixed three places where we accessed a MYSQL_ROW
after freeing the MYSQL_RES it came from.
(this didn't appear to cause any problems, but not good form).
Fixes #883
db/
db_base.cpp
David 30 Apr 2009
- Changes to get the client to build on IRIX:
don't use the variable name "sgi";
include <xxx.h> instead of <cxxx>; the latter just adds
overloaded functions that we avoid.
api/
gutil.cpp
gutil_text.cpp
client/
boinc_cmd.cpp
hostinfo_unix.cpp
whetstone.cpp
html/inc/
stats_sites.inc
lib/
diagnostics.h
gui_rpc_client_ops.cpp
str_util.cpp
Rom 30 Apr 2009
- MGR: Turn GetViewName into the unlocalized version of the view
name, so the configuration group name is consistant across
all languages and does not cause conversion issues on
different platforms where the configuration information
is treated differently when compiled Unicode vs. ANSI.
clientgui/
ViewMessages.cpp
ViewNews.cpp
ViewProjects.cpp
ViewResources.cpp
ViewStatistics.cpp
ViewTransfers.cpp
ViewWork.cpp
David 1 May 2009
- removed outdated translation files; updated template
David 1 May 2009
- sample bitwise validator: make it work for binary files
fixes #886, #887
lib/
md5_file.h
util.cpp,h
sched/
sample_bitwise_validator.cpp
Rytis 3 May 2009
- user web: add a hook project_user_links() to user_links() to easily
extend user links (very useful for adding project badges).
html/inc/
util.inc
David 4 May 2009
- client: view 2 GPUs as equivalent if their memory differs by <30%.
(maybe their memory differed slightly from the most capable one)
lib/
coproc.cpp
David 4 May 2009
- client: simplify enforce_schedule(), and maybe fix bugs.
New approach: take the "ordered_schedule_results" list,
add running jobs that haven't finished their time slice,
and order the result appropriately.
Then run jobs in order until CPUs are filled.
Simpler and clearer than the old way.
client/
client_types.h
client_state.h
cpu_sched.cpp
David 5 May 2009
- client: enforce_schedule() wasn't starting GPU jobs
client/
cpu_sched.cpp
David 5 May 2009
- Change Makefiles to use "$(LN) foo ." instead of "ln foo"
zip/
Makefile.am
api/
Makefile.am
Rom 5 May 2009
- It appears Pootle is looking for a comment line ahead of
each message to translate, if it doesn't have some form
of comment it skips over it.
doc/
build_po.php
Charlie 5 May 2009
Mac: Modify wxWidgets build script to fix a problem in wxMac-2.8.10
which made the Manager extremely slow to update or respond to
user input, by patching wxMac-2.8.10/src/mac/carbon/thread.cpp.
wxMac developer Stefan Csomor has checked my change into the
wxWidgets 2.8 branch, so this should be fixed in wxMac-2.8.11.
mac_build/
buildWxMac.sh
Charlie 5 May 2009
MGR: Add comments and slightly reorder code for clarity.
clientgui/
AsyncRPC.cpp
David 6 May 2009
- client: write message (and show new config info) when config file reread
- client: improve cpu_sched_debug messages
- web translation: code wasn't handling multi-line tokens
client/
gui_rpc_server_ops.cpp
cpu_sched.cpp
David 6 May 2009
- feeder: add -appids option: lets you specify which apps to
get jobs for (default it all).
Useful if you're mixing locality and regular scheduling.
- a little E@h-specific stuff
From Bernd Machenschalk.
sched/
feeder.cpp
handle_request.cpp
sched_send.cpp
David 7 May 2009
- client, Mac: don't do res_init(). It causes a crash.
- client (Unix): if client crashes while benchmark processes are going,
make sure they detect this and exit.
- back-end programs: remove hardwired assumptions about
what directory they run in, and hence where config.xml is.
E.g., daemons look for it in "..", others expect it in current dir.
New approach: all the programs look for the project dir as follows:
1) the environment var BOINC_PROJECT_DIR, if defined
2) the current dir, if config.xml is there.
3) else ".."
This means you can run programs in either proj/bin/ or proj/,
or (using BOINC_PROJECT_DIR) you can keep executables
outside of the project dir.
client/
cpu_sched.cpp
cs_benchmark.cpp
lib/
network.cpp
sched/
*.cpp
tools/
backend_lib.cpp
create_work.cpp
dir_hier_path.cpp
Bernd 7 May 2009
- <cstdio> is a C++ haeder - moved it to __cplusplus section
lib/
filesys.h
Rytis 7 May 2009
- user web: remove an undocumented feature where anyone could do a
recompile of language files by just knowing an URL parameter.
hmtl/inc/
translation.inc
Charlie 7 May 2009
- Mac: Remove -lresolv from XCode linker flags for client, manager, boinccmd
and screensaver which linked with libresolv.dylib for res_init() call.
- Mac client: fix parent died test in benchmark_time_to_stop().
client/
cs_benchmark.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 8 May 2009
- WINBUILD: Cleanup the Unicode configurations
- WINBUILD: Make building Unicode version of BOINC Manager the
default.
win_build
boinc_cli.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr.vcproj
boincsvcctrl.vcproj
boinctray.vcproj
libboinc.vcproj
libboinc_staticcrt.vcproj
sim.vcproj
ss_app.vcproj
updater.vcproj
David 9 May 2009
- update translation file
locale/templates/
BOINC-Project-Generic.pot
Rom 12 May 2009
- MGR: Include support for Firefox 3.x cookie support for
the attach to project wizard.
- MGR: Include support for a cookie based attach to
account manager wizard.
clientgui/
browser.cpp, .h
clientgui/mac/
browser_safari.mm
win_build/
boinc_post_bld_rules.cmd
boincmgr.vcproj
Rom 12 May 2009
- WINBUILD: Have the new installers include the new BOINC OpenGL
based screensaver, as well as the logo and font files.
- WINBUILD: Include sqlite3.dll in the BOINC Manager component.
win_build/installerv2/
BOINC.ism
BOINCx64.ism
win_build/
ss_app.vcproj
David 12 May 2009
- file deleter: improved log messages (from Bernd M)
sched/
file_deleter.cpp
David 12 May 2009
- scheduler: the multiplier for both #jobs/day and #jobs in progress
is #CPUs + config.cuda_multiplier * #GPUs
sched/
sched_send.cpp
Charlie 13 May 2009
- Mac MGR: Fix compile error.
- Mac MGR: Add -lsqlite3 to XCode linker flags for manager.
clientgui/
mac/
browser_safari.mm
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 13 May 2009
- MGR: Merge "Attach to account manager" functionality into "Attach to
project" wizard. I have not yet merged the Synchronize with account
Manager" or "Remove from account manager" into the "Attach to project"
wizard; after doing that I will remove the obsolete classes and files.
clientgui/
AccountInfoPage.cpp
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
BOINCBaseWizard.cpp, .h
BOINCWizards.h
WelcomePage.cpp, .h
WizardAttachProject.cpp, .h
lib/
gui_rpc_client_ops.cpp
David 13 May 2009
- web: make build_po.php usable for projects
html/ops/
build_po.php
Charlie 13 May 2009
- MGR: Always treat quit RPCs as non-demand so Manager can exit when
client is not responding; don't remove currently active RPC request
from queue when receiving a quit RPC request.
clientgui/
AsyncRPC.cpp
David 14 May 2009
- scheduler: add <report_max> config parameter;
limits the # of completed results handled per scheduler RPC.
This may be needed to avoid crashes due to memory allocation
failure (each reported result uses about 128KB memory).
- web: In showing result lists,
include "Validate error" results in the "Invalid" category.
(Previously they didn't appear in any category)
html/inc/
result.inc
sched/
sched_config.cpp,h
sched_result.cpp
David 14 May 2009
- web: check for mismatched "'s in translation files
- build_po.php: add LANG_NAME strings
html/
inc/
translation.inc
ops/
build_po.php
Charlie 15 May 2009
Fix compiler warning.
lib/
util.cpp
Charlie 15 May 2009
- MGR: Finish merging "Attach to account manager" functionality into "Attach
to project" wizard: "Synchronize with account Manager" and "Remove from
account manager." Remove the obsolete classes and files.
NOTE: The "Remove from account manager" functionality in the wizard
(action == ACCOUNTMANAGER_DETACH) was no longer used, so I removed this
block of code.
clientgui/
AccountInfoPage.cpp
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
AdvancedFrame.cpp, .h
BOINCBaseWizard.cpp, .h
BOINCWizards.h
CompletionPage.cpp
Events.h
Makefile.am
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp
WelcomePage.cpp
WizardAccountManager.h
WizardAttachProject.cpp, .h
WizardAccountManager.cpp, .h (Deleted)
mac_build/
boinc.xcodeproj/
project.pbxproj
win_build/
boincmgr.vcproj
Charlie 15 May 2009
- MGR: Update m_dtCachedCCStatusTimestamp only when RPC completes.
- MGR: CBOINCClientManager::IsBOINCCoreRunning() tests whether the Client
process exists, rather than doing an RPC. We can't use an async RPC
here because we may not yet be connected to the Client, and the direct
RPC which was being done would hang the Manager if the Client was
running but not responding. This should fix some of the situations
where the manager would become unresponsive.
- MGR: Add an "Exit BOINC" button ("Quit BOINC" on Mac) to async RPC
"Communicating with BOINC Client. Please wait..." dialog. This allows
users to exit BOINC more easily when Client is unresponsive.
clientgui/
AsyncRPC.cpp, .h
BOINCClientManager.cpp
MainDocument.cpp
David 15 May 2009
- scheduler: enforce max_wus_to_send config parameter
for jobs being resent (as well as new jobs)
sched/
sched_resend.cpp
Charlie 16 May 2009
- MGR: Fix bug which prevented skin change from being saved if exiting Manager
while in Simple View.
clientgui/
BOINCGUIApp.cpp
David 17 May 2009
- web: fix formatting in [pre]. Fixes #891
html/inc
text_transform.inc
David 17 May 2009
- upgrade: don't crash if file copy fails
- db_update.php: select database (not clear if this ever worked)
- translation: fix bug if have both BOINC and project translation
html/
inc/
boinc_db.inc
translation.inc
ops/
update_translations.php
db_update.php
py/Boinc
setup_project.py
David 17 May 2009
- web: use read-only replica when possible
html/user/
pending.php
results.php
show_host_detail.php
workunit.php
Rom 18 May 2009
- MGR: Take care of numerious compiler warning for Linux builds
and update license information on a bunch of files.
clientgui/res/
<Numberious Files>
win_build/
boincmgr.vcproj
Charlie 20 May 2009
- Mac: Fix build scripts for new screensaver.
mac_installer/
release_GridRepublic.sh
release_boinc.sh
David 20 May 2009
- web: in RSS feeds, replace images with [Image link]
but allow other tags (like <a>).
Note: if the image is itself inside a <a href=x>,
then the [Image link] will be linked to x, not to the image.
html/
inc/
text_transform.inc
user/
sample_rss_main.php
Rom 20 May 2009
- MGR: Fix bug where *nix platforms using UCS2 Unicode encoding
were not able to display graphics as one or more null bytes
seperate each character.
clientgui/
MainDocument.cpp
Rom 20 May 2009
- MGR: Fix bug where there was no trailing backslash before
'symbols' was appended to the end of the symbol path. This
caused the stack tracing code not to download the actual
symbol files needed to debug a problem. I have no idea
when this bug was introduced.
lib/
stackwalker_win.cpp
David 20 May 2009
- web: the logic for using read-only DB replicas was messed up
html/inc/
boinc_db.inc
Rom 22 May 2009
- MGR/client: Enable cookie support for Account Managers
client/
gui_rpc_server_ops.cpp
clientgui/
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
browser.cpp
MainDocument.cpp
WizardAttachProject.cpp
Rom 20 May 2009
- Tag for 6.7.5 release, all platforms
boinc_core_release_6_7_5
/
configure.ac
version.h
David 22 May 2009
- web: escape forum RSS entries instead of stripping tags
(from Nicolas; fixes #899)
html/user/
forum_rss.php
David 22 May 2009
- web: clarify build_po.php
html/ops/
build_po.php
build_po_boinc.php (new)
David 22 May 2009
- web: fix host-merge logic. Fixes #893
html/inc
host.inc
David 22 May 2009
- fix display problem when talking to old clients
lib/
gui_rpc_client_ops.cpp
David 25 May 2009
- web: fix regular expression for "images as links"
html/inc/
text_transform.inc
David 26 May 2009
- DB: for tables w/ fulltext indices, specify engine as MyISAM
from Nicolas; fixes #904
db/
schema.sql
David 26 May 2009
- Mac installer: fix off-by-1 error
mac_installer/
CustomInstall.cpp
David 27 May 2009
- lib: compile fix for C
lib/
filesys.h
David 27 May 2009
- compile fixes for Haiku
lib/
network.h
gui_rpc_client.h
diagnostics.cpp
shmem.cpp,h
zip/unzip/unix/
unix.c
David 27 May 2009
- compile fixes for Haiku
lib/
shmem.cpp
David 28 May 2009
- scheduler: return better message if client has
too little GPU RAM, wrong driver version, etc.
(tell them what the specific requirement is)
sched/
sched_plan.cpp,h
sched_version.cpp
David 28 May 2009
- client: fixed nasty bug that caused GPU jobs to crash on startup
when they're preempting another GPU job.
The problem was as follows:
- job A is chosen to preempt job B
- we tell job B to quit, and initialize job A but don't start it;
however, we set if scheduler state to SCHEDULED
(rather than UNINITIALIZED)
- job B exits, and we start job A.
Since its state is not UNITIALIZED, we don't set up its slot dir.
- job A runs in an empty slot dir, doesn't find its files, and bombs out.
- client: add <slot_debug> option (prints messages about
allocation of slots, creating/removing files in slot dirs).
client/
app.cpp,h
app_control.cpp
app_start.cpp
cpu_sched.cpp
file_names.cpp
sandbox.cpp,.h
sim_util.cpp
clientgui/
ViewWork.cpp
Charlie 28 May 2009
- Mac MGR: Eliminate erroneous references to wxMac-2.8.7 in XCode (now
building with wxMac-2.8.10).
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 28 May 2009
SS: Add new optional boolean xml tag <default_ss_first>; if true, then launch
default screensaver graphics app first, else run science graphics first.
clientscr/
screensaver.cpp, .h
Mac_Saver_Module.h
screensaver_win.h
Rom 29 May 2009
- Change version number to 6.9.x
/
configure.ac
version.h
David 29 May 2009
- updated python assimilator
sched/
assimilator.py
David 31 May 2009
- lib: return proper error codes from boinc_rename() and boinc_mkdir()
- client: Haiku support (from Urias McCullough)
- client: include plan class in other_result list in sched request
(for resource-specific jobs-in-progress limit)
client/
cs_scheduler.cpp
hostinfo_unix.cpp
lib/
filesys.cpp
David 1 June 2009
- scheduler: add new config option <max_wus_in_progress_gpus>.
The limit on jobs in progress is now
max_wus_in_progress * NCPUS
+ max_wus_in_progress * NGPUS
where NCPUS and NGPUS reflect prefs and are capped.
Furthermore: if the client reports plan class for in-progress jobs
(see checkin of 31 May 2009)
then these limits are enforced separately;
i.e. the # of in-progress CPU jobs is <= max_wus_in_progress*NCPUS,
and the # of in-progress GPU jobs is <= max_wus_in_progress_gpu*NGPUS
- scheduler config: rename <cuda_multiplier> to <gpu_multiplier>
- scheduler: <max_wus_to_send> is now scaled by
(NCPUS + gpu_multiplier*NGPUS)
- scheduler: don't keep scanning array if !work_needed()
- scheduler: moved array-scan logic from sched_send.cpp to sched_array.cpp
- scheduler: don't say "no work available" if jobs are available
but work_needed() is initially false
sched/
handle_request.cpp
sched_array.cpp,h
sched_config.cpp,h
sched_plan.cpp,h
sched_resend.cpp
sched_score.cpp
sched_send.cpp,h
server_types.cpp,h
David 1 June 2009
- feeder: process array slots even if enum has ended;
this is needed to handle stale entries and slots
reserved by now-dead PIDs
- client: unify code for writing soft link files
client/
app_start.cpp
client_types.cpp
file_names.cpp,h
sched/
feeder.cpp
main.cpp
Charlie 1 June 2009
- Mac MGR: Fix per-thread-locale logic on Mac.
- MGR: In Async RPC logic, change calling order for wxCondition and
wxMutex from <Set Boolean, Lock, Unlock, Signal> to <Lock,
Set Boolean, Signal, Unlock> to be consistent with examples in
literature, hoping this might fix an intermittent hang in
wxCondition::Wait().
- Mac MGR: Mac OS 10.3.9 does not have sqlite3, so we must weak-link.
clientgui/
AsyncRPC.cpp
browser.cpp
David 1 June 2009
- python DB code: add clear cache method, and fix equality crash
(from Jeremy Cowles)
py/Boinc/
boinc_db.py
David 1 June 2009
- client: if scheduler request didn't request work, don't report 0 tasks
- scheduler: fix crash if anonymous platform
client/
cs_scheduler.cpp
sched/
sched_send.cpp
David 1 June 2009
- Updated Python assimilator (from Jeremy Cowles)
sched/
assimilator.py
testasm.py
David 2 June 2009
- client: show "est. delay" correctly in work fetch debug msgs
- client: show times correctly in rr_sim debug msgs
- client: in "requesting new tasks" msg,
say what resources we're requesting (if there's more than CPU)
- client: estimated delay was possibly being calculated incorrectly
because of roundoff error
client/
cs_scheduler.cpp
rr_sim.cpp
scheduler_op.cpp
work_fetch.cpp
David 2 June 2009
- client: add a 1e-6 slop factor in deciding if
a resource is fully utilized.
client/
work_fetch.cpp
sched/
file_upload_handler.cpp
Charlie 2 June 2009
- MGR: cosmetic changes to combined attach wizard, partial fix
to "Forgot password" link for account managers.
clientgui/
AccountInfoPage.cpp
AccountManagerInfoPage.cpp
ProjecttInfoPage.cpp
ProjectListCtrl.cpp, .h
WelcomePage.cpp
Charlie 3 June 2009
- MGR: finish changes to combined attach wizard, change "Forgot
password" link for account managers to a link to AM's home
page, add static text that you must register at web site
before proceeding or go to web site for forgotten password.
clientgui/
AccountInfoPage.cpp, .h
BOINCWizards.h
David 3 June 2009
- client: include device number in message describing NVIDIA GPU,
and call it "NVIDIA GPU" rather than "CUDA device"
fixes #879
lib/
coproc.cpp
David 3 June 2009
- web: align field name/value at top
html/user/
main.css
David 3 June 2009
- make update_translations.php executable; fixes #770
html/ops/
update_translations.php
tools/
make_project
upgrade
David 3 June 2009
- client: tweak messages
client/
client_types.cpp
cs_scheduler.cpp
cs_statefile.cpp
David 3 June 2009
- fix python scripts; fixes #770 (from Nicolas)
tools/
make_project
upgrade
David 3 June 2009
- client: when parsing app_info.xml, make sure coprocessors are present.
fixes #911
client/
cs_statefile.cpp
David 3 June 2009
- web: make [pre] work similar to [code]. fixes #798
Note: I had to move [pre] to the top of the
preg list to make this work. Not sure why.
html/
inc/
text_transform.inc
user/
main.css
Charlie 3 June 2009
- GR Installer: Update make_GridRepublic.sh script for new default
screensaver.
mac_installer/
make_GridRepublic.sh
Charlie 3 June 2009
- client: Fix missing argument in printf statements.
lib/
coproc.cpp,h
David 3 June 2009
- fix to the above
lib/
coproc.cpp,h
Rom 3 June 2009
- MGR: Accept Unicode input for usernames and password in the
manager now that the manager is Unicode enabled. Input will
show up as UTF-8 strings in the CC and project.
Fixes #452
clientgui/
AccountInfoPage.cpp
AccountManagerInfoPage.cpp
ProjectInfoPage.cpp
Rom 4 June 2009
- MGR: Fix bug in browser cookie detection code where firefox v3
cookie detection was returning true even for cookies that don't
exist.
clientgui/
browser.cpp, .h
Rom 4 June 2009
- MGR: Add some basic validation for account manager cookie detection.
clientgui/
browser.cpp
David 4 June 2009
- web: typo in filtered results (from R. Haselgrove)
html/inc/
result.inc
David 4 June 2009
- web: improve appearance of results page
html/user/
results.php
David 4 June 2009
- GUI RPC: add active_only option to get_results() RPC
client/
client_state.h
cs_statefile.cpp
gui_rpc_server_ops.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 4 June 2009
- client: read app_info.xml's AFTER scanning GPUs.
Otherwise we'll discard all GPU apps and results.
client/
client_state.cpp
David 4 June 2009
- lib: fix compile warning
lib/
crypt.cpp
Charlie 4 June 2009
- MGR: Fix compile errors.
- MGR: Remove authenticator validity test from detect_cookie_safari() since
it is now used for additional cookies; this had already been done for
other browsers.
clientgui/
browser.cpp, .h
mac/
browser_safari.mm
Charlie 5 June 2009
- MGR: CBOINCClientManager::ProcessExists() finds the process by name if
we don't have a pid (Mac, Linux) or process HANDLE (Windows). On Mac
and Linux, it returns the pid if the process was found.
clientgui/
BOINCClientManager.cpp, .h
win_build/
boincmgr.vcproj
David 5 June 2009
- scheduler: improve example app plan function for multithread
sched/
sched_plan.cpp,h
Charlie 5 June 2009
- MGR: Use code like get_client_mutex() to determine if client is running.
New CBOINCClientManager::KillClient() uses process name to kill client
if we don't have a pid (Mac, Linux) or process HANDLE (Windows).
NOTE: Windows implementation not yet finished.
clientgui/
BOINCClientManager.cpp, .h
Charlie 5 June 2009
- MGR: Implement CBOINCClientManager::KillClient() and IsBOINCRunning()
for Windows.
NOTE: I have confirmed that the "ps -a -x -c -o command,pid" command
as used in IsBOINCRunning() should works in Ubuntu under VMWare, but
it needs to be tested on other Linux platforms.
clientgui/
BOINCClientManager.cpp, .h
win_build/
boincmgr.vcproj
Charlie 5 June 2009
- lib: Fix FILE_LOCK::unlock() to reset fd to -1 so FILE_LOCK works
correctly with repeated calls.
lib/
filesys.cpp
Charlie 8 June 2009
- lib: Fix compiler error on Windows.
lib/
filesys.cpp
David 8 June 2009
- GUI RPC: include hostid in PROJECT
- web: include timed-out and "client detached" results in error category
html/inc/
result.inc
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 8 June 2009
- Manager: show host ID in project properties
clientgui/
DltItemProperties.cpp
Charlie 8 June 2009
- Mac MGR: In Async RPC logic, use posix mutexes and conditions instead
of wxWidgets implementations on the Mac, as this appears to fix an
intermittent hang in wxCondition::Wait().
clientgui/
AsyncRPC.cpp, .h
MainDocument.cpp. .h
Rom 9 June 2009
- DIAG: Policy change: Only include the BOINC symbol store for BOINC
binaries. The old policy was kept around as a backwards compatibility
thing before a new flag was added to the diagnostics to identify
project applications.
lib/
stackwalker_win.cpp
Charlie 9 June 2009
- lib: FILE_LOCK::lock() makes lockfile group-writable so both client and
manager can create and write it under sandbox security.
lib/
filesys.cpp
Charlie 10 June 2009
- Mac screensaver: Add support for ProgressThruProcessors (PTP) branding.
- Mac PTP Installer: Add support for ProgressThruProcessors (PTP) installer.
clientscr/
mac_saver_module.cpp
mac_installer/
PostInstall.cpp
uninstall.cpp
David 10 June 2009
- file deleter: detect cases where the upload/download dir doesn't exist,
and treat it as a recoverable error (i.e., retry).
The file deleter may run on a host that NSF-mounts
the upload/download dirs, and NSF mounts can file.
- scheduler: include WU#ID in log msgs for handled results
sched/
file_deleter.cpp
sched_config.cpp
sched_result.cpp
David 10 June 2009
- web: allow projects to account email addresses in certain domains.
Add the following to html/project/project.inc:
$banned_email_domains = array(
"foo.bar",
"blah"
);
Email addresses ending with any of those strings will be disallowed.
- Web RPCs: have am_set_info.php and create_account.php
do the same checking for email addresses (invalid, banned)
as the other web code
html/
inc/
user.inc
user/
am_set_info.php
create_account.php
edit_email_form.php
edit_email_action.php
David 10 June 2009
- update_versions: add --sign and --force options to enable automation
(from Jeremy Cowles)
tools/
update_versions
David 10 June 2009
- make_project and upgrade: add --srcdir option so you
can run these commands from any directory
(mostly from Gabor Gombas; added a fix for svnversion)
configure.ac
py/Boinc/
boinc_path_config.py.in
database.py
setup_project.py
test/
testbase.py
tools/
make_project
upgrade
David 10 June 2009
- web: don't show user ID next to posts
- web: fix [pre] bbcode
html/
inc/
text_transform.inc
forum.inc
user/
show_coproc.cpp
main.css
Charlie 10 June 2009
- MGR: use branded Manager name in async RPC Please Wait dialog.
clientgui/
AsyncRPC.cpp
Charlie 10 June 2009
- Mac screensaver: Change "ProgressThruProcessors" to "Progress Thru Processors".
- Mac PTP Installer: Change "ProgressThruProcessors" to
"Progress Thru Processors"
New script to convert BOINC installer to Progress Thru Processors installer.
clientscr/
mac_saver_module.cpp
mac_installer/
make_ProgThruProc.sh (added)
PostInstall.cpp
uninstall.cpp
Charlie 11 June 2009
Mac: Fix script to properly handle UTF-16 encoded InfoPlist.strings files.
Mac: Update copyright date in InfoPlist.strings files to 2009.
clientgui/
mac/
SetVersion.cpp
mac_installer/
make_ProgThruProc.sh
David 11 June 2009
- server: move python modules from PROJECT/bin to PROJECT/py/Boinc.
make_project now generates PROJECT/bin/boinc_path_config.py
to ensure that the interpreter will find the modules.
From Gabor Gombas.
py/Boinc/
setup_project.py
sched/
start
testasm.py
assimilator.py
tools/
parse_config
xadd
update_versions
David 11 June 2009
- server: Use distutils for installing the python modules,
and move files not part of the BOINC package from py/Boinc to py/
From Gabor Gombas.
configure.ac
py/
Makefile.am
boinc_path_config.py.in (moved here)
db_def_to_py (moved here)
David 11 June 2009
- server: make the python code honor BOINC_PROJECT_PATH.
It is now possible to use the same set of tools for multiple
projects by setting BOINC_PROJECT_PATH.
From Gabor Gombas.
py/Boinc/
boinc_project_path.py
tools/
parse_config
update_versions
sched/
start
assimilator.py
David 11 June 2009
- server: 'start' now looks for programs to execute in $PATH,
so the same set of binaries can be used to handle multiple projects.
<projectroot>/bin is always prepended to $PATH
to ensure that project-specific binaries always take precedence.
From Gabor Gombas.
sched/
start
David 11 June 2009
- server: Tools that should run by hand are installed under $(bindir).
Daemons that are managed by 'start' go to $(libexecdir)/sched.
The (F)CGI stuff goes to $(libexecdir)/cgi-bin.
Finally, example applications go under $(libexecdir)/examples.
apps/
Makefile.am
sched/
Makefile.am
tools/
Makefile.am
Rom 11 June 2009
PTP: Introduce 'Progress Thru Processors' to the Windows build
environment. Use GridRepublic skin until the new one is available.
client/win/
boinc_cli.rc
boinc_cmd.rc
client/win/res/
progress.ico (Added)
clientctrl/
boincsvcctrl.rc
clientgui/
BOINCGUIApp.rc
clientgui/res/
progress.ico (Added)
clientgui/skins/Progress Thru Processors
<Various Files>
clientlib/win/
boinc_dll.rc
clientscr/
boinc_ss.rc
clientscr/res/
boinc.jpg (Deleted)
clientscr/res/
progress.bmp (Added)
progress.ico (Added)
Scricon3.ico (Deleted)
clienttray/
boinc_tray.rc
win_build/
Progress.sln
ptp_boinc_cli.vcproj
ptp_boinc_dll.vcproj
ptp_boinc_ss.vcproj
ptp_boinccmd.vcproj
ptp_boincmgr.vcproj
ptp_boincsvcctrl.vcproj
ptp_boinctray.vcproj
Rom 11 June 2009
PTP: Add the 'Progress Thru Processors' screensaver to the
source tree.
clientscr/progress
<Added Various Files>
David 11 June 2009
- server: suppress verbosity of update_translations
in make_project and upgrade
html/ops/
update_translations.php
tools/
make_project
upgrade
Rom 11 June 2009
- SCR: Update default values per BOINC defaults.
- PTP: Add files needed by the installer(s).
clientscr/progress/
<Added and Deleted various files>
clientscr/
screensaver.h
win_build/installerv2/
Progress.ism
Progressx64.ism
win_build/installerv2/redist/0409/
ptp-eula.rtf
win_build/installerv2/redist/Progress/
acct_mgr_url.xml
progress.ico
ss_config.xml
Charlie 11 June 2009
- Mac MGR: strip /n from command field of PROCINFO struct so <exclusive_app>
log flag works properly on Mac.
- MGR: Change CBOINCClientManager::KillClient() to get client pid from
procinfo_setup() on all non-Windows platforms.
- SCR: restore boinc.jpg file erroneously removed from SVN.
clientgui/
BOINCClientManager.cpp
clientscr/
res/
boinc.jpg (restored)
lib/
procinfo_mac.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 11 June 2009
- server: improve the Python assimilator framework;
add an assimilator for PyMW (Python master/worker);
remove old C++ PyMW assimilator
(from Jeremy Cowles)
sched/
Makefile.am
assimilator.py
pymw_assimilator.py
testasm.py
David 11 June 2009
- web: country flags
html/inc/
countries.inc
forum.inc
Charlie 12 June 2009
Mac Sandbox: check_security() writes path of bad file to stderr for some
error codes.
client/
check_security.cpp
clientgui/
BOINCGUIApp.cpp
Rom 12 June 2009
- WINSETUP: Change the install validation code so that it reads the MSI
database to determine what executable names to check instead of
hard coding them. BOINCMGR is renamed to Progress Thru Process or
in the case of GridRepublic it would be GridRepublic Desktop.
win_build/installerv2/
Progress.ism
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.cpp, .h
CAValidateInstall.cpp
CAVerifyInstallDirectories.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 12 June 2009
- web: fix up country flags a little
html/
inc/
forum.inc
countries.inc
user/
main.css
Rom 12 June 2009
- PTPSCR: Updates from Carl
clientscr/progress/win/x86/
boincscr.exe
gradient.jpg
Rom 12 June 2009
- MGR: Introduce the notion of a Return URL to the attach to
account manager wizard. When successfully attached the
account manager can have the manager launch a browser to
a given URL by way of a cookie. It only works if the logon
credentials were also given to the manager by way of a cookie.
clientgui/
AccountInfoPage.cpp
AccountManagerProcessingPage.cpp
browser.cpp, .h
CompletionPage.cpp
WizardAttachProject.cpp, .h
Rom 12 June 2009
- MGR: Introduce the cookie detection failure URL to the
acct_mgr_logon.xml file. If the cookies cannot be found provide
a hyperlink control on the AcctountInfo page in the wizard
which will point to a fallback URL the user can go to to
find out what logon credentials to use.
client/
acct_mgr.cpp, .h
gui_rpc_server_ops.cpp
clientgui/
AccountInfoPage.cpp, .h
BOINCWizards.h
WizardAttachProject.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 12 June 2009
- server: backed out recent changes to "start"; they broke something
sched/
start
Rom 12 June 2009
- MGR: The ReturnURL cookie is optional, not required.
clientgui/
browser.cpp
Charlie 12 June 2009
- MGR: update Wizard text to fit in dialog on Mac and to be more general.
- Sandbox: Fix permissions for branded screensaver coordinators.
- Mac Installer: check that brandID is valid.
- Mac Uninstaller: don't delete BOINC Data directory or users' Manager
settings. Check in Rez source for uninstaller resources instead of
resource file, to make it easier to modify on newer versions of XCode.
client/
check_security.cpp
clientgui/
AccountInfoPage.cpp
mac/
SetupSecurity.cpp
mac_installer/
PostInstall.cpp
uninstall.cpp
Uninstaller.rsrc
Uninstaller.r (added)
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 13 June 2009
- MGR: Wizard retries acct_mgr_rpc() if acct_mgr_rpc_poll() sets ERR_RETRY.
clientgui/
AccountManagerProcessingPage.cpp
Rom 13 June 2009
- MGR: Fix browser cookie detection on Windows machines where UAC is turned
on. It appears it has never worked, and I imagine it would effect
70% of our Windows Vista and Windows 7 user base.
clientgui/
browser.cpp
lib/
miofile.cpp, .h
Rom 13 June 2009
- MGR: Expand on Charlie's last checkin to include the rest of the polling
RPCs in the wizard. The polling RPCs would return ERR_RETRY when
the CC was in the middle of some other GUI_HTTP op (version check,
project list download).
clientgui/
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
ProjectProcessingPage.cpp
ProjectPropertiesPage.cpp
Charlie 14 June 2009
- MGR: When automatically running Synchronize AM Wizard ar Manager launch,
hide the main window only if it was not previously shown.
- Mac Installer: check in a copy of GR / PTP signing key with UNIX / Mac
line endings.
clientgui/
AdvancedFrame.cpp
mac_installer/
Progress/
acct_mgr_url.xml (added)
Rom 14 June 2009
- INSTALL: Make sure both installers have the cookie required flag so that
the correct information is displayed on the AccountInfo page in the
Wizard, if and when a browsers cookie could not be detected.
mac_installer/Progress/
acct_mgr_url.xml
win_build/installerv2/redist/progress/
acct_mgr_url.xml
David 14 June 2009
- web RPC: tweak to forum_get_data.php
html/user/
forum_get_data.php
Charlie 15 June 2009
- MGR: If LOCKFILE doesn't already exist, core client isn't running so skip
further testing. This avoids a very rare possible race condition and is
more efficient.
clientgui/
BOINCClientManager.cpp
David 15 June 2009
- python scripts: fix bugs, restore latest version of "start"
sched/
start
py/Boinc/
boinc_project_path.py
David 15 June 2009
- wrapper: fix bug in passing wrapper's args to subjobs
samples/wrapper/
wrapper.cpp
David 16 June 2009
- web: change "CPU time" to "run time"
html/inc/
result.inc
David 16 June 2009
- client: don't require that file upload URLs contain "file_upload_handler".
client/
client_types.cpp,h
David 16 June 2009
- don't include config.h from network.h (Gabor Gombas)
client/
gui_rpc_server.cpp
m4/
boinc_getsockopt.m4
lib/
network.cpp,h
David 16 June 2009
- don't include config.h from parse.h
- manager: compile fix
clientgui/
BOINCClientManager.cpp
lib/
parse.h
util.cpp
David 16 June 2009
- build system: don't install config.h
Makefile.am
lib/
Makefile.am
David 16 June 2009
- python assimilator fix
sched/
assimilator.py
David 16 June 2009
- client: prepend rather than append to LD_LIBRARY_PATH;
on Mac, change DYLIB_LIBRARY_PATH also.
client/
app_start.cpp
Charlie 16 June 2009
- MGR: Compile fix of Rom's fix to David's compile fix.
clientgui/
BOINCClientManager.cpp
David 16 June 2009
- lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
config.h is included here rather than in str_util.h
lib/
str_replace.h (new)
... and a lot of .cpp's
David 16 June 2009
- pymw assimilator fixes from Jeremy
sched/
pymw_assimilator.py
David 16 June 2009
- compile fixes for Linux
client/
gui_rpc_server.cpp
lib/
network.h
Charlie 16 June 2009
- MGR: Fix Mac compile error in addition of DYLIB_LIBRARY_PATH.
- MGR: Fix several Mac build breaks due to addition of str_replace.h
(had to add ../lib to search paths of several targets.)
client/
app_start.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 17 June 2009
- SS: remove unused func
clientscr/
ss_app.cpp
Rom 18 June 2009
- MGR: Fix browser cookie lookup bug I introduced when I added
support for looking up cookies in Internet Explorer low rights
environments. InternetGetCookie expects the hostname and
domainname to be presented as URLs.
clientgui/
browser.cpp
Rom 18 June 2009
- MGR: Fix the case where user visits Grid Republic with IE 7 and
has a space character in their username. IE6 and below kept
the space as part of the filename, IE7 and above replace the
space with an underscore.
clientgui/
browser.cpp
David 18 June 2009
- setup script: remove old pymw stuff
py/Boinc/
setup_project.py
Rom 19 June 2009
- MGR: Massive wizard cleanup
- Remove diagnostic framework, it wasn't being used anymore
and basically cluttered things up.
- Remove the notion of the Account Manager Remove wizard,
it hasn't ever been used.
- Simplify the welcome page
- Trim down the height of the wizard by hiding the new
cookie controls on the Account Info page. The wizard
needs to stay compatible with small displays.
- MGR: Only display the 'This is not a BOINC project' on an
HTTP 404 error. For a gethostbyname, xml parsing, and
socket connect error display the 'project is temporarly
unavailable'.
clientgui/
AccountInfoPage.cpp
AccountManagerInfoPage.cpp
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
BOINCBaseWizard.cpp, .h
BOINCWizards.h
CompletionPage.cpp
ProjectInfoPage.cpp
ProjectListCtrl.cpp
ProjectProcessingPage.cpp
ProjectPropertiesPage.cpp, .h
UnavailablePage.cpp
WelcomePage.cpp, .h
WizardAttachProject.cpp
Rom 19 June 2009
- MGR: Fix a long standing bug where the project list control
for the account manager info page and the project info page
was not consuming available screen space. Previously
we hacked around it by setting an explicit size.
Note: this works on Windows, I don't yet know about Mac and
Linux.
clientgui/
AccountManagerInfoPage.cpp, .h
ProjectInfoPage.cpp
ProjectListCtrl.cpp, .h
Charlie 19 June 2009
- MGR: Fix fatal error which caused crash in Account Manager Wizard.
- Mac Installer: Fix bugs in scripts for converting BOINC installer to
Progress Thru Processors installer and to GridRepublic installer.
clientgui/
AccountManagerInfoPage.cpp
mac_installer/
make_GridRepublic.sh
make_ProgThruProc.sh
Rom 19 June 2009
- MGR: Make the Account Manager Properties page and the Project
Properties page the start for all automated wizard processes
so that we can successfully handle the need to check for
proxy servers. When directly advancing to the Processing
pages the proxy server checks were being skipped.
- MGR: Add some more smarts to the terms of use page which should
advance to the processing pages and skip the Account Info
page when the desired credentials are already known.
clientgui/
AccountInfoPage.cpp
AccountManagerPropertiesPage.cpp, .h
ProjectPropertiesPage.cpp, .h
TermsOfUsePage.cpp, .h
WelcomePage.cpp
WizardAttachProject.cpp
David 19 June 2009
- install: don't install std_fixes.h or msg_queue.cpp
- remove some unused code
- scheduler: small code cleanup
lib/
Makefile.am
network.u
util.h
sched/
sched_send.cpp
Rom 19 June 2009
- WINSETUP: Provide a mechinism in the installer where the installer
can override the previous stored state from a previous installation.
NOTE: Needed becuase PTP isn't going to be supporting 'Application
execution mode', at least not with the initial installer.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CARestoreSetupState.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 19 June 2009
- scheduler: fix <max_wus_in_progress> code
sched/
sched_send.cpp
Rom 19 June 2009
- MGR: Keep the wizard state mahine from prematurly moving on without
checking network connectivity and whether credentials have been
detected.
clientgui/
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp
Rom 19 June 2009
- Mac Install: Fix an off by one error reported during a security audit
mac_install/
CustomInstall.cpp
David 22 June 2009
- Mac install: fix things a better way
- install: don't install internal .h files
- scheduler: fix spurious "reached limit of 0 GPU tasks" message,
slight code cleanup
lib/
Makefile.am
mac_installer/
CustomInstall.cpp
sched/
sched_send.cpp
sched_plan.cpp
server_types.cpp
David 22 June 2009
- make_project/upgrade: install pymw assimilator
- make pymw_assimilator.py executable
py/Boinc/
setup_projects.py
sched/
pymw_assimilator.py (set svn:executable)
Rom 23 June 2009
- MGR: First stab at making the ProjectList control keyboard
navigatable. Tab order isn't quite right yet for the
Project Info page or the Account Manager Info page, but
that'll be another commit. refs #442
clientgui/
AccountManagerInfoPage.cpp, .h
ProjectInfoPage.cpp, .h
ProjectListCtrl.cpp, .h
David 23 June 2009
- web: add buttons for BBCode editing.
From John Hallissey
html/
inc/
bbcode_bbdodehtml.inc
pm.inc
util.inc
user/
bbcode_toolbar.js
forum_edit.php
forum_post.php
forum_reply.php
David 23 June 2009
- web: code cleanup
Jeff 23 June 2009
Added table state_counts. This will allow application programs
that make decisions based on the count of WUs or results by state
to do so by querying this very small table rather than by doing
expensive count queries on the WU and result tables.
Of course some other program will have to do the count queries
periodically in order to update the state_counts table. But,
depending on the application, this can result in fewer such queries
overall. The motivation for this change was the speed up of SETI@Home
work generation.
db/
boinc_db.cpp
boinc_db.h
schema.sql
html/
ops/
db_update.php
Rom 23 June 2009
- MGR: Remove event handlers for wxEVT_SET_FOCUS and wxEVT_KILL_FOCUS,
we are no longer removing the highlight on a project unless
a new project is selected. This continues to show that a certain
project is still selected even when you switch to the ProjectURL
control. Anyways, the Mac doesn't like the focus events.
clientgui/
ProjectListCtrl.cpp, .h
Charlie 23 June 2009
- PTP: check in new PTP Mac icons and images.
clientgui/
mac/
ProgThruProg.tiff
res/
ProgThruProc.icns
PTP_install.icns
PTP_uninstall.icns
clientscr/
res/
ProgThruProc_ss_logo.png
David 26 June 2009
- client: when suspending a GPU job,
always remove it from memory, even if it hasn't checkpointed.
Otherwise we'll typically run another GPU job right away,
and it will bomb out or revert to CPU mode because it
can't allocate video RAM
client/
app.cpp
Charlie 27 June 2009
Mac: Fix missing file name characters in script to make PTP installer.
mac_installer/
make_ProgThruProc.sh
David 27 June 2009
- fix typo in schema
db/
schema.sql
Rom 29 June 2009
- MGR: My first attempt to handle the project list control was turning
into a mess and becoming very complicated, as my former mentor used
to say "if you are having to try too hard, you are doing it wrong."
Reimplement the project list control as a wxHtmlListBox which handles
keyboard navigation correctly and allows us to have variable height
list items. Another perk is the ability to detect when different
HTML elements are clicked on which might be useful for anonymous
attach at some point in time in the future.
clientgui/
AccountManagerInfoPage.cpp
AdvancedFrame.cpp
BOINCGUIApp.cpp
BOINCWizards.h
ProjectInfoPage.cpp
ProjectListCtrl.cpp, .h
stdwx.h
Rom 29 June 2009
- WINSETUP: Add the PTP executable to the list of processes to terminate
when setup is launched.
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CAShutdownBOINCManager.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
Charlie 29 June 2009
- Mac Uninstaller: add blank lines between items user should delete;
fix cosmetic bug.
mac_installer/
uninstall.cpp
Charlie 29 June 2009
- MGR: fix compile breaks on non_Windows systems.
NOTE: wxUSE_ACCESSIBILITY is defined as 0 on the Mac, use
"#if wxUSE_ACCESSIBILITY", not "#ifdef wxUSE_ACCESSIBILITY".
clientgui/
ProjectListCtrl.cpp, .h
Rytis 30 June 2009
- Sched: config option not to store stderr_out if exit_status==0 (to
save on DB size). With help from Nicolas Alvarez.
sched/
sched_config.cpp
sched_config.h
sched_result.cpp
Rom 30 June 2009
- MGR: Remove project list randomization, sort on name.
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 30 June 2009
- client: record the time results are received.
Process non-EDF GPU jobs in this order.
client/
client_types.cpp,h
cpu_sched.cpp
cs_scheduler.cpp
clientgui/
DltItemProperties.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Rom 30 June 2009
- MGR: Previous sorting method wasn't working, use a sort
function pointer instead.
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
David 30 June 2009
- manager: if a project is down, say that instead of unknown error msg
Programming style notes:
1)
x = y;
instead of
if (y) {
x = true;
} else {
x = false;
}
2) use a descriptive name instead, not bSuccessfulCondition.
Variables are free.
clientgui/
ProjectPropertiesPage.cpp
UnavailablePage.cpp
David 1 July 2009
- API: add boinc_elapsed_time() to get elapsed time since start of episode;
add APP_INIT_DATA::starting_elapsed_time to get
elapsed time from previous episodes
api/
boinc_api.cpp,h
client/
app.cpp,h
app_control.cpp
app_start.cpp
lib/
app_ipc.cpp,h
David 1 July 2009
- PyMW assimilator fixes from Jeremy
sched/
pymw_assimilator.py
David 6 July 2009
- fix client simulator
- web: if DB server down, say so
client/
sim_util.cpp
html/inc/
boinc_db.inc
Charlie 7 July 2009
- Mac Installer: use escaped form of branded screensaver name when needed.
mac_installer/
PostInstall.cpp
David 7 July 2009
- GUI RPC: add get_message_seqno() RPC. fixes #931
client/
work_fetch.cpp
boinc_cmd.cpp
gui_rpc_server_ops.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Charlie 8 July 2009
- Mac Installer: If BOINC screensaver is not set for every user, set it
for all users after getting approval from installing user.
- Mac Installer: fix bug in scripts to create branded installers.
mac_installer/
make_GridRepublic.sh
make_ProgThruProc.sh
PostInstall.cpp
GR-ReadMe.rtf
PTP-ReadMe.rtf (added)
ReadMe.rtf
David 9 July 2009
- client: error if a <file_info> in app_info.xml has any URLs
- client: don't write file_infos with no URLs to client_state.xml
for anon platform project; they must be from app_info.xml
client/
cs_statefile.cpp
sched/
assimilate_handler.h
David 10 July 2009
- client: restored code for project-wide backoff on file
uploads and downloads.
I originally added this on 30 Sept 2005
and disabled it 2 weeks later because there were reports of problems.
However, we need this functionality
(e.g. on GPU hosts with hundreds of files to upload,
we need to back off after a few failures, not try all of them).
I added messages (<file_xfer_debug>) so you can see what's going on.
Fixes #932.
client/
client_types.cpp,h
pers_file_xfer.cpp
David 10 July 2009
- client: if malloc fails in MFILE writes, exit.
We don't check the return values of printf() anywhere,
and it's dangerous for the client to continue if it
thinks something got written that didn't.
Fixes #281
lib/
mfile.cpp
Eric K 14 July 2009
- libraries: Moved crypt.o out of libboinc and into libboinc_crypt.
Applications that need crypt.o will need to explicitly link
libboinc_crypt.
client/
Makefile.am
lib/
Makefile.am
Makefile.incl
Rom 15 July 2009
- client: Remove backwards compatible CPU feature detection code
since we no longer support Win9x
client/
hostinfo_win.cpp
Rom 15 July 2009
- clientlib: Remove backwards compatible mouse and keyboard activity
detection code since we no longer support Win9x
clientlib/win/
boinc_dll.cpp
IdleTracker.cpp
stdafx.h
David 16 July 2009
- client: code cleanup for project-level file xfer backoff
client/
client_types.cpp,h
client_state.cpp
gui_rpc_server_ops.cpp
pers_file_xfer.cpp
David 16 July 2009
- client/manager/GUI RPC: show project-level backoffs
clientgui/
DlgItemProperties.cpp
client/
client_types.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
David 16 July 2009
- client: changed file upload logic
Old: each upload attempt consists of two HTTP requests:
the 1st to get the current file size on server,
the 2nd to upload the remainder of the file.
Problem:
a) if the upload server is overloaded and requests
are succeeding with probability X,
then the chance of both requests succeeding is X^2.
So e.g. a per-request success rate of 0.1
becomes an overall success rate of 0.01.
b) the "get file size" request can be avoided in some cases.
New:
If we've already queried the file size
and haven't uploaded any additional bytes,
don't query the file size again.
client/
pers_file_xfer.cpp
David 16 July 2009
- client: if file < 8KB, upload it in its entirety and skip size check
- client: (refinement to previous checkin)
don't skip file size check if file has multiple upload URLs.
We might have uploaded different amounts on different servers.
client/
client_types.cpp
file_xfer.cpp,h
pers_file_xfer.cpp
David 16 July 2009
- client: change the way a resource's "estimated delay"
(passed to server for crude deadline check) is computed.
Old: estimated delay is the interval for which the resource
is fully used (i.e., all instances busy).
Problem: this may cause unnecessary project starvation.
example: 1 CPU machine, has a month-long CPDN job
with a 1-year deadline (it's not in deadline trouble).
Then the CPU estimated delay will be 1 month,
and the client won't get any work from projects
with deadlines shorter than 1 month.
New: estimated delay is the latest time at which the
resource is fully used and is being used by at least 1 job
that is projected to miss its deadline under RR.
Note: this isn't precise, but I don't think we can improve it
much without getting a lot more complex.
client/
rr_sim.cpp
work_fetch.cpp,h
Rom 17 July 2009
- Remove boinc_zip(InfoZip) from the main BOINC tree
- Remove boinc_zip from the build system
/
configure.ac
Makefile.am
David 17 July 2009
- client: 2nd try on my last checkin.
We need to estimate 2 different delays for each resource type:
1) "saturated time": the time the resource will be fully utilized
(new name for the old "estimated delay").
This is used to compute work requests.
2) "busy time": the time a new job would have to wait
to start using this resource.
This is passed to the scheduler and used for a crude deadline check.
Note: this is ill-defined; a single number doesn't suffice.
But as a very rough estimate, I'll use the sum of
(J.duration * J.ninstances)/ninstances
over all jobs that miss their deadline under RR sim.
client/
work_fetch.cpp,h
rr_sim.cpp
cs_scheduler.cpp
David 20 July 2009
- lib: gcc 4.4 fix; fixes #854
lib/
str_replace.h
David 22 July 2009
- client: add a bunch of debugging messages (<task_debug>)
for showing how GPU instances are being reserved
- scheduler: add "sse3" plan class example
- web: add option (NO_TEAMS constant) for suppressing teams
client/
app_start.cpp
hostinfo_network.cpp
sched/
sched_plan.cpp,h
html/inc/
user.inc
lib/
coproc.cpp
str_util.h
David 22 July 2009
- client: define "too many uploads" (for work fetch) as
2 * max(ncpus, ngpus);
show this in the state displayed by <work_fetch_debug>
- manager: show project-wide backoff in transfers tab
client/
client_types.h
work_fetch.cpp
clientgui/
ViewTransfers.cpp
Rom 23 July 2009
- client: Remove some more Win9x code.
- client: Add some messages while handling Windows power events.
client/
main.cpp
Rom 23 July 2009
- client: Treat power events similiar to the snooze events, assign
a timeout so that when we resume from suspend/hibernate we
restore the previous activity states.
client/
main.cpp
Rom 23 July 2009
- WINSETUP: Prevent a pathing problem with the client_auth.xml
creation by prepending a \ in front of the filename.
winbuild/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CACreateClientAuthFile.cpp
winbuild/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
winbuild/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
David 23 July 2009
- manager: fix typos in attach project wizard
clientgui/
ProjectProcessingPage.cpp
David 24 July 2009
- client: in get_project_config_poll() GUI RPC,
return ERR_IN_PROGRESS is the reference site check is in progress.
This hopefully fixes a bug where:
- the user is connected via a proxy
- the manager is run for the first time, and an attach is tried
- the get_project_config.php fetch fails because no proxy config
- the manager gets the CC_STATUS before the ref site check has
finished, so it thinks there's a network connection,
and it doesn't ask the user for proxy info
client/
gui_rpc_server_ops.cpp
net_stats.cpp,h
clientgui/
ProjectPropertiesPage.cpp
html/
inc/
util.inc
user/
login_action.php
Rom 24 July 2009
- lib: more code cleanup
lib/
win_util.cpp, .h
Rom 24 July 2009
- lib: revert previous commit, things in lib end up being linked
into project applications, projects may want to continue
supporting Win9x.
lib/
win_util.cpp, .h
Rom 24 July 2009
- WINSCR: Remove Win9x compatibility code from the screen saver.
clientscr/
screensaver.cpp
screensaver_win.cpp
screensaver_win.h
Rom 25 July 2009
- MGR: Use the BOINC Service Control utility (boincsvcctrl.exe) to
start/stop the BOINC Service on Windows now. Starting with
Windows Vista a normal admin account is started with a
restricted token, meaning that a process has to be elevated
in order to start and stop services. The recommended way to
handle this whole process is to create a stub application that
has an application manifest embedded within it that tells
Windows that full admin rights are required and then launch
that program (boincsvcctrl.exe) from the application
(boincmgr.exe) which normally runs with the restricted token.
clientctrl/
boincsvcctrl.cpp
clientlib/win/
Service.cpp
Rom 25 July 2009
- MGR: Be sure to launch the default screensaver in test mode
when the manager is starting up, otherwise the default
screensaver might lock up waiting on user input to approve
firewall updates to the rule set.
clientgui/
BOINCGUIApp.cpp, .h
sg_BoincSimpleGUI.cpp
Rom 25 July 2009
- MGR: Refine yesterdays checkin with support for the BOINC
Service Control utility, use ShellExecuteEx instead of
CreateProcess. CreateProcess doesn't have the ability
to elevate processes.
clientlib/win/
Service.cpp
Rom 25 July 2009
- MGR: Refine todays checkin with support for the BOINC
Service Control utility, don't use the runas verb on systems
older than Vista.
clientlib/win/
Service.cpp
David 27 July 2009
- client: fix crashing bug introduced in [18605]
client/
pers_file_xfer.cpp
Eric K 27 July 2009
- server: fix for build of fcgi_file_upload_handler
lib/
crypt.h
sched/
file_upload_handler.cpp
Rom 27 July 2009
- client: Remove Win9x compatibility code from memory detection
routine.
client/
hostinfo_win.cpp
Rom 27 July 2009
- MGR: Special case ERR_GETHOSTBYNAME errors in the wizard, majority
case for DNS failures suggest that the user might need a proxy
to be defined instead or this project is unavailable or this
account manager is unavailable.
clientgui/
AccountManagerPropertiesPage.cpp, .h
ProjectPropertiesPage.cpp, .h
Rom 27 July 2009
- client: There was already a way to check if the reference site
check was in progress, I missed it through my first pass
through the manager code while trying to debug the proxy problem
get_cc_config returns NETWORK_STATUS_LOOKUP_PENDING which
then causes the manager to call get_cc_status again.
client/
gui_rpc_server_ops.cpp
net_stats.cpp, .h
Rom 27 July 2009
- MGR: Don't make ERR_FILE_NOT_FOUND part of the requirements
to detect the need for a proxy server.
clientgui/
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp
Rom 28 July 2008
- MGR: Fix an endless loop during wizard creation, any automatic
true conditions in the GetNext() GetPrev() logic causes
the wizard to traverse the page and then look for the next
page.
clientgui/
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp
David 28 July 2009
- client (Linux): when launching apps, put a relative path
to the executable (../../projects/x/y) into argv[0],
not just the executable filename.
Apparently the new NVIDIA drivers have a bug that cause
CUDA apps to crash unless this is done.
- Scheduler: in no-host-ID case, don't mark results as "detached"
if request contains any in-progress results
client/
app_start.cpp
sched/
handle_request.cpp
David 28 July 2009
- client: if an HTTP op fails within 30 sec of client startup,
don't skip the reference site check.
Instead, defer the reference site check until 30 secs after startup.
Also, if during this interval (when the check has been requested
but not started) return net status as LOOKUP_PENDING
client/
net_stats.cpp
David 28 July 2009
- scheduler: improved messages for debug_send
sched/
sched_send.cpp
Rom 29 July 2009
- MGR: Re-enable the ability for the manager to detect a temporary
name failure vs needing a proxy server or something like that.
clientgui/
AccountManagerPropertiesPage.cpp, .h
ProjectPropertiesPage.cpp, .h
David 29 July 2009
- scheduler: Gianni requested a feature where jobs have a
"min # of GPU processors" attribute (stored in batch)
and are sent only to hosts whose GPUs have at least this #.
The logical place for this is in the scoring function, JOB::get_score().
I added a clause (#ifdef'd out) that does this.
It rejects the WU if #procs is too small,
otherwise it adds min/actual to the score.
This favors sending jobs that need lots of procs to GPUs that have them.
sched/
sched_score.cpp
server_types.h
David 29 July 2009
- scheduler: on second thought, it would be better to add the above
feature without requiring use of score-based scheduling.
So add a new customizable function, wu_is_infeasible_custom(),
where projects can put job-specific checks.
Also, move customizable functions (of which there are now 4)
to a new file, sched_customize.cpp.
sched/
Makefile.am
sched_customize.cpp,h
sched_version.cpp
sched_send.cpp
handle_request.cpp
David 29 July 2009
- client: to enumerate CUDA devices, use the functions in libcuda.so
(which ships with driver) rather than libcudart.so
(this eliminates the need to bundle libcudart.so with the client)
The functions are documented here:
http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/online/index.html
lib/
coproc.cpp
Rom 29 July 2009
- client: Initial swipe at automatic proxy server configuration
detection on Windows. Fixes #35
client/
cs_cmdline.cpp
http_curl.cpp
http_curl.h
lib/
boinc_win.h
proxy_info.cpp
proxy_info.h
util.cpp
win_util.h
David 30 July 2009
- scheduler: compile fixes
sched/
sched_customize.cpp
David 31 July 2009
- file upload handler: don't treat zero-length file as an error!
(This bug has been there since 28 Oct 2004)
- GUI RPC and manager: include project backoff in FILE_TRANSFER,
so that manager gets up-to-date value
clientgui/
ViewTransfers.cpp
client/
file_xfer.cpp
client_types.cpp
sched/
file_upload_handler.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Rom 2 Aug 2009
- client: refactor the CC startup process, move majority of the
windows code into sysmon_win.cpp, .h
client/
client_state.cpp, .h
cpp.h
http_curl.cpp
main.cpp, .h
net_stats.cpp
sysmon_win.cpp, .h
David 3 Aug 2009
- scheduler: add plan class for CUDA 2.3
sched/
sched_customize.cpp,h
sched_version.cpp
Charlie 3 Aug 2009
- client: fix compiler warning (too few args for print format)
- Mac: fix compile breaks
client/
app_start.cpp
main.cpp
clientgui/
mac/
config.h
Charlie 3 Aug 2009
- Mac client: client would crash if an older version (< 2.3) of CUDA
driver is installed because __cuDriverGetVersion does not exist,
so test for that and display a message if driver is out of date.
lib/
coproc.cpp
Charlie 7 Aug 2009
- client: More efficient implementation of active_only flag in
get_results RPC.
- MGR: Implement "Show active tasks / Show all tasks" button.
client/
cs_statefile.cpp
clientgui/
AsyncRPC.cpp, .h
Events.h
MainDocument.cpp, .h
ViewWork.cpp,.h
lib/
gui_rpc_client_ops.cpp
Rom 7 Aug 2009
- client: Second pass through the automatic proxy detection code.
During the first pass we learned that the whole process of
proxy detection on Win XP machines could take a few seconds
even with no proxies to be detected, now the proxy detection
code is executed in the same thread that is monitoring for
power change events.
client/
cs_cmdline.cpp
http_curl.cpp
http_curl.h
http_curl_win.h
net_stats.cpp
sysmon_win.cpp, .h
lib/
parse.cpp, .h
proxy_info.cpp, .h
Charlie 7 Aug 2009
- client fix crash bug introduced by changing PROXY_INFO strings
from char[] to std::string.
- client: fix compiler warnings "call will abort at run time."
- Sandbox: add a couple of casts for compiler warnings.
client/
app_start.cpp
check_security.cpp
client_state.cpp
http_curl.cpp
clientgui/
mac/
SetupSecurity.cpp
Charlie 7 Aug 2009
- MGR: Test two changes which might avoid a problem when the client
is heavily loaded (e.g, very many tasks), where the RPC Wait
dialog may appear continuously:
(1) Delay periodic RPCs for 1 second after the dialog closes.
(2) In functions to retrieve cached RPC data, don't do a demand
RPC just because the time since th last such RPC exceeds the
normal periodic RPC rates. We still force the RPC if the
this RPC has never been called since the Manager was launched
or if (for some RPCs) called with the bForce argument TRUE.
This change #2 can be removed by setting USE_CACHE_TIMEOUTS
to 0.
clientgui/
AsyncRPC.cpp
MainDocument.cpp, .h
David 9 Aug 2009
- validator: prepare for code cleanup
sched/
validate_util.cpp
validator.cpp
David 12 Aug 2009
- server code: moved everything related to credit-granting to credit.cpp,
where it can be used by trickle handlers as well as by validators.
sched/
credit.cpp,h
validate_util.cpp,h
validator.cpp
David 12 Aug 2009
- GUI RPC: fix memory leak in authorize()
lib/
gui_rpc_client.cpp
David 13 Aug 2009
- client (Unix): fix bug that caused GPU reservation to not work.
The problem: we were doing the reservation after the fork(),
so that the data structure it changed was the app's, not the client's.
client/
app_start.cpp
David 13 Aug 2009
- start: don't print "XML parse error" message if run_state file
doesn't exist (e.g. when start new project)
py/Boinc/
boincxml.py