BOINC 5 versions Change Log

Message boards : BOINC client : BOINC 5 versions Change Log
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 · Next

AuthorMessage
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10004 - Posted: 5 May 2007, 17:59:40 UTC

Rom wrote us a change log :)

5.9.7

Howdy Folks,


Most of the changes for this release are geared toward the migration of 32-bit to 64-bit software. The x64 installer will not move the data in c:\program files (x86)\boinc to c:\program files\boinc automatically. Any lingering binaries in c:\program files\boinc are erased before installation begins. The CC will continue to execute 32-bit app_versions until a project announces a 64-bit app_version, then it will download the 64-bit app version instead.


Tomorrow we’ll re-enable the 64-bit version of uppercase in http://issac.ssl.berkeley.edu/alpha to test this upgrade scenario.


Please report any problems to http://issac.ssl.berkeley.edu/alpha and file any bugs in Trac at http://boinc.berkeley.edu/trac.


----- Rom

Change Log:

- Mac: Revert to wxMac-2.8.0 due to bugs in later versions.
- Mac: Update XCode project, build scripts and build instructions to use wxMac-2.8.0.

Tag these changes for 5.9.6 release.

- fixes #154:
* refactored the alternate platform mechinism so that we can support multiple alternate platforms.
* moved everything to cs_platforms.C since we expect the kind of sprawl that is in host_info.C on the *nix environments.
- Clean up some warnings
- Add cs_platform.C to Makefile.am
- Mac: Use run_program() instead of wxExecute to launch boinc CC, because under wxMac-2.8.0, wxExecute starts a separate thread to wait for child's termination. wxProcessTerminationThread uses a huge amount of CPU time (about 11% of 1 CPU on 2GHz Intel Mac).
- Mac: add cs_platform.C to XCode project.
- fixes #5: Include the version number of the client next to it's name, so people can see if they need to upgrade a remote client.
- fixes #149: Change the parsing function for the CBOINCGridCellProgressRenderer so that we don't have to update the docs or screenshots. Display the progress bar as a resource share fraction.
- Core client: handle multiple platforms correctly.
Remove the tacet assumption that a host can handle applications for a single platform. With the Apr 30 scheduler changes, a project may (at different times) send app versions for the same app and version number, but different platforms. Before we would have ignored all but the first; now we handle them correctly.

Implementation notes:
- Add APP_VERSION.platform, RESULT.platform, and RESULT.version_num. If these are missing from an XML doc (e.g. an existing state file or a scheduler reply from a project not running current server) then set to the primary platform.
- Continue to write workunit.version_num and active_task.version_num to state file, even though these are no longer part of the struct. This allows users to revert to an older version.
- Core client: small changes to make the client simulator act reasonably.
- change > to >= for check for running beyond sched period
- adjust debts before calculating anticipated debt
- Mac: Update license agreement, modify build scripts to include license agreement with bare-client releases, not only wih Manager.
- Fix build break for Unicode builds ( From Frank Weiler )
- Win: Introduce a custom action to delete any lingering binaries from the installation directory before MSI determines what needs to be copied.
- Win: Introduce a custom action that will migrate C:\Program Files (x86)\BOINC to C:\Program Files\BOINC for the x64 upgrade scenario.
- Include the new custom actions in the Windows Installers

Kathryn :o)
ID: 10004 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10060 - Posted: 8 May 2007, 15:57:34 UTC
Last modified: 8 May 2007, 15:59:11 UTC

5.9.10

Howdy Folks,

This release has a few fixes, we believe we have shaken out the last of the alternate platform bugs. We have included fixes for the service installs on Vista 32-bit and 64 bit machines. We have added an option to the cc_config.xml file to disable the alternate platform mechanism.

See http://boinc.berkeley.edu/trac/wiki/ClientMessages for more details.

Please report any bugs to http://boinc.berkeley.edu/trac and report test results to http://boinc.berkeley.edu/alpha.



----- Rom



