Advanced search

Message boards : Number crunching : BOINC 6.12.26 released

Author Message
MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18032 - Posted: 18 Jul 2010 | 0:18:40 UTC
Last modified: 25 May 2011 | 11:07:14 UTC

6.12.26 was released to the public. Below are the change logs starting with 6.11.1

Note: There are substantial changes to the message handling from the 6.10 versions of the BOINC client


Change log since 6.10.58 (the last of the 6.10 versions)...


6.11.2 (Mac only)
- MGR: Better solution to prevent a race condition which could erroneously invoke the Attach Wizard when restarting the client, fix serious bug in Simple View I introduced with my previous fix of 14 July


6.11.1
- MGR: Fix a bug in the notices code. Refresh the UI if the complete notices list has been downloaded regardless of whether or not the item counts are the same

- LIB: Reset the completed flag to false at the beginning of the get_notices RPC in case the notices buffer is being reused

- client: free GUI_RPC_CONN objects at shutdown

- MGR: get_messages and get_notices RPCs don't alternate buffers, so remove the unused buffers from CMainDocument class.

- MGR: after GUI RPC sets NOTICES::complete, only NoticeListCtrl clears it.

- MGR: fix compile warning.

- client: add ".xml" to notice file names

- MGR: Fix Linux build break.

- client: don't consider a result "nearly runnable" if one of its downloads is stalled. This fixes a situation that can cause processor or GPU idleness when download servers are down for a while

- MGR: Fix bugs in accessibility code for Notices tab.

- fix gcc 4 compiler warnings

- win build: don't build CUDA/OpenCL apps by default

- MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, consolidate and clean up Mac accessibility code.

- client: change the calculation of exponential backoff used for
1) individual file transfers
2) project-level file transfer backoff
3) scheduler operations
Old: scale by e.
Use random backoff in the range min..x
New: scale by 2.
Use random backoff in the rand x/2..x

- client: for file transfers, use backoff range of 10 min .. 12 hrs rather than 1 min .. 4 hrs

- MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl, consolidate and clean up Mac accessibility code.

- MGR: More code cleanup, optimization and bug fixes.

- scheduler: make some "notice"-priority messages translatable

- scheduler: add a clause to wu_is_infeasible_custom() for SETI@home: don't process VLAR jobs using CUDA apps. Note: this is implemented in a slightly non-optimal way. If the request asks for both GPU and CPU jobs, the scheduler will first decide to use the GPU version. It will scan jobs, skipping over VLAR jobs. When the GPU request is satisfied, it will switch to the CPU version and continue scanning, accepting VLAR jobs. But the jobs that were skipped initially won't be rescanned. Also, it would be slightly nice to preferentially send VLAR jobs to hosts asking for CPU work. (This could be done in the scoring function).

- scheduler: make messages translatable

- MGR: Load up the new BOINC-Client catalog if it exists.

- MGR: Prevent a race condition which could erroneously invoke the Attach Wizard when restarting the client.

- MGR: If the client exits unexpectedly, auto-restart it on Windows (and Mac) even if it was installed as a service / daemon.

- MGR: Display an alert if we auto-restart the client due to unexpected exits 3 times within CLIENT_3_CRASH_MAX_TIME minutes (currently 30 minutes.)

- WINBUILD: Fix project files so that there isn't any C Runtime Library collisions between types.

- MGR: Fix build break.

- MGR: Change the crash detect dialog target to 'crash_detection'

- client/manager/GUI RPC: add optional "translatable" arg to get_messages() RPC; if absent or false, client will strip _( ) from messages.

- MGR: Tweak text in crash alert

- client: bug fix in message code

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18144 - Posted: 23 Jul 2010 | 11:03:15 UTC - in response to Message 18032.
Last modified: 17 Aug 2010 | 11:37:07 UTC

6.11.3 (windows only)

- MGR: Bug fix: event log text was not dimmed if event log was opened after Client was disconnected.

- client: fix bug with --abort_jobs_on_exit that caused the client to request new work on exit

- client: change "unparsed tag" to "unrecognized tag" in msgs

- client: get rid of unused var work_fetch_no_new_work

- Added Linux screensaver from Nils Brause. Note: I can't get this to build because if requires a package (xcb-atom) that I can't find. Need to resolve this.

- WINSETUP: Update validate install procedure to account for the removal of boinc.dll and addition of boinclog.exe.

- MGR: Move auto-proxy detection code into its own thread.

- client: entity-encode client-generated notices (e.g. they may contain XML tags)

- lib: XML_PARSER::parse_str(): if text is enclosed in ![CDATA[,don't entity-unescape it

- client: init gstate.now early so that initial msgs have timestamps

- lib: fix the above

- lib: fix compiler warnings.

- client: don't archive system notices, so they don't persist across client restarts. These notices are for transient conditions. If the user has fixed the condition, there's no reason to keep showing the notice. If they haven't fixed it, the notice will be regenerated soon.

- manager: fix spelling error in simple GUI.

- Unix build: don't error out if xcb or xcb-atom aren't found; just don't build the screensaver

- client: don't do two RSS fetches at once

- manager: WxWidget's HTML renderer doesn't seem to like \n's. For example, if you try to render foo <img src=...> blah all it shows is foo. Work around this by replacing \n's with br

- manager: in simple view, where it says Elapsed time, show elapsed rather than CPU time

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18182 - Posted: 27 Jul 2010 | 13:04:46 UTC
Last modified: 17 Aug 2010 | 11:36:08 UTC

6.11.4
This release introduces BOINC Notices. Due to changes required in the server software only the BOINC Alpha project and SETI@Home Beta project currently support notices. This list will grow over time as projects upgrade to the current server versions. We expect that the SETI@home production project will upgrade shortly.

Changes since 6.11.3

- WINSETUP: Update validate install procedure to account for the removal of boinclog.exe.

- fix CUDA memory leak

- MGR: Make the simple GUI messages dialog display notices instead.

- client/manager: add the ability to associate URLs with client-generated notices. Use this as appropriate: e.g., for errors about cc_config.xml syntax, direct user to the web page describing this syntax.

- MGR: Mark all notices as having been read if either Simple GUI messages dialog or Advanced GUI Notices tab is open

- Mac: Delete source files sg_SGUIListControl.cpp,.h from XCode project

- MGR: Make Event Log Window persistent, hide it when closing main window

- MGR: Don't save bogus window dimensions when iconized

- client: have project update fetch RSS feeds as well as doing a scheduler RPC. This is to facilitate debugging, and is probably temporary.

- client: the client shouldn't check for a physical connection (contacting google.com and possibly alerting the user) for "background" HTTP ops. These include:
periodic account manager requests
periodic notice RSS feed fetches
periodic fetch of project list
periodic fetch of current client version

- MGR: If the simple GUI received a notification event, display the messages dialog.

- MGR: The simple GUI wasn't restoring state properly thereby causing the reminder frequency to be set to zero and preventing any reminders from being displayed.

- MGR: Rework the notices code so the document doesn't make any assumtions about the UI.

- MGR: Fix a bug in the Linux notification window code. Synchronize event behavior with Windows.

- MGR: Add some padding to each notice.

- manager: msg tweak

- MGR: for saving / restoring arrival time of last read notice, extract the host name from host.domain_name

- MGR: If Event Log was open, show it in front of main window when "opening" Manager after it was hidden

- MGR: Don't update the notice tab text unless the unread notice count has changed.

- MGR: Don't update the last arrival time for the host unless it has changed from the last time it was saved.

- MGR: Opps, forgot to move some code before commiting yesterday, don't update the last save arrival time unless the user clicks on the balloon.

- MGR: Stop the simple GUI from blinking the messages button when the balloon is clicked.

- client/scheduler: fix a group of bugs related to the new mechanism where the client tells the scheduler which app versions its queued jobs use (this is needed, e.g., to enforce per-app or per-resource job limits). In this mechanism, the client sends an array of <app_version>s, and each <other_result> includes an index into this array.
The wrong index was being sent (client).
If an <app_version> had a non-existent app name (e.g. because that app had been deprecated) it wasn't getting put in the array, invalidating array indices. Furthermore, an erroneous message was being sent to the user

- Fix: if parse error for <app_version>, put it in the array anyway, but with cav.app = NULL, meaning that it's a place-holder. Send a message to user only if anon platform.

- manager: increase notice buffers to 64K

- MGR: Enable the manager to be able to deal with any size notice.

- MGR: Take another stab at the z-order problem when both the event log and main window are open.

- MGR: Don't replace control characters for regular messages.

- MGR: if Event Log was open, show it _behind_ main window when "opening" Manager after it was hidden

- MGR: remove my code for extracting host name from host.domain_name; it is not needed

Profile Retvari Zoltan
Avatar
Send message
Joined: 20 Jan 09
Posts: 2312
Credit: 16,136,000,987
RAC: 41,507
Level
Trp
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18184 - Posted: 27 Jul 2010 | 15:16:57 UTC - in response to Message 18182.
Last modified: 27 Jul 2010 | 15:19:00 UTC


- fix CUDA memory leak



Is this error present in the current recommended version (6.10.58)?

Profile rebirther
Avatar
Send message
Joined: 7 Jul 07
Posts: 53
Credit: 3,048,781
RAC: 0
Level
Ala
Scientific publications
watwatwatwatwat
Message 18189 - Posted: 28 Jul 2010 | 16:02:43 UTC - in response to Message 18184.


- fix CUDA memory leak



Is this error present in the current recommended version (6.10.58)?


You can only test it, sometimes from version to version a new bug is present then its fixed.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18349 - Posted: 15 Aug 2010 | 3:41:01 UTC
Last modified: 17 Aug 2010 | 11:35:28 UTC

Note this one has been removed from the download page. Rom has requested us not to use it because it has some serious problems

6.11.5 change log

- client: fix typo that prevented the correct link to be used for going to the log flag configuration wiki page.

- MGR: Fix a bug that hid the Event Log when switching between Advanced and Simple Views.

- client: Kick off an auto proxy detection pass on any http error, only attempt a follow-up reference site check if the proxy server name changes. This may mean that'll it will be the second or third connection attempt before the CC starts using the new proxy information.

- API: add result name to APP_INFO_DATA structure (for Volpex)
scheduler: add max_download_urls_per_file config option (to limit the length of workunit.xml_doc, which is currently capped at 64KB). From Bernd.

- file deleter: if we're configured to generate cached MD5 checksums, delete those files too.

- scheduler: add log messages (conditioned by debug_credit) if result.fpops_cumulative or result.fpops_per_cpu_sec is present

- manager: change "Attach to project" to "Add project"; change "Detach from" to "remove"
scheduler: fix bug that crashed if app_info.xml refers to nonexistent app

- MGR: Fix bugs saving and restoring info on which notices have been read: saving as a double reduces precision, so save arrival time as string; to avoid problems caused by rounding in save & restore operation, test in reverse order (oldest first) and for arrival time <= dLastReadNoticeTime

- MGR: Remove any remaining hints that there were two wizards at one time.

- MGR: Save the username and email address in different places in the registry/config file

- MGR: Remove connection needed type sys tray notifications from the manager, lets the CC inform via a notice instead.

- MGR: Use the account manager name provided by the project config RPC instead of the skin name on the CompletionPage in the wizard.

- client: wait until after the proxy check completes before attempting to check on the reference site.

- MGR: fix crash bug on non-Windows computers.

- Mac: XCode project: delete source files WizardAttachProject.cpp,.h and BOINCWizards.h; add files WizardAttach.cpp,.h.

- MGR: clear notices display when selecting a different host to force display of new host's notices.

- MGR: fix compiler warnings, some of which predict incorrect operation.

- client: Fix autoproxy detection so that it doesn't break platforms that currently do not support proxy detection.

- client/scheduler: tweak translatable messages

- MGR: Remove EVT_END_SESSION event handler for now. It was causing a recursive call to itself on shutdown thereby halting the Windows shutdown procedure on Windows XP and older systems. It would eventually crash the process with a stack overflow error.

- MGR: Remove useless Notices button.

- client: tweak translatable msg

- client/scheduler: tweak translatable messages

- client: don't extra jobs for backup (resource share = 0) projects

- MGR: Modeless top level windows should not have the context help button in the upper right-hand corner of the dialog. Use the standard control there.

- MGR: Fix a bug which shut down local client even though Manager didn't launch it when Manager was connected to a remote host.

- API: warning fix

- MGR: Add command-line parameters for automatic connection to remote host:
-n --namehost Host name or IP address
-g --gui_rpc_port GUI RPC port number
-p --password Password

- MGR: If currently connected host name is empty string, don't autorestart local client.

- MGR: Possible fix for vtable reference issue.

- scheduler: add <primary_platform_only> config option: send only 64-bit app versions to 64-bit hosts (the default is to send whatever app version is fastest)

- MGR: preserve message filtering by project if Event Log is closed and reopened, but not when selecting a different host or exiting Manager.

- MGR: Check whether another instance of BOINC Manager is already running; if so, show Select Computer dialog with extra text saying another instance is running; if user cancels dialog, exit Manager.

- MGR: Adjust control positions and resize controls after a text change.

- lib: Make procinfo_win.cpp Unicode compatible.

- MGR: Don't allow the Create function of the Wizard to be called twice, it'll basically lead to both an assert and a memory leak.

- MGR: Don't create the wizard unless we are going to use it.

- WIN_BUILD: Remove references to crypto.cpp, and .h from libboinc_staticcrt so that projects who use it won't need to worry about pulling in OpenSSL.

- lib: fix crash if you close and reopen an MFILE

- API: remove deprected stuff related to:
1) old-style apps with graphics in main program. No one should be using these anymore.
2) writing init_data.xml in boinc_finish(). This was used by deprecated "compound app" scheme.

