Development BOINC 7.0.25

Message boards : Number crunching : Development BOINC 7.0.25
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 . . . 5 · Next

MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1129618 - Posted: 19 Jul 2011, 8:07:01 UTC

It's far easier to fix problems if you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.

Use these flags from the cc_config.xml file.

Report any problems you get with it to the Alpha email list. This list needs registration.

There are a number of changes to the simple view in this release.

If you are posting to this message thread please don't add signatures.

6.13.1 change log
- Mac: Fix bad paths to MacBitMapComboBox.cpp, .h in XCode project. (Checked into 6.13.0 tag).

- Mac: Fix bug where menubar icon menu did not work after changing skin.

- WINSCR: Remove diagnostics screensaver dialog when the screensaver fails to be able open up the log files.

- client: write log msgs saying whether GPUs are OpenCL-capable

- client: fix bug introduced in [23765] that produced garbage in <coproc> elements in sched req msgs and elsewhere. peak_flops is a double. If you print it using %d, everything from that point forward is messed up.

- client: fix typo that caused a lot of spurious "project has XXXXXX deadline misses" messages

- fix compile warnings

- client: possibly fix bug that caused no-GPU prefs to be ignored

- Mac: Refine bug fix for menubar icon menu not working after changing skin.

- client: fix bug related to deselecting resource types in project prefs. Some logic was missing.

- client emulator web interface: make cc_config.xml an attribute of the simulation, not the scenario. If you want to run a simulation w/ different log flags, you shouldn't have to create a new scenario.

- client emulator: add --config_prefix cmdline arg

- client: clear have_nvidia/ati flags in CC_STATE so you don't show garbage in project properties

- Manager and GUI RPC: Remove debt fields from PROJECT: not used anymore. Add sched_priority field

- client: fix scheduler bug that treated all CPU jobs as non-high-priority

- client: don't print spurious "domino prevention" and "thrashing prevention" msgs

- manager: show project descriptions in same size font as the rest of the dialog

- manager: do the above font change only on Win

- manager: fix messed up logic that caused projects to show "platform not support" incorrectly. Note: the code in this entire area seems way too complex

- manager: tweak project desc font size

- client, work fetch policy: adjust project REC by the amount of work queued, to increase variety NOTE: at some point I think I had a reason to not do this, but I can't remember what it is.

- client, job scheduling policy: fix how project REC is adjusted

- manager: don't show "Estimated computation speed" in task properties The quantity involved is not actually computation speed. Also don't show Max RAM usage.

- client: precede OpenCL messages with [coprog_debug], not [coproc-test]. The convention is to use the name of the enabling log flag.

- lib: Fix the various '????' fields in the diagnostics framework during a crash on Windows. Somewhere along the lines I messed up with the conversions of single-byte characters vs. double-byte characters.

- client: if a project has zero resource share, don't piggyback a work request onto a non-work-request RPC

- client: show the right prefix for <cpu_sched_debug> messages

- MGR: Fix "Can't load Image" messages in Simple View; allow gaps in slide show file numbering; reload images if new project files downloaded.

6.13.0 change log
- client: write log msgs saying whether GPUs are OpenCL-capable

- client: fix bug introduced in [23765] that produced garbage in <coproc> elements in sched req msgs and elsewhere. peak_flops is a double. If you print it using %d, everything from that point forward is messed up.

- client: fix typo that caused a lot of spurious "project has XXXXXX deadline misses" messages.

- fix compile warnings
ID: 1129618 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14417
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1129623 - Posted: 19 Jul 2011, 8:33:06 UTC

BOINC v6.13 is yet another "start again from the ground up" for several important parts of BOINC - just as we'd got the worst of the bugs out of v6.12...

Expect it to be thoroughly broken at this stage, and I anticipate potential problems integrating with third-party BOINC add-ons, too. I'd says this is one for hard-core alpha testers only.
ID: 1129623 · Report as offensive
Grant (SSSF)
Volunteer tester

Send message
Joined: 19 Aug 99
Posts: 13248
Credit: 208,696,464
RAC: 304
Message 1129627 - Posted: 19 Jul 2011, 8:59:44 UTC - in response to Message 1129623.  

I notice there is a new one for general consumption.
Darwin NT
ID: 1129627 · Report as offensive
Profile Jord
Volunteer tester

Send message
Joined: 9 Jun 99
Posts: 15183
Credit: 4,362,181
RAC: 3
Message 1150473 - Posted: 9 Sep 2011, 17:32:46 UTC


Howdy Folks,

I'm getting ready to release a new build of 6.13, this new build contains changes to support volunteer storage. You can see some of the details here:

Basically when you upgrade to this build there will be some changes to the client_state.xml file which will make it incompatible with older client software.

I strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC.

----- Rom

ID: 1150473 · Report as offensive
Profile perryjay
Volunteer tester

Send message
Joined: 20 Aug 02
Posts: 3377
Credit: 20,676,751
RAC: 0
United States
Message 1150595 - Posted: 9 Sep 2011, 22:03:17 UTC - in response to Message 1150473.  

Just to add a little bit to what Jord posted, if you try this new 6.13 build and try to go back to the 6.12 flavor you will lose any work you have on your computer at the time if you haven't backed up your data directory. (You will probably get it back as resend lost tasks though. )

ID: 1150595 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1150809 - Posted: 10 Sep 2011, 12:45:05 UTC
Last modified: 10 Sep 2011, 13:18:31 UTC

