David 1 Jan 2012
- remote job stuff
html/
inc/
sandbox.inc
user/
lammps.php
submit.php
Rom 1 Jan 2012
- OPS: Update failure_result_summary_by_platform.php to include
plan class information.
- OPS: Update error code translation table
html/inc
result.inc
html/ops
failure_result_summary_by_platform.php
David 2 Jan 2012
- ops: fix link in index page
html/
ops/
index.php
user/
sandbox.php
Rom 2 Jan 2012
- VBOX: If VirtualBox reports an error snag both the hypervisor system
log as well as the VM execution log. Maybe the hypervisor log
will tell us what is up with the virtual floppy device.
- VBOX: Don't retry commands that are expected to fail in normal use
cases. It slows down getting the VM up and running.
- VBOX: After starting the VM, use a timed loop waiting for the initial
VM state change instead of just waiting for 5 seconds. Older
machines can take longer than 5 seconds to switch from poweroff
to starting. If we hit the main poll loop in that state the wrapper
thinks we have crashed.
- VBOX: Strip carriage returns from all the vboxmanage output on
Windows.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
David 2 Jan 2012
- client: compute projects' disk share (based on resource share).
Report it (along with disk usage) in scheduler request messages.
This will allow the scheduler to send file-delete commands
if the project is using more than its share.
- client: add log flag
- create_work: add --help, show --command_line option
tools/
create_work.cpp
html/
inc/
util.inc
user/
sandbox.php
lib/
cc_config.cpp,h
client/
client_types.h
client_state.h
cs_prefs.cpp
cs_scheduler.cpp
cpu_sched.cpp
David 2 Jan 2012
- upgrade script:
- prompt user for DB user/passwd if DB updates needed
- error out immediately if any DB update fails
Fixes #1169, #1170
- create_work: check for duplicate s in input template
NOTE: the input template syntax is pretty clunky
tools/
process_input_template.cpp
html/
ops/
upgrade_db.php
inc/
util_ops.inc
Rom 2 Jan 2012
- VBOX: Fix crashing issue I introduced last night attempting to
extract the hypervisor system log.
- VBOX: Report the hypervisor system log with any failed vboxmanage
command that happens during the phase where we setup the VM.
samples/vboxwrapper/
vbox.cpp, .h
David 3 Jan 2012
- remote job submission: show input file links
- ops: fix message: app.min_version applies to HR app versions,
not client version
html/
ops/
manage_apps.php
user/
submit.php
sandbox.php
David 3 Jan 2012
- LAMMPS
html/user/
lammps.php
David 3 Jan 2012
- client: calculate disk share for zero-priority projects correctly
client/
cs_prefs.cpp
Rom 3 Jan 2012
- client: Remove scaling factor for AMD OpenCL devices. Latest
generation of drivers now report the correct memory size.
They didn't wait for the next OpenCL spec change.
client/
coproc_detect.cpp
Rom 3 Jan 2012
- VBOX: Per tester feedback, at an hourly status report to track
network usage.
- VBOX: For errors where an error code is specified in the output,
use that value when returning from vbm_open(). Make it easier
to track failure rates by problem type in the ops pages.
(Windows Only)
- VBOX: Try making the process of extracting the hypervisor system
log more robust, make a temp copy of it in the slot directory.
Avoid exclusive file lock issues since VboxSvc will still be
logging to it.
- VBOX: Change the session lock text to make it clearer that the
use of other VirtualBox management tools can cause a problem.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
Rom 3 Jan 2012
- VBOX: Restore the elapsed time from the checkpoint file instead of
aid.starting_elapsed_time. It appears some older client versions
are giving erratic results.
samples/vboxwrapper/
vboxwrapper.cpp
Rom 4 Jan 2012
- VBOX: Use strtol instead of atol to parse Vbox error codes from
stderr/stdout output.
- VBOX: Undo my reorg yesterday with regards to report_vm_pid and
report_net_usage.
- VBOX: Only report network usage in the status report if
aid.global_prefs.daily_xfer_limit_mb is non-zero
- VBOX: Add the VM log to the list of things reported on a start
failure. Hypervisor log suggests that it launched the VM but
it failed unexpectedly. So there might be cases where it
actually exists.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
Rom 4 Jan 2012
- VBOX: Move start state change detection code from run() function to
start() function and use similar code to handle stop as well.
Weird stuff happens when people start/stop BOINC quickly,
it looks as though the previous VM instance isn't shutdown before we
attempt to start it again. Hopefully enough of a wait is in there
for the VM to fully halt before the wrapper is terminated.
samples/vboxwrapper/
vbox.cpp
Rom 4 Jan 2012
- VBOX: Fix a crash bug if multiple virtual NICs are defined for a VM.
I'm not sure what the heck happened. It probably has something to
do with my \r removal code on Windows. Bugs hidden by other bugs
I suppose.
samples/vboxwrapper/
vbox.cpp
Rom 5 Jan 2012
- VBOX: Extract the various logs before attempting to cleanup if the
registration process fails.
samples/vboxwrapper/
vboxwrapper.cpp
David 5 Jan 2012
- GUI RPC: use new XML parser
lib/
gui_rpc_client_ops.cpp
Charlie 5 Jan 2012
- client: Restore scaling factor for AMD OpenCL devices on Macs with
OpenCL version < 1.2.
client/
coproc_detect.cpp
Charlie 6 Jan 2012
- Mac Installer: Changes for integrated BOINC+VirtualBox Mac installer.
clientgui/
mac/
SetVersion.cpp
mac_installer/
Description.plist
Installer.cpp
release_boinc.sh
Rom 6 Jan 2012
- MGR: Remove sash window divider between the task panel and list panel
in the advanced view. Retain the ability to dynamically adjust the
width of the task panel based on widest button.
- LIB: Use parse string instead of copy contents for messages RPC.
clientgui/
BOINCBaseView.cpp, .h
ViewNotices.cpp
ViewResources.cpp
ViewStatistics.cpp
lib/
gui_rpc_client_ops.cpp
Rom 6 Jan 2012
- VBOX: Use sscanf instead of strtol to convert a hex string.
- VBOX: Use new FloppyIO implementation that reports image
creation errors.
samples/vboxwrapper/
floppyio.cpp, .h
vbox.cpp
David 6 Jan 2012
- manager: parse message contents with XML_PARSER::element_content().
lib/
gui_rpc_client_ops.cpp
David 6 Jan 2012
- validator: for credit_from_runtime,
use result.flops_estimate rather than host.p_fpops;
otherwise it doesn't work for multicore apps.
TODO: cheat-proofing
sched/
validator.cpp
html/user/
forum_thread.php
Rom 6 Jan 2012
- MGR: Derive from the correct base class to make the sizers work
properly.
clientgui/
BOINCBaseView.cpp, .h
ViewNotices.cpp
ViewResources.cpp
Rom 7 Jan 2012
- VBOX: Sleep for the remainder of the polling period and not the
whole poll period.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp, .h
David 7 Jan 2012
- scheduler: change vbox_mt app plan function to use 1, 2 or 3 CPUs
depending on how many the host has,
and whether CPU VM extensions are present
(this reflects the requirements of CernVM).
db/
boinc_db.h
sched/
sched_types.h
sched_customize.cpp
validator.cpp
Rom 8 Jan 2012
- VBOX: Fix regression where the ERR_CPU_VM_EXTENSIONS_DISABLED error
message wasn't being written to stderr when the VM extensions
were disabled via the BIOS.
samples/vboxwrapper/
vboxwrapper.cpp
David 8 Jan 2012
- scheduler: change vbox_mt plan function to use at most 2 cores, not 3
(CERN doesn't actually need 3)
sched/
sched_customize.cpp
David 8 Jan 2012
- client: reset ACTIVE_TASK::bytes_sent and bytes_received
when the task is started or restarted
client/
app_start.cpp
Charlie 9 Jan 2012
- client: OpenCL 1.1 has no API for determining available GPU RAM, so if
CAL is not present for ATI / AMD GPU or if CUDA is not present for
NVIDIA GPU, set available GPU RAM equal to total GPU RAM.
client/
coproc_detect.cpp
Rom 9 Jan 2012
- VBOX: Fix one last regression related to failed start detection. If
only one CPU is allocated, manually disable VM hardware acceleration.
samples/vboxwrapper/
vbox.cpp
David 9 Jan 2012
- scheduler: the p_fpops value reported by clients can't be trusted.
Some credit cheats (e.g. with credit_by_runtime) can be done
by reporting a huge value.
Fix this by capping the value at 1.1 times the 95th percentile
of host.p_fpops, taken over active hosts.
db/
boinc_db.cpp,h
sched/
census.cpp
sched_types.cpp,h
sched_shmem.cpp,h
sched_util.cpp,h
sched_customize.cpp
feeder.cpp
sched_version.cpp
hr_info.cpp,h
Charlie 10 Jan 2012
- client: Fix idle detection for Apple Remote Desktop and screen sharing
(VNC) under Mac OS 10.7. See comments in HOST_INFO::users_idle() for
details.
client/
hostinfo_unix.cpp
David 10 Jan 2012
- first stab at improving Disk View colors
clientgui/
ViewResources.cpp
Charlie 11 Jan 2012
- Mgr: When launching Mac client as a daemon, allow time for it to start.
clientgui/
BOINCClientManager.cpp
David 11 Jan 2012
- vboxwrapper: add element to config file.
Specifies host port # for port forwarding.
If absent or zero, assign a port.
samples/vboxwrapper
vbox.cpp,h
floppyio.cpp,h
vboxwrapper.cpp
David 11 Jan 2012
- API: respect direct_process_action even if multi_process is set
api/
boinc_api.cpp
David 12 Jan 2012
- LAMMPS job submission: improve completion estimate
html/
inc/
boinc_db.inc
user/
lammps.php
Rom 12 Jan 2012
- VBOX: Enable remote desktop functionality for a VM that has
specified in its vbox_job.xml file.
NOTE: It does require the VirtualBox extension pack, but that
is freely available on the VirtualBox download page.
samples/vboxwrapper
vbox.cpp, .h
vboxwrapper.cpp, .h
Rom 12 Jan 2012
- VBOX: Report the remote desktop connection information to the
core client. Next commit will create an extra "VM Console"
button in the manager when detected. Volunteers will just have
to click the button to see what is going on with the VM.
api/
boinc_api.cpp, .h
samples/vboxwrapper
vbox.cpp, .h
vboxwrapper.cpp, .h
Rom 12 Jan 2012
- client: Add plumbing to support passing the remote desktop
connection information to the manager
- MGR: Add a "Show VM Console" button for those tasks which
report a remote desktop port number.
client/
app.cpp, .h
app_control.cpp
clientgui/
Events.h
MainDocument.cpp, .h
ViewWork.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
Rom 12 Jan 2012
- VBOX: Make sure the configured port numbers persist across
restarts of the client software. Remote desktop stopped
working if the client software was restarted.
samples/vboxwrapper
vboxwrapper.cpp
Charlie 13 Jan 2012
- client: Due to my changes of 10 Jan 2012, idle detection did not work
when BOINC was run as a pre-login daemon. So use the old method
when running as a daemon. This means that idle detection for Apple
Remote Desktop and screen sharing (VNC) under Mac OS 10.7 works only
when not running BOINC as a daemon.
client/
hostinfo_unix.cpp
Rom 13 Jan 2012
- VBOX: Cleanup a few messages stating port numbers in the stderr spew.
- VBOX: Send configuration settings in one message instead of piece meal.
api/
boinc_api.cpp, .h
samples/vboxwrapper
vboxwrapper.cpp
Rom 13 Jan 2012
- VBOX: It helps to remove the older send msg routines. Oooops.
samples/vboxwrapper
vboxwrapper.cpp
David 13 Jan 2012
- API: fix queueing problem for graphics-related messages
(web graphics URL and remote desktop addr)
- GUI RPC and API:
change "remote_desktop_connection" to "remote_desktop_addr" everywhere.
It's an address, not a connection.
- vboxwrapper: log message cleanup
api/
boinc_api.cpp,h
client/
app.cpp,h
app_control.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
app_ipc.cpp,h
samples/
vboxwrapper.cpp
Rom 13 Jan 2012
- MGR: Add RDP client support for Linux.
clientgui/
MainDocument.cpp
David 13 Jan 2012
- file deleter: improved logging; from Oliver
sched/
file_deleter.cpp
Rom 13 Jan 2012
- MGR: Launch the RDP client on Windows in full-screen mode to avoid
a bug where the screen doesn't refresh and keyboard/mouse events
don't manifest until you close down the client and restart it.
clientgui/
MainDocument.cpp
Charlie 13 Jan 2012
- MGR: Add RDP client support for the Mac. I have found no reliable way
to pass the IP address and port to Microsoft's Remote Desktop
Connection application for the Mac, so I'm using CoRD. Unfortunately,
CoRD does not seem to be as reliable as I would like either.
clientgui/
MainDocument.cpp
Rom 13 Jan 2012
NOTE: Some previously experimental features in the client software are
now important to have for the 7.0 release. The existing 7.0 branch
will no longer be maintained, we'll create a new branch for the 7.0
client line at a later date.
- Tag for 7.0.8 release, all platforms
boinc_core_release_7_0_8
/
configure.ac
version.h
David 13 Jan 2012
- The zip library was moved to a directory (project_depends)
outside of BOINC, but the build files weren't made to work.
Move the library back where it was before.
configure.ac
Makefile.am
zip/*
David 13 Jan 2012
- GUI RPC: add tag to the start of HTTP replies.
client/
gui_rpc_server_ops.cpp
David 14 Jan 2012
- client: identify ATI 97x0 GPUs (from Jord)
client/
coproc_detect.cpp
David 14 Jan 2012
- GUI RPC client: don't write spurious messages to stderr
lib/
gui_rpc_client_ops.cpp
Rom 14 Jan 2012
- VBOX: Fix regression where the vm_name wasn't reset back to the
current wu name after deregistering a stale VM.
samples/vboxwrapper
vbox.cpp, .h
vboxwrapper.cpp
Rom 15 Jan 2012
- VBOX: Add User ID and Host ID to the CERN data format.
samples/vboxwrapper
vboxwrapper.cpp
Rom 15 Jan 2012
- MGR: Use rdesktop-vrdp on Linux, it is included with VirtualBox
and meant for what we are trying to do.
- MGR: Remove the fullscreen flag on Windows. It might only be
my machine which has refresh problems when launching in
windowed mode.
clientgui/
MainDocument.cpp
David 15 Jan 2012
- optimize strip_whitespace(); from Steffen Moller
- storage simulator: generalize so you can use different
coding parameters at different levels
lib/
str_util.cpp
ssim/
ssim.cpp
David 15 Jan 2012
- storage simulator: compute fault tolerance correctly
ssim/
ssim.cpp
Charlie 16 Jan 2012
- client, lib: Improve available GPU RAM detection, include it in
display of GPU description.
client/
coproc_detect.cpp
lib/
coproc.cpp,.h
Charlie 16 Jan 2012
- client: Add logging message for insufficient GPU RAM details to
coproc_debug flag.
client/
cpu_sched.cpp
Rom 16 Jan 2012
- Tag for 7.0.9 release, all platforms
boinc_core_release_7_0_9
/
configure.ac
version.h
Charlie 17 Jan 2012
- Mac: In permissions error alert: show branded name; if permissions
error is in a subdirectory, show path to bad file or subdirectory.
client/
check_security.cpp
sandbox.h
clientgui/
BOINCGUIApp.cpp
mac_installer/
PosInstall.cpp
Charlie 17 Jan 2012
- client: Save all CUDA and CAL GPU info until done with OpenCL detection
so we have available GPU RAM for all OpenCL GPU descriptions.
client/
coproc_detect.cpp
Charlie 17 Jan 2012
- Tag for 7.0.10 release, all platforms
boinc_core_release_7_0_10
/
configure.ac
version.h
Rom 17 Jan 2012
- VBOX: Fix a regression I introduced on Saturday, is_vm_registered shouldn't
be called when vm_name is empty. Change it so that is references
vm_master_name instead to get the correct name of the VM.
- VBOX: Fix the logic that scan for the CR character and removes it. Also fix
the partial line inclusion when the various log files are greater than 16k.
string.erase returns what the iterator value should be.
samples/vboxwrapper
vbox.cpp
David 17 Jan 2012
- storage simulator work
- lib: recent checkin broke strip_whitespace(string&).
ssim/
ssim.cpp
plot
ssim.php
lib/
str_util.cpp
David 18 Jan 2012
- web: link between LAMMPS job submission page and file sandbox page
html/user/
lammps.php
sandbox.php
Charlie 18 Jan 2012
- client: add debugging aids to coproc_detect logic.
client/
coproc_detect.cpp
Charlie 18 Jan 2012
- Tag for 7.0.11 release, all platforms
boinc_core_release_7_0_11
/
configure.ac
version.h
Charlie 18 Jan 2012
- client: ATI available RAM is in bytes, not MB; if no CAL, don't divide
OpenCL global_mem_size by MEGA to fill in ATI available RAM.
(Checked in to 7.0.11 tag.)
client/
coproc_detect.cpp
Rom 18 Jan 2012
- VBOX: Fix another issue that was a result of Saturdays commit. Make
sure that the vm_name variable is populated with something useful if
resuming from a previous execution of the wrapper.
samples/vboxwrapper
vbox.cpp
David 18 Jan 2012
- WAP interface to credit info: return correct timestamp,
and don't bother with caching.
html/
inc/
wap.inc
user/
userw.php
Rom 18 Jan 2012
- VBOX: Use the documented way to reset the UUID of a virtual hard
disk. Thanks Daniel.
samples/vboxwrapper
vbox.cpp
David 18 Jan 2012
- Manager: in project web links, use "Home Page" instead of the
project name (which could be very long)
clientgui/
BOINCBaseView.cpp
David 19 Jan 2012
- client: parse HOST_INFO::p_vm_extensions_disabled correctly
lib/
hostinfo.cpp
proxy_info.cpp
gui_rpc_client_ops.cpp
coproc.cpp
version.h
ssim/
ssim.php
Charlie 19 Jan 2012
- Mac installer: If installing under OS 10.4, create users and groups
boinc_master and boinc_project at first available UserIDs and
GroupIDs starting at 25 instead of 501 to prevent problems with
Accounts pane of System Preferences.
clientgui/
mac/
SetupSecurity.cpp
David 19 Jan 2012
- storage simulator work
ssim/
ssim.cpp
ssim.php
Charlie 20 Jan 2012
- client: Show GPU number in "GPU is OpenCL-capable" message.
client/
client_state.cpp
Charlie 20 Jan 2012
- OpenCL:
Problem: Mac OpenCL does not recognize all NVIDIA GPUs returned
by CUDA. Since there is no CAL for Mac, this is not an issue
for ATI / AMD GPUs. On other platforms, the CUDA and CAL drivers
also provide OpenCL support, so we don't expect the problem there.
Solution: I believe that CUDA and OpenCL return identical GPU
model names for the same GPU, and that both return the GPUs in the
same order (but with some possibly omitted from the OpenCL sequence.)
We use that information to correlate the OpenCL data with CUDA data.
We use our internal CUDA device_num for the corresponding OpenCL
device, but add a new field opencl_device_index; the two fields are
equal unless we have CUDA devices not recognized by OpenCL. We
add a new array opencl_device_indexes[] to the COPROC struct,
corresponding to the entries in device_nums[].
The init_data.xml file now has a new field gpu_opencl_device_index.
If this field exists, the boinc_get_opencl_ids() API uses this to
find the cl_device_id and cl_platform_id, otherwise it continues
to use the value in gpu_device_num.
api/
boinc_opencl.cpp
client/
app_start.cpp
coproc_detect.cpp
lib/
app_ipc.cpp,.h
coproc.h
David 20 Jan 2012
- volunteer data archival stuff
ssim/
vda.cpp,h (new)
ssim.cpp
makefile
David 20 Jan 2012
- client: add a mechanism for restartable download of compressed files.
(It turns out that the compression schemes supported by
Apache and libcurl, suprisingly, aren't restartable.)
if a from the server contains tags,
use those instead of the tags,
and flag the file as "download_gzipped".
If this is the case, download NAME.gz and save it as NAME.gzt.
When the download is complete, rename NAME.gzt to NAME.gz,
and uncompress it to NAME.
(this ensures that if NAME.gz is present, it's complete).
Also do the uncompression, if needed, in verify_file().
This ensures that the uncompression will eventually get done
even if the client quits are crashes in the middle.
- update_versions: if is present in a ,
add a gzipped copy in the download directory
and add a elements to the app version's xml_doc.
client/
client_types.cpp,h
file_xfer.cpp
cs_files.cpp
tools/
update_versions
David 20 Jan 2012
- feeder: if we're rereading the DB because of trigger file,
do PERF_INFO::get_from_db() also.
From Teemu Mannermaa.
sched/
feeder.cpp
David 20 Jan 2012
- admin web: if change app or app version params,
advise user to stop/restart the project
html/ops/
manage_apps.php
manage_app_versions.php
Rom 21 Jan 2012
- VBOX: Enable the wrapper to handle fractional CPU usage. If
the server specifies 1.1 CPUs used, allocate 2 CPUs to be used
in VirtualBox.
samples/vboxwrapper
vboxwrapper.cpp
Rom 21 Jan 2012
- sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead
of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough
whole CPUs for Virtualbox. Ideally this will cause the BOINC
client-side scheduler to use the remaining fraction of the CPU
for GPU data transfer which will then free up one whole CPU for
another job. All without over-commiting anything.
sched/
sched_customize.cpp
David 22 Jan 2012
- GUI RPC: switching to the new XML parser
(which won't parse a double as an int)
revealed a type mismatch in FILE_TRANSFER::next_request_time
between client and server.
db/
boinc_db.cpp,h
schema_vda.sql (new)
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
ssim/
vda.cpp
vda_lib.cpp,h
vda_transitioner.cpp
makefile
client/
net_stats.cpp
David 22 Jan 2012
- client: fix divide-by-zero bug in calculation of priority
of projects with zero resource share
client/
cpu_sched.cpp
Rom 23 Jan 2012
- MGR: Tweak the z-order of BOINC Manager owned windows a little bit.
Image a case where BOINC Manager and the BOINC Manager event log
live side-by-side or only slightly overlapped, and the user wants
to use a full screen/maximized window. If the bring the BOINC
manager window back into focus while that app is still running
make sure the event log comes forward as well. The event log
should appear behind the main window in the case they are
overlapped.
clientgui/
BOINCGUIApp.cpp, .h
Rom 23 Jan 2012
- client - Remove Mac OSX 10.3.9 hack, it is no longer needed.
client/
http_curl.cpp
David 23 Jan 2012
- scheduler: initialize COPROC_ATI::version to zero;
avoid sending spurious "update driver" messages
lib/
coproc.cpp
db/
boinc_db.cpp,h
schema_vda.sql
vda/
vdad.cpp
makefile
Charlie 23 Jan 2012
- Mac: If permissions error because unable to opendir() a subdirectory,
show path to that subdirectory.
client/
check_security.cpp
Rom 23 Jan 2012
- VBOX: Demote the priority level of the VM process to try and prevent
latency issues for volunteers.
- VBOX: If the port forwarding preferred port isn't usable, try asking
the OS for one.
- VBOX: On a failure, get the VM process exit code and report it with
the rest of the stderr spew.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
David 23 Jan 2012
- web: use et_n instead of pfc_n for #jobs completed
in host app details page
(pfc_n is not populated for hosts running old clients)
html/user/
host_app_versions.php
Rom 24 Jan 2012
- client: treat the gzt file extension like we do for the gz file extension.
Disable libcurls ability to decompress on-the-fly and let the CC decompress
it after it has been fully downloaded.
client/
http_curl.cpp
David 24 Jan 2012
- client: when deleting a file, check for .gzt and .gz variants as well
client/
client_types.cpp
David 24 Jan 2012
- client: bug fixes in gzipped download code
client/
client_types.cpp
cs_files.cpp
Rom 24 Jan 2012
- client: undo my previous commit. We request .gz from the server and write
the contents to a .gzt file.
client/
http_curl.cpp