- scheduler: if request reports results that were previously reported, that's evidence that the previous reply was not received by client. It may have contained results. So set a "resend lost results" flag.

- client: fix a bug that caused GPU apps to fail on startup in the following situation. Suppose GPU job A is running, and GPU job B (which has never run before) preempts it. Then
1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty)
2) A is told to quit; B isn't started until A exits (because they're GPU jobs)
3) before A exits, B is suspended
4) eventually B is started.
Its scheduler state is SUSPENDED rather than UNINITIALIZED, so the scheduler thinks it slot dir has already been populated. But it hasn't, and when the app starts it fails immediately because no files are there.
Fix: decide whether a slot dir needs to be populated by seeing whether it's empty, rather than looking at the scheduler state of the task.

- MGR: revert Rom's change #22191; calling Fit() after a text change redraws the dialog at its minimum size, making it impossible to resize the dialog.

- MGR: "Another instance" message in Select Computer dialog gets Manager name from skin.

- MGR: Adjust control positions and resize controls after a text change, using Layout(); don't use Fit() or FitInside(), which resize the window. Remove the messy logic I used before to ensure the filter button is long enough to fit the longer text. NOTE: we should add this logic everywhere we have a control whose label text changes with status, since we cannot predict which label will be longer in every language translation.

- lib: Prevent category information from being lost in notices.


Note this one has been removed from the download page. Rom has requested us not to use it because it has some serious problems

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18357 - Posted: 17 Aug 2010 | 11:33:13 UTC

New version to fix the bugs with 6.11.5 (which was removed).

6.11.6 change log

- lib: prevent crash on startup if slot directories have been deleted.

- client: fix bug in my last checkin

- lib: removed unneeded include. Fixes #1004

- MGR: Fix build break on Mac

- scheduler: message tweak

- MGR: Allow Notices tab to scroll smoothly, disallow selection of items in Notices tab.

Profile skgiven
Volunteer moderator
Project tester
Volunteer tester
Avatar
Send message
Joined: 23 Apr 09
Posts: 3968
Credit: 1,995,359,260
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18465 - Posted: 29 Aug 2010 | 17:13:05 UTC - in response to Message 18357.

Not keen on the fact that 6.11.6 does not report your GPU:
Instead of the Boinc Messages Tab there is an empty Notices Tab.
Now we dont know if Boinc recognises the card until we get work.

Snow Crash
Send message
Joined: 4 Apr 09
Posts: 450
Credit: 539,316,349
RAC: 0
Level
Lys
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18475 - Posted: 30 Aug 2010 | 12:33:20 UTC - in response to Message 18465.