Windows versions are now in the usual place. Before you even think about trying this one, read (or re-read) the above 2 messages in this thread

6.13.2 change log (not released)
- client: write project sched priority in GUI RPC replies, but not to the state file

- client: changes to the client file model to support distributed storage, as described here:
Compatibility: clients that upgrade to this version should see nothing unusual.
Clients that downgrade from this version to a previous version should see all projects reset (i.e. tasks disappear and then get re-downloaded).

- manager: always show whether a file transfer is upload or download

- client: don't scale work requests by resource share

- client: debug distributed storage functions

- Mac: Begin changes for XCode 4.1 and GCC 4.2.

- Mac: Finish changes for XCode 4.1 and GCC 4.2.

- lib: Initialize config_coprocs struct in CONFIG::defaults().

- SCR: Fix delay dismissing screensaver under Mac OS10.7.

- Mac SCR: Fix vertical range of moving logo.

- remote job submission: bug fix and tweaks

- client: cc_config.xml: if <devnum> is omitted from a <exclude_gpu>, it means exclude all instances of that GPU type

- client: if all instances of a GPU type are excluded for a project, don't ask the project for jobs of that type

- client: fix bug in <exclude_gpu> config option

- client: extend <exclude_gpu> option so that if <device_num> is omitted, all GPUs of the given type are excluded.

- Mac installer: Work around bug in Mac OS 10.7 dscl merge command.

- client: fix bug in get_descendants(), which prevented the client from cleaning up subprocesses of misbehaving multiprocess apps.

- remote job submission system: assign physical names to input files (based on their MD5)rather than having the user provide physical names

- VM apps: eliminate vbox64 plan class. Only vbox.

- client: add optional <file_prefix> to APP_VERSION>. If present, "file_prefix/" is prepended to the logical names of input and output files of jobs using that app version. I.e. for Vbox wrapper based app versions, file_prefix is "share", so that I/O files are put in a "share" subdirectory of the slot dir.

- client: if an app version has nonempty file_prefix, copy all its input and output files

- Mac: Fix warning about potential memory leak.

- vbox wrapper: fix parsing of job file

- vbox wrapper: fix code structure merge vm and vbox no global vars

- vbox wrapper: hardwire logical name of image file to "vm_image.vdi".

- vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi", where SLOT is the slot number. Vbox requires unique names for VM image files.

- vbox wrapper: initialize xml parser with the correct starting tag.

- client: projects with zero resource share are always lower priority, for both job sched and work fetch, than projects with positive resource share.

- client: make round-robin simulator match what the job scheduler now does: give lowest priority to projects with zero resource share.
Changes for Charity Engine Desktop.

- Mac Client: Call NSVersionOfRunTimeLibrary("cuda") to set c.display_driver_version (from Oliver Bock.)

- client: rename MODE to RUN_MODE, and rename vars accordingly

- client: pass XML_PARSER& rather than MIOFILE& to parse functions. Preparatory to using new-style XML parsing everywhere.
fix compile warnings; msg tweak

- client: use new XML parser pretty much everywhere

- Mac installer: Bug fixes for OS 10.7 Lion: LoginItemAPI.c did not set hidden properlty for login items, so use AppleScript instead, to prevent Lion from opening BOINC windows at system startup.
Fix a bug I introduced on 8 August which prevented launching

- Mac uninstaller: Remove Charity Engine BOINC app if present.

- client: more XML parsing stuff

- client: XML tweak

- Mac installer: Bug fixes for OS 10.7 Lion.

- WINSCR: Based on feedback from WCG about the screensaver lock-up problem attempt to provoke Windows into redrawing the primary display. It turns out that the screensaver image is a ghost image, so create a blank top-most window and close it after the graphics application has been terminated.

- Vbox wrapper: add --trickle x option; sends a trickle-up message reporting incremental runtime exery x seconds of runtime.

- client: more XML parsing cleanup
credit trickle handler: do sanity checks on CPU speed
credit trickle handler: write log messages if sanity checks fail

- client: Correlate OpenCL results with CAL or CUDA results based on index of devices reported by each. This assumes that CUDA and OpenCL and report NVIDIA devices in the same order, and that CAL and OpenCL report ATI/AMD devices in the same order.

- client emulator fixes

- client: If OpenCL is supported, add OpenCL information to COPROC_ATI::write_xml() and COPROC_NVIDIA::write_xml(), and parse OpenCL information in COPROC_ATI::parse() and COPROC_NVIDIA::parse().

- client: Add OpenCL platform version number to COPROC struct. fix linux build errors in coproc stuff. I don't think unsigned long long is relevant here.

- lib: fix compile errors on Mac, Ubuntu and Windows.

- client: fix compile warnings on Mac and Ubuntu.

- lib, client: revert recent changes to restore unsigned long long so we can determine cause of and try to fix Linux build errors.

- lib: On Windows, call _strtoui64() instead of strtoull.

- client: pass --gpu_type X (X=nvidia or ati) as well as --device. This lets device-neutral OpenCL apps figure out which GPU to use.

- client: fix bug where NVIDIA display driver version wasn't being set correctly for some laptop GPUs

- client: improve estimation of NVIDIA GPU peak FLOPS

- lib: use standard implementation of strtoull when available.

- VboxWrapper: Add functions for enable/disable network and throttling the CPU and network activity.