Change Log:
- core client: fix bug in code to ignore unknown platforms.
- fixes# 162: Fix the Windows setup to install the CRT as a private assembly
so that we can avoid running into sxs problems. At some point I'll have to revisit this and figure out what is really going on.
- core client: add <no_alt_platform> config option;
eliminates use of alternate platforms.
- fixes #110 - Simple GUI: "spacer" image is not updated
- fixes #4 - BOINC Manager should be able to find it's
localization files.

BOINCMgr will now check in the absolute path in which
it was installed as well as the relative path from where
it was executed from.

ID: 10060 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10285 - Posted: 16 May 2007, 17:19:17 UTC

5.9.11

Change Log:

- core client: improve error message when can't link app version

- GUI RPC: add new element d_boinc to DISK_USAGE;
tells how much disk space BOINC is using (not including projects).

- Mac: Refresh Disk Usage pane only on every 10th call to reduce CPU overhead, but refresh once per second the first 3 times to work around a bug drawing the legends. (Also included in 5.9.10 Mac release, added to boinc_core_release_5_9_10 tag.)

- Finally fixed a long-standing bug which caused the PieCtrl legend to be clipped to a small rectangle when first drawn on Macs. If the legend changed so it required more space, this bug would also clip to the former size the first time it was updated. This problem did not occur on Windows.
NOTE: I currently can't build on Windows or Linux, so please verify that my modified code works OK on those platforms.

- Mac: removed the hack which refreshed once a second the first 3 times to work around this bug.

- A better fix for Mac PieCtrl legend clipping bug: wxPieCtrl::Refresh() calls new wxPieCtrlLegend::MeasureText() method to caclulate size of the legend area and SetSize() of legend window before OnPaint() is called. Apparently, calling SetSize() from within the OnPaint() function doesn't adjust the "invalid" area to be repainted until a return to the event loop, so the added area didn't get painted until the next OnPaint() call. Also, the wxMemoryDC bitmap was being created at the smaller size, so that was also clipping the drawing.

- Mac: include size of BOINC Manager bundle in BOINC total disk usage displayed in Disk Usage pane Pie Chart.

- Possible fix for a crashing condition when the manager is shutdown from the system tray icon.

- client simulator: make it compile on Win

- client: parse version_num in active_task to avoid spurious error msg

- fixes #164: Aborting a Task

- client: add constructor/destructor for APP_VERSION, WORKUNIT, RESULT

- client: with anonymous platform, don't link app version twice


- Account manager:
- if an account is detach_when_done, set dont_request_more_work

- check done_request_more_work even for first-time projects

- boinc_cmd: add --network_available and --get_cc_status options

- core client: fix big that caused duplicate app versions to appear in state file (this was harmless, BTW)

- Fix a build break in the manager.

- One more rework of Mac PieCtrl following Frank Weiler's suggestions.
Eliminated wxPieCtrlLegend class completely, integrated legend drawing into the PieCtrl class itself, greatly simplifying it.

- Mac only: create CViewResources::GetViewRefreshRate() to update PieCtrl only every 10 seconds to reduce CPU overhead instead of doing it with a counter in CViewResources::OnListRender().

- Mac: Determine size of BOINC Manager bundle in core client if it was launched by Manager rather than in the Manager itself, to get correct information when controlling a remote computer.

- Manager: show (in Project/status) if a sched RPC is in progress

- Change the 'ProductName' in the resource structures to 'BOINC client' instead of 'BOINC core client'

- core client: in statefile read, set avp->platform before linking.

- core client: when parse app_info.xml, set platform to primary platform. Otherwise anonymous platform mechanism doesn't work.

- GUI RPC: in attach project RPC, check for already attached even in config file case

- core client: on attach to project, if the initial sched request failed, the manager would show "communicating" for 60 sec, then time out and show "failed to attach".
But the project would actually be attached. This was due to a logic error, but I fixed it in a more fundamental way: by considering an attach to be complete immediately, without waiting for a successful scheduler RPC.