Messages have been moved to the "Event Log". I am at work and can't remember which menu it is on but it does exist. It is not as nicely formatted as it was on the Messages tab. They have also switched what menu "Computing Preferences" is on. I'm not sure if I care much where these things are, it is just different and I don;t really understand why they were changed. As a corp[orate software developer making changes simply for change sake alone doesn't make much sense to me.
____________
Thanks - Steve

Profile skgiven
Volunteer moderator
Project tester
Volunteer tester
Avatar
Send message
Joined: 23 Apr 09
Posts: 3968
Credit: 1,995,359,260
RAC: 0
Level
His
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18485 - Posted: 31 Aug 2010 | 20:27:15 UTC - in response to Message 18475.

I encountered an oddity when returning from 6.11.6 to 6.10.58:
While EVGA Precision showed me that all 3 of my GT240’s were running (on an i7 system), Boinc only showed 1 GPUGrid task as running. The other 2 were “Waiting to Run”.
Clearly the tasks were running, but Boinc was just not displaying them as running.
When I closed and opened Boinc again, all 3 GPUGrid tasks were shown as running.
I have not seen this before on 6.10.58, so I would put it down to changes in 6.11.6.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18511 - Posted: 3 Sep 2010 | 14:22:42 UTC - in response to Message 18475.

Messages have been moved to the "Event Log". I am at work and can't remember which menu it is on but it does exist. It is not as nicely formatted as it was on the Messages tab. They have also switched what menu "Computing Preferences" is on. I'm not sure if I care much where these things are, it is just different and I don;t really understand why they were changed. As a corp[orate software developer making changes simply for change sake alone doesn't make much sense to me.

The BOINC devs say they did it because people were constantly asking about the normal error messages that BOINC generates as it does it's work. So they decided to bury the messages so newbies would bug them (and the projects) less. Now messages are under Advanced/Event Log. The Notices tab takes the place of the Messages tab. IMO the best thing about the Notices tab is that it can be turned off...

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18584 - Posted: 9 Sep 2010 | 12:07:27 UTC

6.11.7 change log (Mac and Windows)

- MGR: In the future I need to be more careful when I flatten a class hierarchy. I broke the ability to get the latest project configuration from account managers. Fix that.

- MGR: Fix build issue on Linux (Sqlite3 needed to be added to the list of libs and header directories to be included)

- MGR: Remove copyright claims to wxWidgets code.

- client: check whether anonymous-app files exist

- client: parse (and ignore) <anonymous_platform> element in state file

- MGR: Remove unused WXDLL* declarations to improve Linux compatibility.

- MGR: Set the email text box validator to a simple text validator when the project in question only supports usernames.

- client: Only error out of the CPU version check if the call to CPUID(0) returns zero.

- MGR: Try and clean up all the undefined reference errors for the GCC linker

- MGR: Finish implementing the use of Usernames in the account manager part of the wizard. I must have been asleep at the wheel on that one.

- scheduler: change the "primary_platform_only" config option to "prefer_primary_platform". If an app has only only 32-bit versions, use the for 64-bit clients.

- client: maintain "gpu_active_frac" in addition to "active_frac" (which really means CPU active)

- MGR: Further refinements to Client shutdown logic on Manager Exit: Old: Manager shut down Client only if it started the Client. New: Don't show exit dialog if connected Client is not on localhost. Mac: Manager shuts down Client only if it started the Client and if the Client is on localhost. Windows, Linux: Manager shuts down Client, whether or not the Manager started the Client, but only if the Client is on localhost and the user requests Client shutdown in the exit dialog, even if running as a service on Windows. As before, it skips the exit dialog and uses the saved behavior if the user previously set "Remember this decision and do not show this dialog."

- MGR: On Mac only, Close Window menu item (or its shortcut Command-w) closes the Event Log if it is the front window.

- client: treat notices from schedulers a little differently. Ignore duplicate notices unless they're at least 24 hours newer than the previous one.

- client: ignore case in names of "exclusive apps" and exclusive GPU apps

- client: fix bug that caused GPU apps to not be suspended or resumed immediately after exclusive GPU app transition

- client: in log message, instead of saying "fetching tasks for GPU", say which kind of GPU TODO: GPU suspend/resume works by setting or clearing gpu_suspend_reason, then calling request_schedule_cpus(). There's no explicit suspending or resuming. CPU suspend/resume should work the same way.

- client: back out changeset [21086], which cleaned out project dir on reset. The semantics of reset are to not delete sticky files.

- client: fix "boinc_temporary_exit()" support. This is critical for GPU support.

- client: fix problems with exclusive_gpu_app feature.

- MGR: Properly display which components have trouble loading when a skin is defined.

- MGR: A new new skin which will become the new default skin.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18803 - Posted: 1 Oct 2010 | 12:38:09 UTC
Last modified: 1 Oct 2010 | 12:41:43 UTC

6.11.8 (Windows only)

- client: support notice feeds from account managers. Implementation: create a base class PROJ_AM, from which both PROJECT and ACCT_MGR_INFO are derived, with basic stuff like name, URL, and RSS feed list h the above
debug the above. It now successfully displays an RSS feed of news items from Google, linked from a project manager

- scheduler: fix "prefer_primary_platform" logic (I hope).

- client: remove duplicate notices based on GUID as well as text (Google RSS feeds, e.g., change random strings in URLs in the item description, but leave the GUID the same)

- client: if a client has no jobs for a resource, decay its STD for that resource by a factor of e every day

- MGR: Statistics tab: add scroll bar to project list, replace hidden double-click function with new "Hide / Show Project List" button, enable & disable buttons appropriately.

- boinc_cmd: don't crash if can't connect to local client

- WINSCR: Set the screen saver log directory to the data directory.

- WINSCR: Already create a log file, even on release builds, just don't write trace messages.

- WINSCR: Be a bit more paranoid about not being able to detect keyboard and mouse activity. If the function fails for whatever reason shutdown the screensaver.

- client: remove spurious msgs about deleting files while in use

- scheduler: add log messages related to max jobs in progress

- MGR: Statistics tab: add graph showing sum of selected projects, rename other mode buttons "All projects (separate)", "All projects (together)". Minor bug fix: call UpdateSelection() from OnRestoreState().

- lib: check for malloc() NULL return; fixes #921

- MGR: Statistics tab: optimize and fix bugs in new graph showing sum of selected projects.

- client: a bit of IPv6 compatibility
use "sockaddr_storage" to store network addresses (which may be IPv4 or IPv6)rather than assuming they fit in an int.
the entries in remote_hosts.cfg may now be IPv6 addresses (a:b:c::e:f:g format), or domain names of hosts that support only IPv6 Note: GUI RPCs are still constrained to use IPv4, but this should be easy to change if it's every needed Also: replace deprecated gethostbyname() with getaddrinfo().

- client: revert to old network functions (gethostbyname() etc.) on Win:
inet_ntop() etc. exist only on Vista+ the other functions are declared in winsock2.h. This breaks the Manager build, since wxwidgets includes winsock.h. So to hell with it.

- windows build: manager doesn't depend on client

- API and sample apps: pass buf length arg to boinc_msg_prefix() and use snprintf() to avoid overrun. Can't see why this could ever happen. Attempt to fix crash in E@h apps.

- client (Win): use MoveFileEx() to rename file. More atomic than delete/rename fixes #1010

- client: if we successfully did CPU benchmarks, don't keep doing them every 5 days unless restart the client fixes #994

- client: fix boinc_temporary_exit() handling on Unix (from Hien)

- client: improve "wrong URL" messages

- client: add title to client/server messages: "Notice from BOINC"

- scheduler: message tweak

- client: when computing non-BOINC CPU usage, allow for the possibility that suspended BOINC apps aren't really suspended (e.g. multithread apps that don't use boinc_init_parallel())

- client: message tweak

- scheduler: fix crashing bug when client reports a large # (1000+) of results (256KB not enough for query in this case)

- Mac: Update XCode project for XCode 3.2.4.

- client/web: change RSS feed mechanism a little. If <use_since_time> is included in feed description, the client will append &since_time=x to the URL, where x is the lastBuildDate of the previous reply. This notices handler (notices.php) sends only notices newer than this.

- client: discard old notices as they arrive

- client: typo fix

- MGR: Display the default action in the system tray menu in bold again.

- MGR: If connected to the localhost, don't display the computer name in the window title.

- MGR: Change the exit menu item text to be a little more specific about what is being shutdown. Use the same scheme as the exit text in the status bar so that it'll automatically be localized.

- SCR: Remove some old Win9x code.

- client: write GPU info to client_state.xml, so that it can be input file to the client simulator.

- Mac: add Mac executables of wrapper application.

- client simulator: major remodel and upgrade. Insteady of using its own XML input files, the simulator now takes a client_state.xml file as input. The simulator generates a synthetic workload based on the projects, apps, app versions, WUs, and result it finds there. This means that a user seeing aberrant behavior can just send their client_state.xml file and (hopefully) we can use the simulator to repro. The simulator now can model GPUs. As of this checkin, the simulator compiles but doesn't work. There should be no change in the actual client.

- client: fix bug that cause wasted scheduler RPC Old: when a job finished, we cleared the backoffs for the resources it used. The idea was to get more jobs immediately in the case where the client was at a jobs-in-progress limit. Problem: this resulted in an RPC immediately, typically before the output files were uploaded. So the client is still at the limit, and doesn't get jobs. New: clear the backoffs at the point when output files have been uploaded and the job is ready to report.

- client: change range in resource backoff from (0,x) to (.5, 1.5*x)

- client: add <no_info_fetch> config option and --no_info_fetch cmdline arg. Suppresses the fetch of project list and of current client version #. Use when running on grid nodes.

- debugging on client simulator. Not done yet.

- MGR: Make the new BOINC skin the default skin.



6.11.9 (Mac and Windows)
- client: if we suspend apps because non-BOINC CPU is is too high, leave them in memory. Otherwise (if the CPU use is caused by launching an app, say by security software) we would get into a loop.

- Mac: update release script to add new BOINC skin.

- client: if a process has priority <= that of BOINC apps, don't include it in non-BOINC CPU time. Otherwise the presence of such a process could prevent BOINC from running apps. (Windows only - will do Unix/Mac later)

- client: in computing non-BOINC CPU time, ignore ACTIVE_TASKs that don't have a process.

- client (unix): don't count low-priority processes towards non-BOINC CPU time. NOTE: when you nice a process to 19, its priority in /proc is 39 (at least on Ubuntu and FC11). I can't find where this offset (20) is documented, so I just hardwired 39.

- lib: Temporary work-around for unknown problem with IPV6-compatible code on Mac.

- lib: make str_util.h C-compatible (from Matt Arsenault) lib/

- lib: Add test for low-priority processes to procinfo_setup() and relatives on Mac.

- lib: Fix problem with IPV6-compatible code on Mac: we need to set the third argument to connect() differently for IPV4 or IPV6. NOTE: This is not yet tested with actual IPV6 addresses.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18846 - Posted: 6 Oct 2010 | 21:28:30 UTC
Last modified: 6 Oct 2010 | 21:30:52 UTC

From the BOINC alpha mailing list. Probably won't effect too many on here...

Date: Tue, 5 Oct 2010 16:31:37 -0400
From: "Rom Walton"
Subject: [boinc_alpha] ATI Coprocs on 6.11.9
To: "BOINC alpha"

If your using your ATI graphics adapter for crunching you should revert to 6.11.7 or older. .9 and possibly .8 had a bug that prevents the project servers from assigning work.

----- Rom

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18852 - Posted: 7 Oct 2010 | 1:08:27 UTC - in response to Message 18846.

From the BOINC alpha mailing list. Probably won't effect too many on here...

Date: Tue, 5 Oct 2010 16:31:37 -0400
From: "Rom Walton"
Subject: [boinc_alpha] ATI Coprocs on 6.11.9
To: "BOINC alpha"

If your using your ATI graphics adapter for crunching you should revert to 6.11.7 or older. .9 and possibly .8 had a bug that prevents the project servers from assigning work.

----- Rom

It affected me in both Collatz and DNETC on at least 1 machine. This is how BOINC v6.11.9 identified the ATI CAL version:

<CALVersion>Hk}</CALVersion>