- VirtualBox wrapper: change names of CPU and network-limiting functions to express their units (always do this).
wrapper monitors status.suspend_network and suspends/resumes network accordingly. wrapper sets CPU and network bandwidth limits on startup (Rom: should this be done before run() rather than after?) Note: App versions using this wrapper should always have <dont_throttle/> in their version.xml, to tell the client that the app throttles itself.

- fix build error in Linux screensaver (at least on FC14)

- manager: Communitcations -> Communications. please, no spelling errors in function/variable names

- client: parse deprecated tags in <file_info>

- client: fix bug that caused project attach to fail

- clientgui: Rom, we should do error-checking of most GUI RPCs; look for REPORT ERROR in ProjectProcessingPage.cpp

- Vbox wrapper: deal with checkpointing. Current: wrapper reports frequent checkpointing to client, but actually checkpoints only when the VM is stopped Problem: large amounts of work would be wasted if BOINC stops in an ungraceful way (e.g., power failure) Solution: Don't report frequent checkpointing. Every CPU scheduling period (typically once/hour) stop the VM (creating a checkpoint) and call boinc_temporary_exit(0). If the client wants to keep running this job, it will start us immediately.

- Mac: Copy BOINC libraries built with XCode 4.1 to locations where built by earlier versions of XCode so dependent builds can always find them.

- Vbox wrapper: create XCode project.

- client: fix a couple of valgrind warnings

- client: send all running jobs a "reread app info" message when global prefs change (in the case of vboxwrapper, it might have to change network or CPU throttling)

- vbox wrapper: check for boinc_status.reread_init_data_file, and if set reread the file, set throttles, and clear flag

- lib: Add OPENCL_REFERENCE boinc_get_opencl_ids(int argc, char** argv) to be called by OpenCL project applications to get the platform ID and device ID of the GPU assigned to the task by the scheduler.

- API: move boinc_get_opencl_ids() from lib/ to api/. lib/ is for code that's used by >1 part of BOINC

- client: fix bugs related to white space around code signing keys
win compile fixes

- API: boinc_get_opencl_ids() doesn't need to link the OpenCL library at runtime. It's used only in OpenCL applications, which already include the library.

- VboxWrapper: Specify a configuration directory under the slot directory to try and avoid permission errors on multiple platforms when BOINC is installed as a daemon.

- api: Fix compile errors and warnings, add documentation in comments

- lib: remove unnecessary #include, add needed function declarations

- api: More fixes to boinc_get_opencl_ids()

- lib: if OS_Darwin use procinfo_mac.cpp isntead of procinfo_unix.cpp.

- lib, api: update XCode project to build same source files in each library as corresponding make files.
wrapper compile fixes

- VboxWrapper: Add a way to extract the VM process id from the VM's log file.
client (and API and manager): change the data structure used for system process info Old: vector of PROCINFO. Descendants of a process were found by recursively iterating through the vector. Operations are O(n) New: map of (id, PROCINFO), and each PROCINFO has a vector of its children. Operations are O(log(n)) Also combined Mac/Win/Linux variants of code that was essentially the same.
more code shuffling: proc_control: controlling processes
procinfo: enumerating and querying processes
run_app_windows: launching apps as other users on Win

- client/API/vboxwrapper: add a mechanism so that apps can report sub-processes that are not descendants (e.g., virtual machines) These processes are then counted as part of the app, not as "non-BOINC CPU time". This fixes a bug where processing was incorrectly suspended because CPU usage by VM apps exceeded the "CPU usage limit" pref. Implementation: the PIDs of the processes in question are passed from app to client via shared-memory, in the app_status channel. A new variant of boinc_report_app_status() supports this.
the VBox wrapper queries the PID of the VM, and reports it in this way.
procinfo_app() includes a new argument: a list of PIDs that are part of the app, although not ancestrally related to the main process.
in the client, ACTIVE_TASK now includes a vector "other_pids". If this is nonempty, it's passed to procinfo_app().

- lib: Fix compile errors; add app_control.cpp to XCode project.

-lib: minor code shuffle

- client: fix bugs with white space around code sign keys and file signatures

- client: when describing app versions in scheduler requests, we still must use CUDA instead of NVIDIA; that's what's in the server code.

6.13.3 change log
- client: make exit_before_start a cc_config.xml option (as well as a cmdline option)

- wrapper: print error messages if stdin/out/err files don't exist

- client: if too many <coproc> elements in cc_config.xml, detect it and inform user

- client: new XML parser had a limit of 8KB for strings. This broke things. Increase it to 256KB

- Mac: More fixes for building under XCode 4.1.
ID: 1150809 · Report as offensive
Volunteer tester

Send message
Joined: 22 Jan 00
Posts: 23
Credit: 1,010,202
RAC: 0
Message 1150997 - Posted: 10 Sep 2011, 23:10:44 UTC

v6.13.3 gives "Permanent upload error" on most projects including here at SETI@home, so I wouldn't recommend anyone to try this version...

ID: 1150997 · Report as offensive
Grumpy Swede (Democratic Socialist)
Volunteer tester

Send message
Joined: 1 Nov 08
Posts: 8711
Credit: 49,849,242
RAC: 65
Message 1151079 - Posted: 11 Sep 2011, 11:18:10 UTC
Last modified: 11 Sep 2011, 11:28:09 UTC

