| Author | Message |
MarkJ Volunteer moderator Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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  Scientific publications
                   
|
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
|
|
Retvari Zoltan

Send message Joined: 20 Jan 09 Posts: 2380 Credit: 16,897,957,044 RAC: 0 Level
 Scientific publications
                        
|
- fix CUDA memory leak
Is this error present in the current recommended version (6.10.58)?
|
|
rebirther

Send message Joined: 7 Jul 07 Posts: 53 Credit: 3,048,781 RAC: 0 Level
 Scientific publications
   
|
- 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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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.
|
|
skgiven Volunteer moderator Volunteer tester

Send message Joined: 23 Apr 09 Posts: 3968 Credit: 1,995,359,260 RAC: 0 Level
 Scientific publications
                          
|
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
 Scientific publications
                   
|
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
|
|
skgiven Volunteer moderator Volunteer tester

Send message Joined: 23 Apr 09 Posts: 3968 Credit: 1,995,359,260 RAC: 0 Level
 Scientific publications
                          
|
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.
|
|
Beyond

Send message Joined: 23 Nov 08 Posts: 1112 Credit: 6,162,416,256 RAC: 0 Level
 Scientific publications
                      
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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
|
|
Beyond

Send message Joined: 23 Nov 08 Posts: 1112 Credit: 6,162,416,256 RAC: 0 Level
 Scientific publications
                      
|
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>Hk}</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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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 Volunteer tester
Send message Joined: 24 Dec 08 Posts: 738 Credit: 200,909,904 RAC: 0 Level
 Scientific publications
                   
|
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: 1639 Credit: 10,159,968,649 RAC: 351 Level
 Scientific publications
                         
|
This one has the fix for the cache size and high priority problems which have caused some comment on this project.
|
|
Beyond

Send message Joined: 23 Nov 08 Posts: 1112 Credit: 6,162,416,256 RAC: 0 Level
 Scientific publications
                      
|
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.
|
|