Nice. Actually v6.1.7 has serious problems too. v6.11.6 seems the best so far of the current series.


MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 18945 - Posted: 16 Oct 2010 | 2:31:55 UTC
Last modified: 16 Oct 2010 | 12:07:13 UTC

6.12.2 is available for testing from the usual place. Mac and Windows at the moment.

For those who use multiple BOINC Managers on a machine, you'll notice that just launching BOINC Manager from the start menu just brings the already running BOINC Manager into focus. You have two ways of running multiple BOINC Managers under Windows:

1. Advanced View - Tools/Launch another BOINC Manager

2. Create a new shortcut and specify the --namehost, --password arguments or pass the --multiple argument.


On the Mac, there are twp ways to launch a second instance from the command line (using the Terminal utility application):
open -n /Applications/BOINCManager.app --args -m
open -n /Applications/BOINCManager.app --args -n hostname -p password

The first method will work just like the "Launch another BOINC Manager" menu item. The new instance of the Manager will open displaying the Select Computer dialog.

The second method allows you to automate the process a bit more and tell the new instance of BOINC Manager to connect to the BOINC CLient on the specified host using the spedified password.

An example of the second method might be:
open -n /Applications/BOINCManager.app --args -n 192.168.0.4 -p
1234567890abcdef1234567890abcdef


Changes since 6.11.9

- scheduler: check whether client is reporting the same result twice in a given request message. Eliminate duplicates; they mess things up.

- scheduler: fix RESULT#0 problem in message log

- scheduler: typo in app_plan() for ATI GPUs; fixes #1016. undo recent change to str_util.h; it broke FCGI compile