This was originally done to ensure that the URL and account key were valid. But when using the BOINC Manager, we've already verified both of these before doing the attach project RPC.
When using boinc_cmd, you now have to check for messages indicating a bad URL or account key.
I changed things to print these messages on every sched RPC. Implementation: the notion of "tentative project" no longer exists.

- client: fix bug where:
1) client wakes up from hibernate
2) one or more network ops start (e.g. because backoff expired)
3) ops fail because DNS system isn't up yet
4) connect to reference site fails too
5) user sees "please create physical connection", even though there's been a physical connection the whole time.

Solution:
- keep track of "last wakeup time": the last time the time of day (measured in poll_slow_events()) increased by more than 10 times the polling interval. This must be either coming out of hibernation, or the user resetting the system clock.
- When a network operation fails, try to contact the reference site only if it's more than 30 seconds after the last wakeup time.

- MGR: Increase the connection timeout to one minute to account for slow machines during boot-up.

- client: change Win program launch to suppress hourglass cursor

- client simulator: add --cpu_sched_rr_only and --dual_dcf options
ID: 10285 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10442 - Posted: 23 May 2007, 21:27:09 UTC

5.9.12

Change Log:

- Mac: Change "GridRepublic Manager" to "GridRepublic Desktop" in GridRepublic ReadMe file.

- Mac: New shell script make_GridRepublic.sh creates a GridRepublic installer from a standard (unbranded) Mac BOINC installer plus the GridRepublic branded resources: GridRepublic.icns, GridRepublic.tiff, GR_ReadMe.rtf and skin files.

- boinc_cmd: canonicalize URLs

- Mac installer: if installer package includes a custom skin, set preferences of all users to that skin.

- Bug Fix: fprintf is an ANSI function in Linux, convert Unicode string to ANSI before writing them to sdterr.

- Bug Fix: Fix the abort button logic, VS 2005 was throwing some useful warnings.

- client: if anonymous platform, don't match platform/version in lookup_app_version(); just match app

- fixes #182 - System tray icon should be removed for both exit scenarios.

- client: fix bug if #CPUs changes during benchmark

- fixes #85 - Both Grid based views and List based views are now available.

- fixes #187 - Fix the initial refresh interval for the various views.

- Manager: Fix crash bug in wxPieCtrl.

- Mac: Add list control sources back into XCode Project (ViewTransfers.cpp,.h, ViewWork.cpp,.h,ViewProjects.cpp,.h)

- Mac: Revert XCode project, build scripts and build instructions to use wxMac-2.6.3 as a temporary workaround to SimpleGUI drawing bug.

- lib/filesys: do timed retry of delete/rename on Unix as well as Win

- client: sleep 1 sec (not 60) before retry statefile write

- client: parse <credit> in workunit XML

- MGR: Make it as plain as day what the new menu item it geared towards by calling it the accessible view.

ID: 10442 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10548 - Posted: 29 May 2007, 21:29:51 UTC

5.10.0

Change Log:

- client: unscrambled some of the #ifdefs in hostinfo_unix.C
In Linux case, if measured RAM size is negative, print some info.