If it ain't broken, don't fix it. I'm still on 6.10.18, and it works perfectly. I will not upgrade until I'm forced to do so.

I just don't get it why people upgrade the BOINC client every time a new version is released. If the old one works, why upgrade? It isn't the client that does the crunching, it's the applications.

If 6.10.18 still works in 10-15 years, then that's the version I will still be using then.
ID: 1151079 · Report as offensive
Volunteer tester

Send message
Joined: 16 Sep 09
Posts: 429
Credit: 1,844,293
RAC: 0
United States
Message 1151111 - Posted: 11 Sep 2011, 14:48:15 UTC - in response to Message 1151079.  

The definition of "works" may be different between you and the people who run the project.

ID: 1151111 · Report as offensive
Grumpy Swede (Democratic Socialist)
Volunteer tester

Send message
Joined: 1 Nov 08
Posts: 8711
Credit: 49,849,242
RAC: 65
Message 1151157 - Posted: 11 Sep 2011, 16:34:12 UTC - in response to Message 1151111.  

The definition of "works" may be different between you and the people who run the project.

So you're saying that all versions prior to the latest one didn't work? :-)

Then I take it that the latest one works, and therefore we will never again see a new version.

ID: 1151157 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1152787 - Posted: 16 Sep 2011, 15:19:17 UTC

Guys stick to the subject. If you don't want to upgrade thats fine, just don't pollute this thread with it.

Back on topic, 6.13.3 has been withdrawn due to the upload issue.
ID: 1152787 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1154882 - Posted: 22 Sep 2011, 13:44:40 UTC
Last modified: 22 Sep 2011, 13:45:55 UTC

Note: This version has been withdrawn

6.13.4 change log
- client: XML-escape the URLs in RSS feed lists

- lib: make xml_unescape work for arbitrarily large strings

- client: don't pass --gpu_type to GPU apps; this breaks many existing apps. Instead, pass the GPU type (and the device number) in app_init_data.xml

- client: fix error in parsing of XML comments

- client: finish next-to-last checkin

- manager, simple view: edit label text. increase opacity of main area; otherwise some text is hard to read. change borders from blue to light gray. In general shouldn't use primary colors. display credit as integer. reduce size of project name; otherwise long names don't fit (on Win). don't use "(in slot x)". "Slot" is not part of the vocabulary here.

- API: change boinc_get_opencl_ids() to use APP_INIT_DATA instead of cmdline

- API; fix the above fix

- client: make RR simulation more accurate by simulating time-slicing explicitly. Also simulate changes in project REC and hence in scheduling priority.

- client: add a log flag "rrsim_detail" that prints time-slice-level info.

- client: remove code related to debt-based scheduling

- client: make file upload work w/ old handlers

- client, GUI RPC, Manager: in GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait. It means that the app did a boinc_temporary_exit(), and is waiting to be rescheduled. GPU mem wait is one source of this, not the only one

- VBOX: Add more trace messages to the wrapper to help resolve issues.

- wrapper: don't delete task-level checkpoint file when starting task; that defeats the purpose. From Uwe Becker.

- VBOX: Properly trap stderr output from vboxmanage by redirecting it to stdout. Error messages should now be properly detected on Linux and Mac.

- VBOX: Don't attempt to stop a VM that is already shut down.

- VBOX: Make is_running() a bit smarter about detecting the running state of a virtual machine.

- client: get GPU available RAM at startup (only)

- client: fix compile warning

- client: fixes to the above

- client: prevent infinite recursion (and stack overflow) in procinfo.cpp:add_child_totals(). Not sure how this could happen.

- VBOX: Increase the pipe buffer on Windows from the default to 128k. Despite what the docs say, if the buffer isn't large enough VboxManage hangs attempting to write the VM log file to it. Luckly the VM log file is only 64k.

- VBOX: Fix a couple of parsing errors.

- VBOX: Add a register_only command line argument to help debug VM related issues.

- VBOX: Add some suggestions to the source on how to debug VM related issues.

- VBOX: Add a quick sanity check when the enable_shared_directory option is enabled.

- client: escape URLs for curl, otherwise filenames with spaces don't work

- client: curl_easy_escape() escapes way too much. Just escape spaces.

- XML parsing: do XML unescaping in place rather than allocating a buffer on the stack. Fixes a Manager crash on the Mac, where the default thread stack size seems to be 512KB.

- client: Update Windows detection code to support Windows 8. (From: [P3D] Crashtest)

- client: change in the use of GPU available RAM: measure the available RAM of each GPU when BOINC starts up. If this fails, set available = physical. Show available RAM in startup messages. use available RAM rather than physical RAM in selecting the "best" GPU instance. report available RAM to the scheduler
TODO: change the scheduler to use available rather than physical if it's reported

- vboxwrapper: we don't seem to be getting the VM PID. Add some printfs.

- client: report available GPU RAM to scheduler

- lib: parse <available_ram> in coproc XML

- lib: do coproc XML parsing using new XML parser

- lib: fix compiler warning.

- vboxwrapper: fix compiler warning.

- Mac: Change XCode project to build both 32-bit and 64-bit BOINC libraries for debug as well as for deployment.

- vboxwrapper: update XCode project for easier access to built executables and symbol tables under XCode 4.1.
minor code shuffle

- VBOX: Add a way to track overall network utilization of a VM.

- vboxwrapper: code cleanup use double for potentially large quantities. factor out repetitive code, rather than copy and paste