- scheduler: deal correctly with jobs that need > 2GB RAM. Such jobs fail on 32-bit machines, even if they have sufficient RAM, because 32-bit OSs don't support address spaces > 2GB. In general, we want to support the following scenario:
an app has a mixture of small (< 2GB) and big (> 2GB) jobs. there are app versions for both 32b and 64b platforms one of the 32b versions is faster than the 64b version (say, it's a 32b GPU app)

Goals: If the client is 32b, send it only small jobs, using the fast 32b version if possible. If the client is 64b and has sufficient RAM, send it large jobs using the 64b version; send it small jobs using the fast 32b version if possible, else the 64b version

Solution: extend get_app_version() so that it detects big jobs, and uses only 64b versions for them. Add a "for_64b_jobs" field to BEST_APP_VERSION so that we maintain a separate memoized set of BEST_APP_VERSIONs for big jobs.

- client: don't set report_results_immediately inappropriately

- MGR: On Linix, minimize the main window instead of trying to hide it when close is selected on the window instead of the menu. Ideally the main window would just be hidden until the notification icon is clicked, but apparently wxWidgets/GTK/X doesn't like it when you attempt to hide the main window.

- MGR: Display what cpu architecture the manager was built for in the about box.

- client: remove debugging code accidentally left in

- client: don't fetch RSS feeds if "no_info_fetch" flag is set

- client: fix bug causing garbage values in ATI descriptions

- crypt_prog: show cmdline options if error. Fixes #1019

- client: don't show GPU suspend/resume msgs if no GPUs

- ss_app: call rpc.init(NULL) not rpc.init("localhost") to work around a bug which prevented default screensaver boincscr from communicating with client on Mac (and probably other computers which support IPV6.)

- MGR: Add command-line argument --multiple or -m to allow multiple instances of BOINC Manager to be run. If a second instance is launched without this argument, it will bring the original instance to the front and quit. If this argument is present, the second instance will automatically run the Selectr Computer dialog (as before.) Also add "Launch another BOINC Manager" menu item to Advanced menu.

- manager: remove last few instances of "detach" from messages. fix a few absolutely last messages with "attach", "detach"

- client: add <max_tasks_reported> config item: limit the # of completed tasks reported per RPC

- GUI RPC: remove unneeded isIPV6 flag, factor out sizeof() logic

- Mac: Update build scripts and documentation.

- Mac: Update build example.

- Mac: Update build scripts, build examples and documentation.

- GUI RPC: when resolving hostnames, ask for only IPV4 addresses. No point in allowing IPV6 since the client doesn't create a listening socket for IPV6

- Win/Linux: Implement the launch new manager functionality for Windows and Linux.

- MGR: Sanitize the event log output from the CC.

- MGR: Take two of the above.

- client: fix bug with the <max_tasks_reported> config option. If # of ready-to-report tasks > max_tasks_reported, then the excess ready-to-report tasks weren't getting reported to the scheduler at all (i.e. not in <other_results> either) so the scheduler would resend them (not a fatal problem, but a waste of bandwidth). From Josef Segur.

- API/client: move CUdevice_attribute_enum out of lib/coproc.h to fix app build errors

- client: fix compiler warning.

- MGR: Check for a duplicate instance much earlier in the initialization cycle, before any window or document creation. Prevents rapid window creation and then destruction.

- client: when an app exits, adjust debts before erasing ACTIVE_TASK. Otherwise the last episode won't get accounted

- MGR: Complete above initialization changes for the Mac

- MGR: Don't require --multiple arg to launch a new instance if both --namehost and --password args are specified.



Changes from 6.12.1
- MGR: It turns out it was some wxWidgets parameter parsing wierdness in the newly launched application that was throwing the error. Double quotes around the parameter didn't fix the issue. For the time being just hard code 'boincmgr.exe' as argv[0] as it isn't used by the Windows client at all. wxWidgets won't find --multiple if it is argv[0]

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19005 - Posted: 22 Oct 2010 | 11:31:48 UTC
Last modified: 22 Oct 2010 | 11:35:01 UTC

6.12.4 is available for testing. Mac and Windows versions.

Changes since 6.12.2

- client: use project STD, rather than arrival time, as the major criterion in choosing non-EDF GPU jobs. GPU scheduling now respects resource share, and as a result STD should no longer diverge.

- lib: Fix problems with Mac backtrace code: use atos only if present, etc

- client: delete a notice if it's no longer in the RSS feed. E.g., if a project deletes a news item, remove it from notices.

- notices RSS: remove the "since_time" mechanism (an optimization that conflicts with the above)

- MGR (WIN): While it is a perfectly valid thing to use FindWindow() and ShowWindow() on an application frame to restore an application from a minimized state or a hidden state on Windows (75% of the UI test automation would fail at Microsoft without this ability), it appeartly isn't for other platforms. wxWidgets is or appears to be tracking window state internally, which leads to problems when the OS restores the window and the rest of the framework doesn't know about that change in state. Certain window events were being ignored (like WM_CLOSE, menu selection events, etc.). So replace the previous mechanism for bringing an existing instance of the BOINC Manager to the foreground by creating a new global window message which is tracked by the system tray icon. When the new global message is fired make sure the CBOINCGUIApp::SetActiveGUI() function is called to restore the window state which in turn updates all the internal framework data structures.

- client: distinguish between messages to be displayed as HTML (e.g. "Download new client here" link) and others (e.g. "Bad tag in cc_config.xml: <foo>").

- code cleanup; move show_message from main.cpp to client_msgs.cpp

- client: on startup, generate a message and notice about new client version if needed

- client: notice debugging

- Mac: Update XCode project for new source files client/current_version.cpp,.h

- MGR: Add missing keyboard shortcut for the Event Log

- MGR: Add missing elipses for the new instance of BOINC Manager and Event Log.

- MGR: Display a simple message when saying that there are no notices to be displayed when the client reports there are zero notices.

- lib: Display message if attempting backtrace on a PowerPC Mac running under OS 10.5.x

- Client: benchmarks msg tweak

- client: ignore exclusive apps including "boinc"

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19361 - Posted: 9 Nov 2010 | 11:47:28 UTC

6.12.5 (Mac and Windows)

- Mac: Update XCode project for new source files client/current_version.cpp,.h. (checked in to boinc_core_release_6_12_4)

- client: update STD of ineligible projects by decay only. Not sure why, but this eliminates gradual negative drift.

- client: linux compile fix

- client: small fix for GPU scheduling (use anticipated debt instead of STD)

- scheduler:
fix logic that deals with jobs that need > 2GB RAM. My change of 1 Oct ([22440]) required that such jobs be processed with 64-bit apps, on the assumption that 32-bit apps have a 2 GB user address space limit. However, it turns out this limit applies only to Windows (kernel and user mode share the 4GB address space; each gets half). On Linux, the split is 3GB user / 1 GB kernel. On Mac OS X, user mode and kernel mode have separate address spaces, each of them 4 GB.

- manager: if attaching to existing account, don't check min passwd length

- manager: fix non-translatable "0 bytes"

- client and manager: fix notice titles

- code cleanup: please use standard coding conventions

- client: small initial checkin for new scheduling system. Keep track of per-project recent estimated credit

- client: show --no_gpus option in --help

- client: don't preempt GPU jobs in middle of time slice

- client: fix problems with job scheduling policy.
Old:
job scheduling has 2 phases. In the first phase (schedule_cpus()) we make a list of jobs, with deadline-miss and high-STD jobs first. Keep track of the RAM used, and skip jobs that would exceed available RAM. Stop scanning when the # of CPUs used by jobs in the list exceeds the # of actual CPUs. In the 2nd phase (enforce_schedule()), we add currently running jobs (which may be in the middle of a time slice) to the list, and reorder to give priority to such jobs, and possibly also to multi-thread jobs. We then run and/or preempt jobs, keeping track of RAM used.

Problems:
suppose we add an EDF 1-CPU job to the list, then a MT job. We'll stop at that point because #CPUs is exceeded. But enforce_schedule() won't run the MT job, and CPUs will be idle.
Because the list may be reordered, skipping jobs based on RAM is not correct, and may cause deadlines to be missed.

New:
when making the job list, keep track of #CPUs used by MT jobs and non-MT jobs separately. Stop the scan only if the non-MT count exceeds #CPUs. This ensures that we have enough jobs to use all the CPUs, even if the MT jobs can't be run for whatever reason.
don't skip jobs because of RAM usage
skip MT jobs if the MT CPU count is at least #CPUs

Notes:
ignoring RAM usage in phase 1 can cause idleness in some cases, e.g. suppose there are 4 GB of RAM and the list has jobs that use 3 GB, but there are also some jobs that use 1 GB. I'm not sure how to fix this.
Maybe the 2-phase approach is not a good idea. We did it this way for efficiency, so that we don't have to recompute the job list each time a job checkpoints. But this is probably not a concern, and I like the idea of a simpler approach, e.g. reducing the policy to a single comparison function.

- GUI RPC: parse GPU info, FLOPS from APP_VERSION records (client already sends this info)

- manager: show app speed and task FLOPs estimate in task Properties

- client: gpu_active_frac was being computed incorrectly, resulting in various scheduling problems

- client: comment out update_rec() call

- client: comment out a debug msg

- MGR: Fix the event log so that it doesn't store the event log's size information when it is in a minimized state.

- MGR: Fix the close dialog issue on wxGTK, apparently there is a hidden flag that governs the handling of the GTK callback function. Fixes #962 (Thanks for the patch cli)

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19364 - Posted: 9 Nov 2010 | 12:38:01 UTC - in response to Message 19361.

This one has the fix for the cache size and high priority problems which have caused some comment on this project.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19393 - Posted: 9 Nov 2010 | 23:24:41 UTC - in response to Message 19364.
Last modified: 9 Nov 2010 | 23:26:35 UTC

This one has the fix for the cache size and high priority problems which have caused some comment on this project.

It's a disaster here. All 5 machines that I installed 6.12.5 on quit running a full complement of CPU programs and refused to run AQUA at all. Reverted to 6.12.4 and they all started behaving properly again except of course for the GPU cache shrinkage bug.

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19395 - Posted: 10 Nov 2010 | 0:05:57 UTC - in response to Message 19393.

This one has the fix for the cache size and high priority problems which have caused some comment on this project.

It's a disaster here. All 5 machines that I installed 6.12.5 on quit running a full complement of CPU programs and refused to run AQUA at all. Reverted to 6.12.4 and they all started behaving properly again except of course for the GPU cache shrinkage bug.

Didn't do that here - two machines, both running AQUA and a selection of other projects, seem to be task switching as expected. But if you're seeing problems, we need to track them down and report them. There are changes to the scheduler in this new version, designed to overcome an earlier AQUA/high priority bug introduced with v6.10.57: they haven't been tested until this release, and problems are entirely plausible.

But it will require a bit of perseverance, running with the new version and being prepared to describe the symptoms in detail (including setting debug logging flags if needed). Are you willing to help with that?

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19397 - Posted: 10 Nov 2010 | 0:09:14 UTC - in response to Message 19395.
Last modified: 10 Nov 2010 | 0:15:58 UTC

I'll do it on one machine. Had <ncpus>-1</ncpus> set and thought maybe that was the problem but deleting it made no difference. On all 5 even when I suspended all other CPU programs except FreeHAL nci, AQUA refused to start. On 4 of the boxes only 1 CPU app would run at a time (all are quads). On one box 4 Docking apps would run but when suspended the AQUA app would not start.

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19399 - Posted: 10 Nov 2010 | 0:20:43 UTC - in response to Message 19397.

Thanks. Too late for me to have a go at it tonight, only just got in and my head won't be clear enough until the morning. I'll just point a "heads up" and pointer to this thread for other projects to see, then have a detailled look tomorrow. The [nci] job may be a clue.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19400 - Posted: 10 Nov 2010 | 0:33:57 UTC

Thought so too so reinstalled 6.12.5 and suspended all CPU projects except AQUA, including FreeHAL nci. AQUA still refuses to run. Also tried suspending all the GPU projects, then nothing at all runs.

Sure would be nice to have a build of 6.12.4 with nothing fixed but the gpu_active_frac typo.

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19404 - Posted: 10 Nov 2010 | 8:56:45 UTC

There's been quite a big change on this overnight - changeset [22668]. You might prefer to defer testing of v6.12.5 after all, and concentrate on v6.12.6 when it comes out - provided you can live with or manage the gpu_active_frac issue in the meantime.


  • client: change scheduling policy to allow multithread jobs to coexist with GPU jobs that use significant CPU time.
    -- Old: run a MT job only if total CPU usage will be < #CPUs + 1. So if you have some GPU jobs running and their CPU usage sums to < 1, BOINC will run a MT job too. But if CPU usage > 1 BOINC won't run the MT job, and some CPUs will be idle.

    Note: to maximize throughput, it might be better to run either GPU jobs or MT jobs, but not both at the same time. However, volunteers don't like it when CPUs are idle. So...
    -- New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs. So we'll run a 4-core MT job (at low priority) even if GPU jobs (which run at normal priority) use > 1 CPU. (Yes, the MT job might run very slow)

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19413 - Posted: 10 Nov 2010 | 14:26:51 UTC - in response to Message 19404.
Last modified: 10 Nov 2010 | 14:28:17 UTC

There's been quite a big change on this overnight - changeset [22668]. You might prefer to defer testing of v6.12.5 after all, and concentrate on v6.12.6 when it comes out - provided you can live with or manage the gpu_active_frac issue in the meantime.

  • client: change scheduling policy to allow multithread jobs to coexist with GPU jobs that use significant CPU time.
    -- Old: run a MT job only if total CPU usage will be < #CPUs + 1. So if you have some GPU jobs running and their CPU usage sums to < 1, BOINC will run a MT job too. But if CPU usage > 1 BOINC won't run the MT job, and some CPUs will be idle.

    Note: to maximize throughput, it might be better to run either GPU jobs or MT jobs, but not both at the same time. However, volunteers don't like it when CPUs are idle. So...
    -- New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs. So we'll run a 4-core MT job (at low priority) even if GPU jobs (which run at normal priority) use > 1 CPU. (Yes, the MT job might run very slow)


I'll wait for 6.11.6. However 6.11.5 is not working the way they claim it's supposed to. The total GPU usage is far < 1 on all of my machines. The MilkyWay crunchers use virtually no CPU time and even GPUGRID uses far less than 1. BTW, the MT AQUA tasks run fine on all my machines with no noticeable slowdown, even the boxes with 2 GPU apps running. Don't know why they had to change anything regarding GPU usage and MT apps. Why not just return to the way 6.12.4 and all earlier clients handled this?

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19418 - Posted: 10 Nov 2010 | 18:37:43 UTC - in response to Message 19413.

Why not just return to the way 6.12.4 and all earlier clients handled this?

Because some users on the BOINC message boards started reporting a bug in v6.10.58, and saying "why can't we just go back to v6.10.56, which worked properly". The object of the exercise is to get rid of all the (reported) bugs, so that we don't have one set of users saying 'use v6.12.4, that works for AQUA', and another set of users saying 'use v6.10.56, that works for ...' - er, AQUA it was, actually. And so on.

Profile Zydor
Send message
Joined: 8 Feb 09
Posts: 252
Credit: 1,309,451
RAC: 0
Level
Ala
Scientific publications
watwatwatwat
Message 19421 - Posted: 11 Nov 2010 | 6:29:55 UTC - in response to Message 19418.

Richard

If it helps your BOINC quest, more than happy to run a version for you on my main machine, tell me which one, whatever helps to support you in the latest bug hunt, howsoever that may manifest itself. I am one of those who drifted away from Aqua as such, kind of try it again once in a while but bit half heartedly, due to the effect Aqua MT was having on my GPU crunching. At present I run 6.10.58

I understand the potential hit I might take, and the need to run logs for you, just let me know which logs you want running. It will not be with GPUGRID tasks, as you are aware I have now gone totally AMD on both machines, but if that does not matter to you, no problem. I tend to run MW, Collatz, and DNETC in that order on the GPU, until the AMD app here is deployed.

Regards
Zy

Richard Haselgrove
Send message
Joined: 11 Jul 09
Posts: 1276
Credit: 3,375,441,561
RAC: 151,775
Level
Arg
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19422 - Posted: 11 Nov 2010 | 9:02:27 UTC - in response to Message 19421.

Richard

If it helps your BOINC quest, more than happy to run a version for you on my main machine, tell me which one, whatever helps to support you in the latest bug hunt, howsoever that may manifest itself. I am one of those who drifted away from Aqua as such, kind of try it again once in a while but bit half heartedly, due to the effect Aqua MT was having on my GPU crunching. At present I run 6.10.58

I understand the potential hit I might take, and the need to run logs for you, just let me know which logs you want running. It will not be with GPUGRID tasks, as you are aware I have now gone totally AMD on both machines, but if that does not matter to you, no problem. I tend to run MW, Collatz, and DNETC in that order on the GPU, until the AMD app here is deployed.

Regards
Zy

Thanks.

At this stage, I think I'm going to leave it until Rom gets a v6.12.6 build ready: and then your AMD (ATI hosts) will be useful for double-checking that the work fetch inhibition for devices not supported by the project is working, too (though I see a suggestion that there may need to be server-side updates as well - not sure what the policy on that is at this project).

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19441 - Posted: 12 Nov 2010 | 8:28:54 UTC
Last modified: 13 Nov 2010 | 6:57:58 UTC

6.12.6

- client, scheduler, RPC protocol:
If the scheduler doesn't have any app versions for resource type X, it includes an element <no_X_apps>1</no_X_apps> in the reply msg (e.g., <no_cpu_apps>1</no_cpu_apps>)
The client parses and stores these flags, and doesn't ask a project for work for a resource if the project doesn't have app versions for it. Apparently I started this change in [19375] (October 2009) and forgot to finish it.

- client: fix "Snooze GPU"

- client: change scheduling policy to allow multithread jobs to coexist with GPU jobs that use significant CPU time. Old: run a MT job only if total CPU usage will be < #CPUs + 1. So if you have some GPU jobs running and their CPU usage sums to < 1, BOINC will run a MT job too. But if CPU usage > 1 BOINC won't run the MT job, and some CPUs will be idle. Note: to maximize throughput, it might be better to run either GPU jobs or MT jobs, but not both at the same time. However, volunteers don't like it when CPUs are idle. So... New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs. So we'll run a 4-core MT job (at low priority) even if GPU jobs (which run at normal priority) use > 1 CPU. (Yes, the MT job might run very slow)

- manager: don't show resources redundantly on task properties page

- boinccmd: --get_cc_status now prints its result

- client: fix yesterday's checkin [22661] for anonymous platform: if project P is anonymous platform don't request work for resource R from P if there is no app version using R in P/app_info.xml else don't request work for resource R from P if P tells us it has no app versions using R

- MGR: Disable balloons on Linux for the time being.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19444 - Posted: 12 Nov 2010 | 16:30:39 UTC - in response to Message 19422.

At this stage, I think I'm going to leave it until Rom gets a v6.12.6 build ready: and then your AMD (ATI hosts) will be useful for double-checking that the work fetch inhibition for devices not supported by the project is working, too (though I see a suggestion that there may need to be server-side updates as well - not sure what the policy on that is at this project).

I'm running 6.12.6 on 9 clients. 4 are dual ATI, 2 are single NVidia, 1 is dual NVidia, 1 has both ATI & NVidia and my notebook has no usable GPU. So far 6.12.6 seems to be running better than previous versions. The GPU cache is not getting smaller and AQUA now runs as expected.

One change that I don't particularly like is the new behavior of backup projects (project priority 0). Starting with 6.12.4 backup project WUs would suspend when the main project WUs were available. For instance I run Collatz as a backup project for both MilkyWay and GPUGRID on several machines. With 6.12.4 the Collatz WUs would suspend when the main project came back online and then run again when needed. If a Collatz WU deadline was near the backup WUs would run to completion. With 6.12.6 the Backup project WUs run to completion once downloaded. IMO this is not proper behavior and hopefully is not a return to the FIFO method of scheduling GPU WUs.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19731 - Posted: 2 Dec 2010 | 11:34:40 UTC
Last modified: 2 Dec 2010 | 11:37:26 UTC

6.12.7 (Windows only)

- MGR: Save window dimensions and position on SIZE and MOVE events to make sure changes are recorded even if the window is minimized (iconized) when exiting BOINC.

- client: account manager RPC:

Additions to request message:
-- <not_started_dur>X</not_started_dur>
-- <in_progress_dur>X</in_progress_dur>
The estimated remaining duration of unstarted and in-progress tasks.

Additions to reply message, within <project>, optional:
<suspend>0|1</suspend> suspend or resume project (overrides local state)
<abort_not_started>0|1</abort_not_started> if set, abort unstarted jobs.

- Add support to detect VirtualBox VM software.

- client and scheduler: a client host may have multiple VM systems installed. TODO: check for VirtualBox on Mac, Linux.

- client: Add support to detect VirtualBox VM software on Mac.

- Port missing minor change from trunk.

- Mac Installer: remove obsolete kludge for generating x86_64 screensaver.

- win_tray: Add logging support to trap crashes (of boinctray).

- client: in account manager requests, include the following per-project attributes: suspended_via_gui, dont_request_more_work, deatch_when_done, ended.

- client: restore code to maintain recent estimated credit.

- client: Add VirtualBox detection for Linux.

- Mac Installer: eliminate wrapper application around install package.

- Mac Installer: permit remote install via SSH using command-line installer.

- client: improve the way credit history is maintained

Old: Maintain list of daily records. When add a new record, delete records older than a month.

Problem: If there's a gap in the record (e.g. because project was down) deleting old records may result in a list that has an entry only for today. Data for the last month is lost.

New: When appropriate, adjust the date of old records rather than deleting them.

- Mac Installer: command-line installs test for existence of files /tmp/nonadminusersok.txt and /tmp/setboincsaver.txt

- MGR: Switch to the tasks tab when a request to execute benchmarks has been requested. The messages tab no longer exists.

- client: fix bug where client would ask project for work for a resource even when the project doesn't have app versions that use the resource.
TODO: there are 2 functions, compute_may_have_work() and dont_fetch(), that do the same thing and both have misleading names. Clean this up.

- Mac Installer: Better handling of custom installer icon.

- MGR Statistics tab: always show last 30 days in all projects (sum) graph.

- Remove BOINC_RCSID tags from more source files.

- client: Copy the AltiVec CPU feature to the p_features field, leave AltiVec in the host model field for backwards compatibility.

- client: implement more scheduler changes that use recent estimated credit (REC) instead of debt.
These changes are enabled by #define USE_REC in work_fetch.h.

If this is commented out (the default) the client uses debt-based scheduling, same as before. TODO: work-fetch policy changes

- client simulator: various fixes:
-- compute idle and wasted fraction based on all processing resources, not just CPU.
-- compute job completion times based on FLOPS, not CPU seconds.
-- compute and use project->no_X_apps etc.

- GUI RPC, client side: add error-checking for CC_STATE::parse(); avoid crash if error or missing item in reply XML.

- client: fix compiler warning.

- vbox: Create a new VirtualBox wrapper using the VirtualBox COM API set. Use the existing wrapper as the baseline. Current wrapper just dumps the existing VMs defined on the machine. More to follow.

- client: work fetch fix: try to maintain GPU work all projects, since we now do round-robin for GPUs as well as CPU. NOTE: this bug was found using the client simulator!

- client simulator: generate REC graph.

- client: do exponential backoff (from 10 min to 24 hours) on account manager RPC failures, rather than always waiting 24 hours.

- client: use <foo>0|1</foo> instead of <foo/> or "" as XML boolean. This distinguishes between "false" and "not defined" (did this in a few places, should do it everywhere).

- client: send host info in account manager request message.

- client: on startup, generate a notice if any jobs require more RAM than is allowed by prefs.

- manager: show RAM limit in task properties.

- api: check return values of functions used in boinc_msg_prefix(), return a (valid) empty string if an error occurred.

- MGR: Use standard menus, even on Windows, for the Simple GUI.

Profile Beyond
Avatar
Send message
Joined: 23 Nov 08
Posts: 1112
Credit: 6,162,416,256
RAC: 0
Level
Tyr
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19751 - Posted: 3 Dec 2010 | 19:17:00 UTC - in response to Message 19731.

Posted 6.12.8 just a few hours later, 6.12.7 must have had a showstopper:

BOINC 6.12.8 released for testing for all platforms

Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when 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.
<std_debug>: problems involving short term debt.

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.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.

The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Change Log:


lib: The custom Mac backtrace code doesn't work on Intel Macs running under OS 10.5.x, so use newer backtrace() and backtrace_symbols() APIs under OS 10.5.x, with explanatory text suggesting alternatives. (Checked into 6.12.7 tag.)
client: fix major bug in job scheduling

Old: scheduling has 2 phases:
1) computing a list of jobs to run (a vector of RESULT*); this is done infrequently
2) enforcing the schedule; this is done more frequently