- client, Unix: always use 1 (rather than slot#) in ftok().
Slot is already encoded in path.

- client, Linux: get memory size from /proc/meminfo rather than sysconf()

- Mac: Remove obsolete XCode project script phase for separate SG build symbol table.

- Add a mechanism for a project to shut down gracefully.
If <ended>1</ended> is included in config.xml, this gets send to clients, and they display a "Project ended - OK to detach" message.

- client, Windows: when making calls to get free disk space (e.g. pGetDiskFreeSpaceEx()) pass the path of the current directory instead of NULL. Otherwise, if we're running as an unprivileted user with no access to the root dir, the call fails and reports zero free space.

- Add GUI RPC to set projects debts (short and long term).
Lets you set all of them at once, as suggested by Nicolas Alvarez.

- fixes #131. Manager: make some strings translatable, and fix them

- Unix: 'make install' copies certificate authority file to client directory

- fixes #207. HTML entities in BOINC Manager have to be decoded BOINC Manager can now properly decode HTML entites for the following elements:

Projects Tab:
Project Name
User Name
Team Name

Work Tab:
Project Name
Application Name

Transfers Tab:
Project Name

Messages Tab:
Project Name

Disk Tab:
Project Name

- fixes #212. Info in columns misaligned on switching views

- Properly restore which tab view the user left from when going to the advanced view from the simple view

- Fix the problem that caused the manager to wait for 7 seconds to display anything on initial startup.

- Store the various Grid/List persisted data seperately so that the different header sizes don't cause problems.

- Disable HtmlEntityEncode/HtmlEntityDecode on all platforms but Windows for now.

- Change all references of mb_str() to c_str() in SkinManager.cpp to avoid SIGILL's on Unicode environments.

- fixes #215: Customize the VBS script used to launch BOINC Manager for each system we install on.
ID: 10548 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10603 - Posted: 1 Jun 2007, 18:21:02 UTC

5.10.0 for Linux, message

Howdy Folks,

We have reverted back to the original GTK 1.0 style of releases, it turns out there are too many issues that crop up when you attempt to do a static build with GTK 2.x. Without the ability to do static builds, the manager would be prone to crashing on different distros.

So the new policy for the Linux client we build is to just get something out that works on most/all distros and then let the package maintainers build the distro specific manager for their favorite distro and version.

Be sure to run through the manager and make sure all the functionality still works, this will be the first time we have seen the wxWidget Grid control on GTK1.x, we make need to do a bunch more tweaking.

Please log any bugs to http://boinc.berkeley.edu/trac and log test results to http://boinc.berkeley.edu/alpha.

----- Rom

ID: 10603 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10677 - Posted: 5 Jun 2007, 4:31:30 UTC

5.10.1


Change Log:

David 29 May 2007

- client: add cmdline options --exit_before_start and --exit_after_finish. This cause the core client to exit immediately before or after running a job, letting you examine the contents of the slot directory.

- fixes #220: 5.10.0 won't install on Win98

- fixes #11: Installer installs autostart command when not selected (Win9x)

- Mac: Fix substantial build breaks in reorganized hostinfo_unix.C.

- MGR: _() is for static content, wxGetTranslation is for dynamic content.

- fixed --help output of client and boinc_cmd (from Frank Thomas) Fixes #222

- core client: fix bug in set_debt() GUI RPC

- MGR: Make sure get_cc_status is called only once a second. Polling should be taken care of via MainDocument functions to make sure that RPCs calls do not become excessive.

- MGR: Get rid of an exit(0) call since it is evil in Windows programs.

- WinSETUP: Add an exception handler to the VBS script so if the user cancels the launch of BOINC Manager at startup the script itself doesn't throw an error message.

- Get memory measurements to work on Win64. The format of a process descriptor had changed a little and the format of the VM stats part was completely changed. I had to reverse engineer it - very unpleasant.

- client: a few more network_status_debug messages

- client: allow suspension of non-CPU-intensive project or app (undoes checkin of 25 Jan 2005; I don't remember why we made that change. Next time put in checkin notes!)

- client: Linux: show error msg if can't open /proc/cpuinfo or /proc/meminfo; set memory size of 1 GB in latter case. Remove duplicate code that read /proc/meminfo

- client: fix inconsistent integer benchmarks on Windows with multicore machines. I don't know why this happened, but I fixed it by doing integer benchmarks only on CPU zero. This is OK since cores have separate integer units (but not necessarily FP units). Also shortened benchmark from 60 sec to 30 sec.

- Client (Unix) show process exit codes as negative numbers also (e.g., to show BOINC error codes correctly)

- fixes #221: Win64 - attach/syncronice AMS crash Manager. The manager was getting stuck in an infinite loop since a bool wasn't being explicitly initialized to false.
Kathryn :o)
ID: 10677 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10683 - Posted: 5 Jun 2007, 11:44:16 UTC

5.10.1 for Mac, Message


I have posted BOINC version 5.10.1 for the Macintosh to the alpha download page.

Note: 5.10.x includes a significant reorganization of the code which determines the features, capabilities, memory size, etc. of the computer. Please check carefully that this information is still correct.

The installation procedure for the Mac has not changed. The Mac version does not yet support 64-bit applications; we plan to add that capability after Apple releases OS 10.5.

Cheers,
--Charlie
Kathryn :o)
ID: 10683 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10704 - Posted: 5 Jun 2007, 21:43:17 UTC