- vboxwrapper: report network usage to the client

- client: include the above in enforcing network quota preferences

- client: with VBox on Win, the process graph sometimes has cycles. Not sure where this comes from. But avoid infinite recursion when traversing descendants.

- wrapper: Update Mac build script for XCode 4.1 and OS 10.7. NOTE: We no longer support PowerPC Macs.

- client: make the attributes of GUI RPCs (network, authentication) explicit rather than determined by position in a list.

- client: add a new "read-only" attribute for GUI RPCs. This is in preparation for handling GUI RPCs in separate threads.

- client: remove code to support pre-V6 graphics.

- lib: add generic interfaces for threads and thread synchronization

- win fixes
ID: 1154882 · Report as offensive
Profile Fred J. Verster
Volunteer tester

Send message
Joined: 21 Apr 04
Posts: 3252
Credit: 31,903,643
RAC: 0
Message 1155046 - Posted: 22 Sep 2011, 23:17:40 UTC - in response to Message 1154882.  

I've always liked to try new versions, if, they aren't too buggy, at all :).
The 32BIT and 64BIT of BOINC 6.13.34, now works OK.
Same goes for 'HardWare', the newer, often, the better, but keep a close watch and
know what you want and why, you want it.

Testing 2 different things, like a BOINC version and an 3 party app.(LUNATICs)
isn't a smart idea ;-/

ID: 1155046 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1158412 - Posted: 3 Oct 2011, 0:15:04 UTC
Last modified: 3 Oct 2011, 0:16:33 UTC

6.13.5 change log (not released)
- client: in handling the acct_mgr GUI RPC, don't start the RPC directly; that might fail if CLIENT_STATE::gui_http is busy. Instead, set a timer field.

- client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants

- client: clarify the comments on GUI_HTTP and GUI_HTTP_OP Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to any HTTP op other than scheduler requests and file transfers. Should change the name, maybe to CLIENT_HTTP*

- Mac: Remove app_graphics.cpp from Client in XCode project, add new files thread.cpp,.h to libboinc.a in XCode project. (Checked in to 6.13.4 tag.)

- client: intermediate checkin for replicated trickle-ups. Not finished yet.

- example app: add --trickle_up and --trickle_down options, for testing trickle messages

- client: fix bug in ATI GPU detection, caused zero RAM measurements

- client: fix ATI GPU max mem display issue.

- msg tweaks in make_project

- client: more stuff for replicated trickle ups

- lib: don't include thread.cpp; not needed for server, and causes errors on some 64-bit Linux

- vboxwrapper: fix code which sets environment variables. "PATH" must be upper case. putenv() does not copy its input string, so must use setenv().

- VBOX: More environment variable tweaks.

- client: more work on replicated trickles. Not working yet.

- client: replicated trickles. Seems to be working now.

- client: added <trickle_debug> config option

6.13.6 change log
- client: Disable GPU detection of Windows when running as a service to avoid a deadlock condition with the latest ATI drivers.

- Mac: fixes for problems with OS 10.4 compatibility
ID: 1158412 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1162842 - Posted: 16 Oct 2011, 8:49:47 UTC
Last modified: 16 Oct 2011, 8:51:08 UTC

6.13.7 change log (not released)
- fix typo in manage_privileges

- client: fix spurious error message about trickle-up URLs

- client: don't call CLIENT_STATE::free_mem() on shutdown. This is for debugging only, and it can cause crashes.

- Mac: more fixes for problems with OS 10.4 compatibility. (checked into 6.13.5 and 6.13.6 tags)

- client simulator: add --existing_jobs_only option. This simulates just the jobs in the state file, rather than simulating an infinite stream of jobs modeled after the ones in the state file.

- Mac: update wxMac build script for building with XCode 4.1 under OS 10.7 while maintaining OS 10.4 compatibility. (checked into 6.13.6 tag)

- client simulator: fixes

- client: message tweaks

- client: Fix compile break on Mac.

- lib: only build the static version of libboinc.

- fix comment

- Updates Linux notifications to use current libnotify.

- Fix build problems on Mac OS X using autotools
Consistently use #if HAVE_X for platform checks, rather than #ifdef HAVE_X or #if defined(HAVE_X)

- In Unix build, make lots of compiler checks standard

- Fix some compile warnings From Matt Arsenault. Note: there are now lots of compile warnings in clientgui/ on Unix, mostly in WxWidgets code

- client: Fix compiler warnings on Mac.

- client: Fix compile break on Mac.

- manager: fix build break on Linux Undoes part of yesterday's checkin.

- more changes from #ifdef HAVE_X to #if HAVE_X

- WINSETUP: Add more logging to the create group and add user to group functions in an attempt to figure out what is going on with Windows 8.

- client: fix a bug reported by Jacob Klein, where work fetch didn't work right in the presence of multiple GPUs and <exclude_gpu> config options. For example: suppose: you have 2 GPUs and 2 projects, Project A is excluded from GPU 1
you have lots of jobs for project A Then the client won't try to fetch jobs from project B. The problem had 2 parts:

a) round-robin simulation wasn't taking GPU exclusions into account. In the above example, it would think that both GPUs had jobs. I fixed this by computing the # of GPUs from each project is excluded, and using this in the RR simulation.

b) Once this was done, I needed to make the client request GPU jobs from project B rather than project A. I did this with following policy: If a project has excluded GPUs of a given type, and has a runnable job of that type, don't ask it for more work of that type.