Problem:

when we enforce the schedule, the RESULTs in the jobs-to-run list may not still be runnable, and in fact they may not still exist (dangling pointer).

New: combine the 2 phases

client, acct manager protocol: allow <no_cpu>, <no_cuda> and <no_ati> bools within <account> in reply message. They suppress work fetch for that resource type from that project.
Mac lib: use newer backtrace() APIs under OS 10.5.x on Intel Macs.
Mac Installer: Updates for OS 10.6.5 compatibility.
client: fix scheduling bug. The round-robin simulation wasn't handling multithread jobs correctly.
For example, given two 3-CPU jobs, it would model running them together on a 4-CPU host. This doesn't correspond with the CPU scheduler, which runs only 1 at a time. So the simulator would say that there are no idle CPUs when in fact there are, and no new CPU jobs would be fetched.

client: fix typo that broke communication with account managers.
API: compile fix for Win.
client: slightly change detach scheme for account managers.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 19806 - Posted: 8 Dec 2010 | 12:14:58 UTC
Last modified: 8 Dec 2010 | 12:15:48 UTC

6.12.9 for the Mac are on the download page. Not too sure what issue(s) they address though.

Profile rebirther
Avatar
Send message
Joined: 7 Jul 07
Posts: 53
Credit: 3,048,781
RAC: 0
Level
Ala
Scientific publications
watwatwatwatwat
Message 19810 - Posted: 8 Dec 2010 | 20:05:30 UTC - in response to Message 19806.