5.10.2

Change Log:

- MGR: Bug Fix for suspend/resume operations not updating in the UI after the user selected operation.
ID: 10704 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10737 - Posted: 6 Jun 2007, 15:26:16 UTC

5.10.2 for Windows x86 and Windows x64, Message

I've re-released the 5.10.2 for Windows to take care of deleting the VBS script during uninstall.

However, this will not delete VBS Scripts created by older installations, so the only way to test this would be to uninstall your current BOINC installation, then manually delete the old VBS scripts.

From there on out uninstalling should delete the old VBS script for 5.10.2 or better.

----- Rom
Kathryn :o)
ID: 10737 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10788 - Posted: 8 Jun 2007, 13:58:37 UTC

5.10.2 for Mac, Message


I have re-released BOINC version 5.10.2 for the Macintosh to the
alpha download page.

The only differences from the previous release of 5.10.2 is the
addition of a separate "Uninstall BOINC" application which is now
included in the distribution with the Macintosh BOINC Manager. Also,
the Macintosh BOINC Installer now has an application icon.

Cheers,
--Charlie
Kathryn :o)
ID: 10788 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10957 - Posted: 16 Jun 2007, 11:38:58 UTC
Last modified: 16 Jun 2007, 11:40:13 UTC

5.10.3

Change Log:

- Mac: Minor fix to error handling when setting permissions.

- Mac: Create "Uninstall BOINC" application, modify build scripts to include it in release package with BOINC Manager.

- Mac: Fix a bug in release_GridRepublic.sh build script which created a bogus " BOINC Data/locale" directory (with a bad leading space character.)

- WinSETUP: The VBS custom action should delete the existing VBS script when executing in uninstall mode.

- Mac: Fix a minor bug which caused an assert in backtrace code.

- Mac: Define NDEBUG in all projects for all deployment builds.

- WinSETUP: The VBS custom action should delete the existing VBS script in the various uninstall modes.

- Mac: Further work on "Uninstall BOINC" application: use various techniques to try to locate BOINC Manager in non-standard directories, use branding-independent search techniques. to include it in release package with BOINC Manager.

- Mac: Update visible copyright date from 2006 to 2007.

- fixes #241: BOINC Manager should only display one of each project, no matter how many time you switch to and from the page.

- rename BOINC_DIAG_USEDEFALUTS (??) to BOINC_DIAG_DEFAULTS

- client: improved the handling of unrecognized XML

Old: suppose we have
            <name>foobar</name>
            <unrec>
               <name>blah</name>
            </unrec>


where "<unrec>" is unrecognized.

We'd skip the <unrec>, but parse the <name> within it. This wrong.

New: skip the entire unrecognized element

NOTE: I implemented this in the new parser (XML_PARSER) and added it for everything that uses XML_PARSER.

The old parser still isn't quite right: it will skip until the next </unrec>, but not necessarily the matching instance of that tag.

- client: added error messages for unparsed XML in several places

- client/lib: use "else-less" syntax in XML parsing code

- Mac: Add application icons to installer, uninstaller; add "are you sure?" dialog to uninstaller. Fix installer copyright and version strings.

- fixes #237 - current BM fails to build with wxWidgets unicode variant (Applied Frank Thomas's patch)

- fix bugs introduced by recent XML changes
Kathryn :o)
ID: 10957 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10958 - Posted: 16 Jun 2007, 11:42:45 UTC