the policy in b) is crude, and it means that work-buffer preferences are ignored in some cases. neither a) nor b) takes into account app-level exclusions. I could fix both of these with a lot of work, but I'd rather move to a model in which dissimilar GPUs are modeled as different resources, which would remove the need for the <exclude_gpu> mechanism in the first place.

Other note: I figured out this problem using the client simulator, based on the client state file that Jacob sent me.

- client: specify the project in "Some tasks need more memory than allowed by your preferences" messages

- client: fix bug that could cause GPU idleness in the presence of GPU exclusions. The problem was in the job-selection phase, which picks enough jobs to use all devices. It was ignoring GPU exclusions, so for example on a 2 GPU system it could pick 2 jobs from a project for which 1 GPU is excluded, and as a result 1 GPU would be idle. Solution: during job selection, keep track of GPU usage on a per-instance basis. Select a job only if it can run on a non-excluded GPU.

- client: in computing ncprocs_excluded (which is used in work fetch policy) don't count exclusions of non-existent devices

- client: compute project scheduling priority more efficiently

- client: if an app version can't be used because the GPUs it needs are all excluded, mark it and all its results as "coproc missing" so that they won't be looked at in scheduling logic.

- client: Fix compiler warnings.

- lib: move XML parse test program to its own file. Note: XML_PARSER::parse_str() doesn't currently work right for something like <foo><a>xx</a></foo>. It should return "<a>xx</a>". TODO.

- client: don't generate notice if lookup of host in remote_hosts.cfg fails.

- client: don't show "(device N)" if there's only 1 device

- client: win compile fixes

- WINSCR: Before shutting down the screensaver, quickly reinitialize the OpenGL device on the primary display. Some of the issues being reported with the screensaver is a left over ghost image of the OpenGL display before the graphics application was terminated because keyboard/mouse activity was detected.

- client: in the function that sorts jobs by arrival time, don't use name as a tiebreaker. The will typically group jobs of the same application, and (it is believed that) things run faster when applications are mixed.

- client: fix a memory leak; would lose ~120 bytes each time a job is started

- Lib: Re-enable boinc lib mem snapshots for BOINC based applications (boinc, boincmgr, boinc.scr) on Windows.

- client: fix memory leak when reading stderr of completed job. This caused 128KB + size of stderr loss for each job.

- client: print error message if reading stderr fails (e.g. because of malloc failure)

- client: free vectors in NOTICES, RSS_FEEDS, and DAILY_XFER_HISTORY in free_mem() (for mem leak checking)

- client: problem: suppose a project has 2 data servers, and one of them is down. If several downloads from the broken one fail, we go into "project-level backoff" and don't start downloads from either server. (Same applies to uploads). Solution: make project-level backoff apply only to transfers that have already failed at least once

- GUI RPC: add get_daily_xfer_history() RPC for getting the daily records of #bytes uploaded and downloaded

- client: fix bug in writing daily xfer history file