6.12.9 for the Mac are on the download page. Not too sure what issue(s) they address though.


- Mac Installer: Fix failure to auto-launch on OS 10.4.x.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20135 - Posted: 7 Jan 2011 | 8:23:01 UTC

6.12.10

- manager: fix compile warnings; from Steffen Moller

- client: fix scheduling bug when a job has fraction_done = 1 but it's not finished yet. ACTIVE_TASK::est_dur() was returning 0 when it should have returned elapsed_time.

- client: fix bug where "reread config file" didn't update the max log file sizes

- client: fix scheduling problem:
Old: enforce_schedule() won't run an active job if its working set size exceeds remaining available RAM.
Problem: there may be a lot of similar jobs. The client starts one, finds that its working set is too large, starts the second, and so on.
Solution: if J is an unstarted job, and there are started jobs using the same app version, consider J's working set size to be the largest of the working sets of those jobs.

- client: fix an apparent bug that could oversaturate the CPUs with single-thread jobs

- client: work fetch: if the chosen project is currently uploading a file, and an upload started in the last 5 min, don't fetch work from it. The goal is to merge the 2 scheduler RPCs (fetch work, report completed taskS) into a single RPC. Note: this may result in idleness in some cases.

- client: if detect that system clock has been set backwards (either at startup or during execution) reset a number of "wait until X" variables; otherwise we might wait years to contact a project, restart a file xfer, etc. Notes: there is no problem setting clocks forward; things just happen prematurely, some variables (e.g. task deadlines) are not reset, because it's not clear what to set them to

- client: improve text of "message from server" notices

- manager: change "add account manager" to "use account manager". "Add" is confusing, because you can't add multiple account
managers like you add projects.

- client: recognize a few new ATI GPU models from [P3D] Crashtest

- client: tweak to ATI CPU recognition from [P3D] Crashtest

- unix build: remove hardwired -ldl

- client: show a given system notice at most once a week

- Mac: Fix symbol table generation

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20185 - Posted: 18 Jan 2011 | 20:20:44 UTC

This release is an intrim release. It is not a release candidate for public use, we are releasing this build to check if David's fixes for client scheduling fixed the issues reported last week and to track down the crash issue reported in the manager. This build as a few issues with the Simple GUI buttons. We should have the Simple GUI buttons fixed in the next week.

6.12.11 change log

- client: use std::deque instead of std::vector for RR sim's pending-job lists. Erasing head of vector is slow.

- lib: allow GPU peak FLOPS to be specified in XML (for simulator)

- client: old work fetch policy: projects may need enough jobs for all device instances, not just resource_share*ninst. E.g. a project that has only CPU jobs in a CPU/GPU client

- client: with REC scheduling, don't ask for work for secondary resources if project has negative priority

- client: in RR sim, make sure we saturate devices if possible. Otherwise we may report a shortfall incorrectly

- client: set PROJECT::last_upload_start when a job completes, NOT when its first upload starts. This prevents a scheduler RPC from happening between the two. This was a bug in [22841]

- client: tweak [22842] so that system clock changes of < 60 seconds are ignored

- MGR: Embed the BOINC skin in the executable using XPM files.

- single-job submission system: don't hardwire i686 architecture; make it work on any Linux system. From Steffen Moller.

- MGR: Disable the background repaint events for the SGUI Messages and SGUI Preferences dialog. Changing the font color wasn't as easy as I had hoped and the black background for the skin doesn't do any good when the text itself is black as well.

- scheduler/client/API: pass user ID and team ID from scheduler to client, and from client to app (host ID is already passed).

- MGR: re-enable background painting and just change the default background color for the new default skin to light gray.

- unix build system: generate_svn_version
generate version string from plain git repositories, too
define SVN_REPOSITORY (URL) and SVN_REVISION (numerical) separately so these could be used in proprocessor directives
make the Manager build on FC11

- client: fix job scheduling bug.
Scenario: we have 2 CPUs and 1GB RAM Project A has jobs that use 1GB. Project B has small-mem jobs. Currently, we ignore RAM usage in building the runnable job list, so we might pick 2 jobs from project A. enforce_schedule() (which checks RAM usage) will run just one of them, and the other CPU will be idle.
Solution: keep track of RAM usage while building the runnable job list.

- client: code cleanup in CPU scheduling; eliminate global variable

- Mac: update release script to remove install of separate BOINC skin.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20245 - Posted: 26 Jan 2011 | 11:12:05 UTC

6.12.12 change log

Mac: update release script to remove install of separate BOINC skin.

- simulator work

- client: eliminate unnecessary CPU reschedules. Currently we do a reschedule any time a job checkpoints, in case there's a job that has finished a time slice but hasn't checkpointed yet. Instead: flag such jobs, and trigger a reschedule on checkpoint only for flagged jobs.

- client: fix instability in job scheduling that happens if a job's estimated completion time in RR sim is close to its deadline. It can alternate between making and missing deadline, causing the scheduler to alternate rapidly between jobs. Solution: if RR sim has marked a job as deadline miss any time in the last (CPU scheduling period), treat it as a deadline miss.

- client: if we're using an acct mgr, and we're attached to a project manually (not via acct mgr) and the acct mgr tells us to detach from it, don't.

- MGR: Fix advanced view button is Simple GUI. (Button Text is Verdana 8pt. in MS Paint)

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20336 - Posted: 3 Feb 2011 | 11:46:15 UTC

6.12.13 change log

- MGR: Save window dimensions and position on SIZE and MOVE events to make sure changes are recorded even if the window is minimized (iconized) when exiting BOINC.

- client: accept <options/> and <log_flags/> in cc_config.xml

- client: reset log flags (as well as options) when rereading cc_config.xml

- Mac: Add info about dual-GPU Powerbooks to ReadMe files.

- Mac: Localize items in Mac's BOINC menu.

- MGR: Use branded short application name in Help tooltips instead of always using "BOINC".

- Mac: Eliminate unused source files Localization.cpp, .h from Mac project.

- client: make "wrong URL" message not be a notice

- WINSETUP: Avoid a 0xc0000135 error by giving the boinc_master and boinc_project membership in the 'Users' group. Dynamic linking to nvcuda.dll was failing because the project applications were being denied access to DLLs in the system directory.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20403 - Posted: 12 Feb 2011 | 8:17:07 UTC

6.12.14 change log

- MGR: Enable the volunteer configurable 'shutdown core client' feature on exit for Linux. It was orginally supposed to be enabled when the balloon features were enabled, but got lost in ifdef hell.(From "Lee")

- client/manager: show venue in project properties

- manager: msg tweak

- client: don't crash if omit cmdline port#. Fixes #1040

- MGR: Fix a bug that is several years old, appears to have been introduced during the Unicode conversion phase for Windows. Passing a wide character string into an narrow character function causes a NULL reference exception. TODO: There is still an issue if the manager attempts to write to stderr when the BOINC Manager log files are redirected to a directory in which the user doesn't have access too.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20461 - Posted: 18 Feb 2011 | 13:01:28 UTC

6.12.15 change log

- Mac Installer: Fix the code which deletes installer receipts to use the current package name (which changed when I eliminated the Mac installer wrapper application around the installer package.) This is needed to allow installing an older version to replace a newer one under OS 10.4.x.

- Mac: More thorough error checking and recovery in code which localizes items in Mac's BOINC menu.

- Mac: Additional error checking and release created objects in code which localizes items in Mac's BOINC menu.

- Mac installer: update branded build scripts to eliminate wrapper application around install package (as was done for BOINC 6.12.7).

- manager: project properties: if no venue, show "default"

- client: fix work-fetch bug. The change in [21877] caused tasks in "download stalled" state to be skipped in RR simulation, and therefore to not be counted in the work buffer. However, "download stalled" was not being evaluated correctly; it was considering only per-file backoff, not project-wide backoff.

- client: another work-fetch bug: don't fetch work from a project in project-wide download backoff.

- client: fix bug in mechanism that defers work request until pending uploads are finished. Due to a typo, this was not being done.

- client: when exclusive app mechanism is used (CPU or GPU) wait for 30 secs after excl app exits before restarting computation

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20617 - Posted: 5 Mar 2011 | 8:03:31 UTC

6.12.16 change log

- Mac: Update link to NVIDIA CUDA Mac driver download page.

- client: when detach project, remove its RSS feeds from list

- client: remove once-per-week limit for client-generated notices; need to show "network connection required" more often

- client: when remove "network conn required" notice (because now have conn) set the flag that says complete notice list is being sent

- client: if RSS feed fetch returns <error_num>, show the corresponding message rather than "XML parse error"

- client: Fast User Switching does not change the session protocol to RDP when the active session is put into the background and a new one is brought into the foreground. It appears it is safe to use the connected state in addition to the protocol to detect when the session is no longer capable of processing GPU work