5.10.4

Change Log:

- Mac: Better application icons for installer, uninstaller.

- Mac: move uninstaller, COPYING and COPYRIGHT files to a subdirectory in Manager distributions.

- client: fixed bug in prefs parsing
Kathryn :o)
ID: 10958 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10959 - Posted: 16 Jun 2007, 11:43:28 UTC

5.10.4, message for all platforms

I’ve re-released the 5.10.4 client with a fix for the initial project list not being displayed.

----- Rom
Kathryn :o)
ID: 10959 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10960 - Posted: 16 Jun 2007, 11:44:06 UTC

5.10.5

Change Log:

- manager: fix bug in parsing of all-projects list (caused Wizard list to be empty)

- manager: change (web) to WWW

- client: if statefile has an app version an unknown platform, change it to the primary platform. The probably cause of this is that the user switched to a 64-bit client, then back to the 32-bit client. If we reject the app version, it would e.g. cause CPDN WUs to get aborted in the middle.

- change new XML parser to handle XML comments (<!-- ... -->)

- client: enforce_schedule(): if try to preempt a process that's not running, at least mark it as preempted. (this should never happen in principle)
Kathryn :o)
ID: 10960 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10961 - Posted: 16 Jun 2007, 11:44:50 UTC

5.10.6

Change Log:

- Mac: Installer writes all_projects_list.xml file to BOINC Data directory unless it already contains one. This avoids overwriting a newer project list with an older one.

- client: fetch all-projects list at startup if it doesn't exist

- client: if result in statefile is labeled with unsupported platform, set its platform to primary (this completes the fix of 11 June, hopefully fixes #262)

- client: when I changed the length of benchmark intervals from 20 to 10 seconds, this broke things on ultra-slow CPUs. I think this is because a single loop of the FP benchmark took so long that the end time of the int benchmark had already come and gone. Fixed this (I hope) by reducing the loop length by a factor of 10.

- MGR: If the screen resolution is too small for the Simple GUI switch to the Advanced GUI automatically.

- MGR: If a screen reader is detected, switch to the Advanced GUI list view automatically.

- MGR: Only detect if the host name is local once per connection.

- Mac: Exit Client if launched by Manager and Manager crashed.

- Sandbox: clean up authentication logic for privileged operations (attach, detach, reset, etc.), fixing bugs.

- Mac Sandbox: free authorization after authenticating.

- Mac: Add graphics2_util.C to XCode Project for libboinc_api.a.

- Mac: Fix bug in XCode project which sometimes overwrote symbol table files with stripped application.
Kathryn :o)
ID: 10961 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10981 - Posted: 17 Jun 2007, 1:49:09 UTC

5.10.7

Change Log:

- WINSETUP: Remove the VBS Script custom action and put back the shortcut to BOINC Manager.

- MGR: Revert back out the change to cache the host type (local/remote). Somehow it was messing up controlling remote machines.
Kathryn :o)
ID: 10981 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 11166 - Posted: 23 Jun 2007, 18:04:50 UTC

5.10.8

Change Log:

- Mac: Fix visible copyright and version strings in installer and uninstaller.
Sandbox: fix switcher call to kill to eliminate error message and to correctly send SIGKILL instead of SIGTERM.

- client: when you read a file into a string with:

loop
read a line X
S += X

it performs real bad if the file is large (allocation of std::string seems to stupid)
So I changed this to find file size n read file into

malloced buf size n
S = buf
free buf

- lib: moved functions to appropriate file

- compile fixes for Win

- client: fix two XML parsing bugs:
1) XML_PARSER::parse_int() and parse_double() wouldn't parse <foo></foo>, and in fact would consume the </foo>, so that the resulting skip_unexpected() would skip the entire rest of the document.
This was exercised because my checking of 17 Apr set the default for work_buf_min_days as "" rather than 0.

2) XML_PARSER::scan_tag() was removing spaces, so <venue name="home"> parsed as venuename="home"
This actually didn't do any damage.