- client: write descriptions of OpenCL devices to stdout (and display in manager's Event log).

- client: work around a bug where OpenCL reports global RAM of ATI GPUs incorrectly (1/2 of actual value.)

- client/server: change field names in OPENCL_DEVICE_PROP to match those in the clGetDeviceInfo() calls. Principles: if there's already a name for something, use it. follow case conventions

- client and scheduler: estimate peak FLOPS for GPUs that are detected by OpenCL but not by native APIs (CUDA/CAL). This is limited by the fact that OpenCL doesn't give us the necessary hardware info (ATI; wavefrontSize; NVIDIA: compute capability). We use the minimum values for these, so in most cases we'll be underestimating the peak FLOPS.

- client (Mac): there was no error check of the creation of a memory-mapped file used for communication with an app. Add a check, and don't start the job if it fails.

- client: don't do scheduler-requested RPCs if project is set to No New Work, and project has no jobs on the client

- client/scheduler: the code for estimating peak FLOPS of ATI GPUs (from Crunch3r) has a multiplier of 2.5 for cores/processor. This is possibly because give a double-precision estimate. But actually we want single-precision. Change it to 5. See

- client: improve code which writes OpenCL descriptions.

- client: Compare openCL-only devices by estimated peak flops.

- client: compare OpenCL-only devices the same as other devices

- client: Fill in peak flops for each OpenCL GPU before compare; else there is nothing to compare with.

- API: don't crash if send trickle msg running standalone. From Christian Ries.

- client: fix bugs in acct manager attach/detach

- client: Fix crashing bug in OpenCL detection on Windows.

- lib: Fix crashing bug for debug builds of the BOINC client software

- Mac installer: follow recommendations of Apple Developer Technical Support: create users and groups boinc_master and boinc_project at first available UserIDs and GroupIDs starting at 501 instead of 25 to avoid conflicts with UserIDs and groupIDs which may be added in the future; use Directory Services to find the user names of all human users instead of stepping through the entries in the /Users directory.

- Mac installer: revert to using LoginItemAPI.c under OS 10.7.1, because it once again sets hidden property for login items, but the AppleScript seems not to work under OS 10.7.1.

6.13.8 change log
- client/server: add a new result state RESULT_UPLOAD_FAILED for when the job completed successfully but one or more output files had permanent upload failures. Show this state in web interfaces.

- client and user web: show NVIDIA driver version and CUDA version as, e.g., 275.33 instead of 27533

- vbox: Move the destination of the VBOX_USER_HOME environment variable to <boinc_data_dir>/projects/virtualbox so that the virtualbox configuration can remain consistent across one or more projects.

- client: fix NVIDIA driver version and CUDA version display for Mac.
ID: 1162842 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1165633 - Posted: 26 Oct 2011, 23:29:02 UTC
Last modified: 26 Oct 2011, 23:33:50 UTC

The BOINC developers are expecting this version will become the new BOINC v7 once testing is complete. Given the large number of changes in this version use caution.

6.13.9 change log
- client: fix honoring of cc_config ignore GPU options.

- atiopencl sample: call boinc_get_opencl_ids() if not stand-alone; improve error messages.

- WINSCR: Move the reset display call to the end of the full screensaver section. We do not need to perform a display reset in the various test modes.

- client: fix bug where network suspend got ignored when OS suspends (e.g. sleep or hibernate)

- client: create and destroy PERS_FILE_XFERs even if network suspended. This will show pending uploads in the Transfers tab.

- file_upload_handler: fix message to client when can't acquire lock

- client: parse <alt_platform> in state file correctly

- MGR: Support both the old and new libnotify at runtime on Linux

- manager: don't show slot number in simple view task list

- MGR: Remove code that blocks the switch to simple view when an accessibility aid is running. Remove dead code related to v5 graphics applications from the client software.

- MGR: Remove the triangle in the lower right-hand corner of the default project image for the simple GUI

- MGR: Persist Simple GUI notification dialog size and position information.

- MGR: Remove context menu help buttons from dialog.

- client: show OpenCL version correctly on Win

- client: improvements to job scheduling and work fetch policies.
Job scheduling: the baseline policy is to schedule based on "project priority", which is how much processing P should receive based on resource share minus how much it actually has received recently. This policy tends to run jobs from the same project together, so we modified it by adding a priority adjustment as jobs are scheduled. The idea is that if 2 projects have about the same priority they should split the processors. The problem: the adjustment was too large on hosts that are on only a small fraction of the time, thus tending to run 1 job from each project, regardless of priority. Solution: make an adjustment that reflects the host's actual throughput. See adjust_rec_sched() for details.

Work fetch: similar situation. We were making an adjustment based on how much work the project currently has queued, but the adjustment drowned out the project priority, so we'd tend to always get work from the project that has least work queued. Solution: make a smaller adjustment (-.3 ... .3)

- client: in message announcing app start, show the plan class

- client: don't show "unrecognized XML" messages for account files. It's typically project-specific prefs that the client doesn't know about.

- client: bug fix for the above

- client simulator: make the output more graphical
add boinc_opencl.h to set of installed headers
emulator tweaks

- client: call xp.skip_unexpected() if get unexpected tag, to avoid showing multiple error messages

- client simulator: bug fixes and tweaks

- client: associate a PROJECT with HTTP_OP where applicable, so that if you use <http_debug> and filter by project you don't see other projects' HTTP stuff

- client simulator: cc_config.xml is part of the scenario; log flags are part of the simulation

- MGR: Make the Default skin loadable from the file system.

- MGR: Change the in-memory defaults for the skin to be a light-gray background.

- MGR: Change the dots used in the simple gui.

- MGR: Make the dots used in the simple gui skinable.

- MGR: Change the 'Project Web Sites' button text to 'Project Web Pages'.

- MGR: Add a basic 'Default' skin to be included by the various installers

- MGR: Remove a bunch of files that are not used by the default skin anymore.

- Mac: Update Mac build scripts, XCode project and source files to allow automated builds under OS 10.7 Lion and XCode 4.2.

- Mac: Build and link jpeglib from boinc/samples/jpeglib instead of requiring a separate jpeglib-6b directory.

- MGR: More simple GUI text changes

- MGR: Reduce clutter in log file

- client: change the way project priorities are computed, so that they do what they're supposed to (i.e. enforce resource shares)

- client: change log flag <debt_debug> to <priority_debug>

- client simulator: update REC even with large delta-t.

- client simulator: handle "no new work" apps correctly

- client: fix bug that caused extra "<" to get written at end of global_prefs_override.xml and cc_config.xml when they are modified via GUI RPCs

- client: fix crashing bug when there's a cycle in the process graph. I had fixed this in one place but not another.

- client: don't memset(0,) a PROCINFO; use clear() instead

- Mac: Update XCode project and Mac build scripts to build libboinc_opencl.a library and to work both with XCode 3.2 on OS 10.6.8 and with XCode 4.2 on OS 10.7.2.

- MGR: Replace backup images RedDot16.xpm, YellowDot16.xpm and GreenDot16.xpm with XPM files created from Rom's new files dotred.gif, dotyellow.gif and dotgreen.gif. These need to be cmpiled into the source code as backups in case the GIFs are missing, because these images are essential resources.

- MGR: Simple View bug fix.

- MGR: Fix dot images

- client simulator: bug fix

- MGR: Replace colored dot GIF files with new PNG files which do the anti-aliasing in the alpha channel, so they look correct when highlighted on the Mac. Generate new XPM files from these PNG files.

- MGR: Force update of Task Selection List on reskin interface.

- MGR: Move skin file to correct place, set background image's background color to black for this background_image.png.

- client/API: pass bool using_sandbox in APP_INIT_DATA; says whether the client is using account-based sandboxing. Needed by vboxwrapper.

- MGR: Adjust preference dialog titles, improve Simple View menus and other text, make Simple Preferences dialog more like Advanced Preferences dialog.

- VBOX: Don't redirect VirtualBox to a different directory structure for the root configuration file when the client is NOT in sandbox mode. Doing so could cause confusion if the volunteer uses VirtualBox for any of their own work. If BOINC started up first it would have appeared that their own VM's no longer existed.

- MGR: Make the simple gui rounded edges seem smoother by increasing the radius.

- MGR: Fix project name font in the tasks area, normal size. Increase its weight to BOLD.

- MGR: Make sure the dot is red if the project has been suspended for the given task.

- MGR: Scale background skin so that it now fits in the new simple gui NOTE: We are in the process of trying to get new artwork so that we can handle the localization issues better.

- fix NVIDIA peak FLOPS

- MGR: Fix crash bug.

- MGR: Fix project name font on Mac, which uses Lucinda Grande font not Arial. SetFont for the parent window does not propogate to the text controls because CTransparentStaticText uses OnPaint() to draw.

- MGR: Bug fix: when the task currently selected in Simple View is deleted, change selection to a different task.

- MGR: Sort Simple View task selection control alphabetically.

- MGR: Reverted the above change because wxBitmapComboBox on Windows loses existing items' clientData when we Insert() a new item.

- Mac installer: Fix a very old bug.

- client: reimplement the round-robin simulator to reduce its runtime from O(N^2) to O(N), where N is the number of runnable jobs (which can be in the thousands). This will make the client emulator run a lot faster, and will reduce the client CPU overhead a bit.

- API: change boinc_get_opencl_ids() so that it returns a BOINC error code (< -100) if the app_init.xml is missing or bad (i.e. we're running standalone), and an OpenCL error code (> -100) if an OpenCL call failed.

- MGR Skins: Fix numerious issues related to bad entries in the Skin XML file.

- API: compile fixes for MinGW. From Oliver Bock.

- MGR: Sort Simple View task selection control alphabetically. Subclassed CBOINCBitmapComboBox from wxBitmapComboBox to work around clientData bug in wxBitmapComboBox::Insert().

- MGR: Allow skin to specify the (simulated) opacity of Simple View task and project panels on a scale of 0 (clear) to 255 (opaque).
ID: 1165633 · Report as offensive
Profile arkayn
Volunteer tester

Send message
Joined: 14 May 99
Posts: 4438
Credit: 55,006,323
RAC: 0
United States
Message 1165695 - Posted: 27 Oct 2011, 4:58:52 UTC

There is a bug in 6.13.9, recommend not using it.

ID: 1165695 · Report as offensive
MarkJ Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 17 Feb 08
Posts: 1139
Credit: 80,854,192
RAC: 5
Message 1165725 - Posted: 27 Oct 2011, 9:41:14 UTC
Last modified: 27 Oct 2011, 9:53:59 UTC

As Arkayn says, there are a few issues with 6.13.9 so don't use this one.

One is that it doesn't seem to convert client_state properly when you upgrade (even from 6.13.8) and the other to do with the T4T project (see message from Charlie below):

Date: Wed, 26 Oct 2011 16:19:15 -0700
From: Charlie Fenton
Subject: Re: [boinc_alpha] BOINC 6.13.9 released for Windows

Dear Alpha testers:

Please do _not_ run T4T at this time on the Mac. The current version of T4T requires you to run a script which disables sandbox security and we have unconfirmed reports that this causes problems with other projects. If you have run the script, please detach from or suspend T4T and reinstall BOINC without running their script.

We have developed a method for projects to use VirtualBox without disabling BOINC's sandbox security. Once T4T has implemented these changes, we will ask you to begin testing it.

I hope to have a new version of BOINC for you to test on the Mac soon.

Thank you!

ID: 1165725 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14417
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1165731 - Posted: 27 Oct 2011, 11:36:43 UTC

The problem with v6.13.9 - well, the big show-stopping problem, there may well be others - is that they introduced a new tag into client_state.xml


It's related to the preference settings like "Use CPU Enforced by version 6.10+" and "Use NVIDIA GPU Enforced by version 6.10+" (and ATI of course, though we don't have that available here). If you have any of those preferences set, at any of the projects your host is attached to, BOINC v6.13.9 will fail to start or restart properly.

If you've already upgraded, you can work round it.

When you restart BOINC (every time you shut down BOINC, before you restart it), search client_state.xml for that <no_rsc_pref> string, and remove the entire line every time you find it - it might be


- those are the two I've seen, there's the possiblity of ATI as well. Usual precautions apply - take backup, use ANSI-mode text editor only, don't allow the file name/extension to change.

You might get some unexpected work at the next fetch, but that's better than losing your entire cache and all work in progress, for all projects, which is what will happen without precautions.
ID: 1165731 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14417
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1165811 - Posted: 27 Oct 2011, 17:40:55 UTC

v6.13.10 restarts cleanly on upgrade from v6.13.9, even with those preference settings in place. If you have 6.13.9 already, try not to shut down BOINC until you have downloaded and are ready to install v6.13.10 (or later - too soon to know if there are any other bugs yet).
ID: 1165811 · Report as offensive
1 · 2 · 3 · 4 . . . 5 · Next

Message boards : Number crunching : Development BOINC 7.0.25

©2021 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.