- client: more notice-related fixes. I'm working on this case:
start up
disconnect (produces notice)
reconnect (removes notice) The client is now doing the right thing. The manager is not.

- client: make "wait 30 sec after exclusive app exits" apply to network too

- client: fix bug in "wait 30 sec after exclusive app exits" logic

- client: fix compile warning and possible bug in is_remote_desktop()

- win: remove wrappture_example from solution (until Hubzereo guys get their win lib working)

- client: fix compiler warning.

- client: surround the opaque field in a CDATA block.

- client: wait 15 seconds (instead of 5) for an app to exit before killing it. Apparently some apps take ~10 sec on slow computers.

- client: in the loop that starts up apps, check if we've been in the loop for 10 sec. If so, break out of it and reschedule. Avoid starving GUI RPCs and heartbeats.

- client: finish [22902] (pass user ID, team ID to apps). Forgot to parse them in scheduler reply.

- client: on finish upload, trigger work fetch (since we may have been waiting for upload finish)

- client: fix crash: if remove an RSS feed, remove its active HTTP op if any.

- MGR: Properly handle the case where the only notice in the manager is the 'no notice' notice and then we transition to a single notice from another source.

- manager: show notice create time rather than arrival time

- client: don't show "need network" notice if we don't need it

- client: when get a bunch of notices from RSS feed, sort them by create time before appending to notice list. This ensures that, in the Notices tab, notices are ordered decreasing create time within an RSS feed (though not necessarily across feeds)

- MGR: Turn -boincargs into a string instead of an option.

- MGR: Turn off the task pane for the notices tab.

- MGR: Disable our color scheme is a non-white background is selected for the current theme. My commit on 3 Mar 2010 wasn't good enough for High-Contrast themes.

- client: in deciding whether to remove the "need network" notice, we were using the wrong (too high-level) interface

- MGR: Change the reminder frequency interval to hours and adjust the min/max values to 0/24. Default value is now 6 hours between notification reminders.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20632 - Posted: 8 Mar 2011 | 12:41:32 UTC

6.12.17 change log

- boinccmd: fix --get_project_config operation

- client: fix inaccuracy in RR simulation reported by Bill Barber. The problem arises when there are jobs of projects with widely differing resource shares, and results in an overestimation of saturated time. Old: at the start of simulation, call WORK_FETCH::compute_shares() to get resources of runnable projects. Use these throughout the simulation. Problem: suppose you have 2 runnable projects; P1 has large RS, P2 has small RS. P1's jobs finish quickly. P2's jobs then are running alone, but their FLOPS is scaled (incorrectly) by P2's small RS. Solution: recompute relative CPU resource share within the simulation loop, and compute it over the projects that have actives jobs in the simulation.

- MGR: reduce duration of notifications on Mac from 15 to 5 seconds.

- manager: fix copyright date in about box

- client: fix spurious error when removing a notice RSS feed

- client: print smoothed as well as instantaneous WSS

- manager: make RPC reason strings translatable

- MGR: Refactor part of the Options dialog out of the Advanced Frame

- MGR: Change the Reminder Frequency option in the Options dialog to a combo box. TODO: Change the taskbar logic to handle the 'always' case.

- MGR: ComboBox's are zero index based.

- MGR: Handle the 'always' option by only popping a new balloon if the unread notice count differs from the last time we popped a balloon.



6.12.18 change log
- MGR: Don't attempt to set the project or account manager if the project list control does not contain any items. This can cause a crash if the all_projects_list.xml is empty.

- Backout change set [23175], it prevents work-fetch with 6.12 scheduler.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20786 - Posted: 26 Mar 2011 | 0:43:07 UTC

New version available to testing. Currently only windows builds.

6.12.19 change log

- MGR: Fix compiler warning.

- MGR: Fill in initial URL on Account Manager Wizard Selection page.

- MGR: Add a new page to Attach Wizard to be displayed if the user rejects the Terms of Use.

- lib: Make sorts of projects and account mangers case-insensitive.

- client and API: pass "network suspended" flag from client to app; make it available as part of BOINC_STATUS

- SCR: Follow the Mac's lead and gracefully exit the Data Management thread. Preserve the handle to take more drastic actions should that not work.

- SCR: Fix compile breaks.

- manager: fix crashing bug when notices (or other text parsed by XML_PARSER) contain non-ASCII characters. Rom: please port to 6.12

- manager: fix the above to detect premature EOF correctly

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 20874 - Posted: 7 Apr 2011 | 12:02:30 UTC

6.12.20 change log

- WINSCR: So after looking over all the logs from WCG and now from Jacob Klein a pattern started to emerge. At the end of the log files the last message logged was 0x12 which translates into WM_QUIT. The latest documentation on WM_QUIT states it should never show up in the message loop to begin with. The docs now say that WM_QUIT should not be sent to the message loop by way of PostMessage. We have been doing things this way for over 5 years. Change the shutdown logic so that only the primary curtain window can call PostQuitMessage() and all other curtain windows just exit when they receive a WM_DESTROY message. I'm not sure what causes this to be a problem on some machines and not others. But preliminary results from Jacob are encouraging.



6.12.21 change log
- client: discard messages whose create time OR arrival time is more than 30 days ago



6.12.22 change log
- MGR: Handle the link click events from the notices control for the Simgle GUI notices dialog box.

- MGR: Fix compile break.

- MGR: Remove UserDisagreesPage from the wizard, replace functionality by enabling/disabling the next button as needed.

- MGR: Fix a couple of warnings.

- client: use larger buffer for app command line, enough to accommodate 64KB from wu.cmdline

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 21035 - Posted: 22 Apr 2011 | 3:34:46 UTC

Warning: This version doesn't work properly under Windows

Note from Rom:

Abort trying to install this build for right now...

I'll have a new build out tomorrow.

MS released new versions of their C Runtime Library which are different then what libcurl, zlib, and OpenSSL are linked against. I have to rebuild all those libraries and update the installer package to account for these latest Windows patches.

----- Rom



6.12.23 change log
- Mac: Eliminate unused source files UserDisagreesPage.cpp, .h from Mac project. (Checked into boinc_core_release_6_12_22.)

- client: if PREFS::max_ncpus_pct is 0, don't set it to 100; doing so prevents PREFS::max_ncpus from having any effect.

- client: defer reporting completed tasks if an upload started recently; we might be able to report more tasks once the upload completes.

- MGR: Remove unneeded asserts.

- MGR: Add missing keyboard accelerators for the event log.

- MGR: Re-enable the next button when the terms of use wizard page when the back button is pressed.

- client: add <heartbeat_debug> log flag
show trickle-up and int file upload msgs if <app_msg_receive> set
if scheduler RPC reason is trickle-up, say so

- manager: restore "non CPU intensive" to task description

- project properties: show if RPC in progress or trickle-up pending. (show these low-probability things only if present)

- manager: fix Unix build (from Ian Hay)

- MGR: Check to see if keyboard accelerators can be redefined on the fly.

- MGR: Add missing event handler map item.

- client: fix bug that cause notice RSS feeds to disappear and reappear, and notices to erroneously be shown as new.

- client: when estimating job runtime based on fraction done, use the elapsed time when fraction done was last reported, not current elapsed time. Fix problem where est time remaining increases linearly, then abruptly decreases when new frac done is reported. From Bruce Allen.

- client: fix a couple of the messages that are appended to a job's stderr when the job is aborted

- client: replace % with %% in messages from scheduler (else they're interpreted as format strings)

- MGR: Adjust the width of the various tabs in advanced view if the notice text width changes.

- MGR: Remove dead code.


Warning: This version doesn't work properly under Windows. See note from Rom above

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 21052 - Posted: 25 Apr 2011 | 0:55:36 UTC
Last modified: 25 Apr 2011 | 9:18:25 UTC

WWell 6.12.24 came out for Windows, but it still has side-by-side errors.

I've noticed that EVGA precision now gets errors when it starts up, complaining about the C run time library, so Microsoft seems to have broken a fair few programs while patching their security hole.


6.12.25 is now out for Windows and the side-by-side error has been resolved.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 21096 - Posted: 28 Apr 2011 | 14:08:46 UTC

6.12.26 change log

- client: don't use the Snooze mechanism to handle OS-requested suspension (especially with a 1-hour snooze period). Instead, handle them directly.

- client: fix bug: statement had no effect.

- account manager RPC: include TIME_STATS and NET_STATS in request message

- client: show error messages from account managers correctly

- client: win compile fix

- client: fix bugs in runtime estimation of jobs that have run before but are not currently running.
Old: We maintain the most recent fraction_done in state file. But for apps that checkpoint seldom or never, this is not the relevant value, and frac done may go down when the app runs.
fraction_done_elapsed_time is not initialized, and can have garbage values for jobs that haven't run yet.
New: Record, in the state file, the values of fraction_done and fraction_done_elapsed_time at the most recent checkpoint. When the client starts up, use these values.

MarkJ
Volunteer moderator
Project tester
Volunteer tester
Send message
Joined: 24 Dec 08
Posts: 738
Credit: 200,666,904
RAC: 0
Level
Leu
Scientific publications
watwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwatwat
Message 21240 - Posted: 25 May 2011 | 10:54:04 UTC
Last modified: 25 May 2011 | 11:13:55 UTC

6.12.26 was released to the public

Post to thread

Message boards : Number crunching : BOINC 6.12.26 released