- client: read only first 63KB of stderr.txt

- user web: default work_buf_min_days is 0, not ""

- Mac: if (log_flags.state_debug) print debugging info when rename of client_state_next.xml to client_state.xml fails

ID: 11166 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 11226 - Posted: 25 Jun 2007, 22:04:09 UTC

5.10.8 for Linux, message



Apparently when I was building 5.10.8 I messed something up on the
configure line and it didn't enable the client release build style.
.
.
.
Here is a version that has been properly linked...

----- Rom
Kathryn :o)
ID: 11226 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 11446 - Posted: 2 Jul 2007, 14:11:36 UTC
Last modified: 2 Jul 2007, 14:13:06 UTC

5.10.11

Howdy Folks,

We are releasing a new build. We have reverted back to using VS 2003 to see if that has an effect on the crashing desktop issue.



---- Rom



Change Log:



Mac: Fix bugs when user chooses Quit from menubar icon menu and then cancels in confirmation dialog.

Mac: Modify XCode project not to copy header files into Manager bundle. (Both checked into boinc_core_release_5_10_8 and re-released in Mac 5.8.10)

CC: Add logic to scheduler, etc. for systems which limit the number of shared memory segments per process and / or system-wide. Mac OS X has default limits of 8 shmem segments per process, 32 max system wide.

- Don't treat failure to allocate & attach to shared memory as a computation error.

- Destroy shared memory segments associated with all tasks which exit, not just those with a finished file. This frees up a segment for use by another task.

- If we run out of shared memory, start a 10 second timer during which don't try to run tasks unless they are already attached to shared memory (suspended tasks left in memory qualify.)

- If a task is waiting for shared memory to become available, display this in the Manager's tasks pane.

- Added a new log flag stress_shmem_debug for testing scheduling logic when we run out of shared memory.



QUESTIONS for further development:

- Note that it is quite easy to run out of shared memory segments if the leave-suspended-tasks-in-memory option is set. (The shared memory channel must remain active for heartbeats and to tell the task when to resume.)

- Should we override this option if we run out of shared memory segments?

- What about tasks left in RAM because they don't checkpoint?

- If BOINC crashes, its shared memory is not removed. In some cases, when BOINC is relaunched it will use the same key and so can re-attach to the orphaned segments, but this won't always happen. This can cause problems with the system-wide limits. We can't mark the segment for removal when we create it, because doing so (by calling shmctl with IPC_RMID) would remove its key so the project application couldn't attach to it. But we could do this safely after the first successful response from the project application. Should we make this change?

Mac: Fix bugs in XCode script phases which create visible copyright and version strings in installer and uninstaller.

CC: More scheduler tweaks for shared memory: clear retry_shmem_time when releasing shared memory, value of stress_shmem_debug log flag sets number of shared memory segments to make unavailable.

Fix bug: reversed comparison of retry_shmem_time.

- DIAG: Visual Studio 2005 enforces parameter checking, and if a parameter is wrong it just terminates the process with a 0xc000000d. This is a shot in the dark but I think it is a good guess as to what is happening right now.

CC: Problem: On Mac OS X and some other systems, shared memory segments remain allocated unless the owner has marked them for destruction with shmctl(id, IPC_RMID, 0), causing shared memory leaks if BOINC crashes or exits suddenly (e.g., due to being called with --exit_after_finish). But on Mac OS X and some other systems, this shmctl command also prevents any more processes from attaching.

Solution: Add code to delete_old_slot_dirs() to check for and delete the possible orphan shared memory segment at BOINC startup for each slot directories with an init_data.xml file.

- WIN: Update 2003 project files

- WIN: Re-introduce manifests for 2003 built files.

Mac: Update user-visible copyright dates from 2006 to 2007

- MGR: Adjust menu names.
Kathryn :o)
ID: 11446 · Report as offensive
Previous · 1 · 2 · 3 · 4 · 5 · Next

Message boards : BOINC client : BOINC 5 versions Change Log

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.