development versions

Credits, Client, Lösungen
User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

development versions

#1 Post by rebirther » 06.01.2007, 08:45

Boinc 5.8.1 Windows
Boinc 5.8.1 Linux
- core client: improve error messages on RPC deferral
- MGR: Simplify snooze so that it only applies to CPU usage.
- MGR: Remember message dialog size and list view column widths for all platforms.
- MGR: Fix an annoying bug when the advanced gui suspended all tasks and then you tried to resume from the simple gui.
Restore didn't work when the task_mode_perm was equal to never and their was no timeout.
We should probably move this logic down into the CC.
- LIB: Don't display foreground window information unless the user has agreed to allow it to happen via the registry.
Their was concern about privacy issues with window titles.
- MGR: Add context help to the BSG.
-MGR: Fix crash bugs: don't call SetBackgroundColour() or SetForegroundColour() before wxDialog::Create().
- core client: add missing error message case on attach failure
- Various changes to deal with the situation where someone attaches to a project while its scheduler is down. Currently the attach fails.
This is a relic of the attach-using-account-key era.
Change it so that:
1) the project_attach GUI RPC has a project_name argument
(so that we can show the project name even before
we've done a scheduler RPC)
2) the attach succeeds even if the initial RPC fails
Note: we can probably get rid of the PROJECT::tentative flag.
Note: the logic for attaching to a project with an init file (or with "cached credentials", as confusingly described in the Manager code) is messed up, or at least poorly documented.
- core client: remove handle leak in extremely rare case
- core client: fix bugs in calculation of network status
- Manager: add ellipses to menu items that bring up dialogs, tweak wizard text
- SCRSAV: Use RegisterSystemMessage instead of using WM_USER for the WM_INTERRUPTSAVER and WM_SETTIMER events.
- SCRSAV: Clarify which window is receiving the WM_INTERRUPTSAVER event from the DataProc Thread.
- SCRSAV: Fix build break.
- MGR: Refactor the timer management code whithin the advanced frame.
- MGR: Make the simple preferences and messages dialogs have their own help handler, apparently when the event bubbles up to the frame the control ID's were being remapped to the frame window ID.
- Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the destination BOINC directory.
- make disk pie charts work on Linux (from Frank Weiler)
- change "Preempted" to "Waiting" in GUI ("preempted" is geek-speak)
- DIAG: Don't check for the BOINC symstore if it is a science application that has crashed.
- Changed the way the buttons on the simple gui preferences and messages screens are sized
- core client: if an app fails to start, it could be that the executable has been munged.
So verify the files; this will find the bad file and download it again.
- Manager: in Attach to Account Manager wizard, add some text saying
if they want to just attach to a single project, use the Attach to Project wizard instead.
Some users tried to attach SETI at home using the acct mgr wizard and got all bent outta shape when it didn't work.
- Win SETUP: Add custom actions for saving and restoring user preferences to the registry
- Win SETUP: MoveFileEx isn't spported on the Win9x platform, so dynamically load and execute it on Windows 2000 or better.
- Win SETUP: Remove some dead code from the custom action list.
- Win SETUP: On Windows XP systems or better, we no longer require the service account to have a password, Microsoft has taken care of the problem by not allowing incomming network connections for accounts with no passwords.
- Win SETUP: Fix an issue when restoring saved properties where junk was being introduced into properties where no value was defined.
- Win SETUP: Don't attemp to restore any properties until we have actually stored some from a previous iteration of setup, otherwise our defaults don't kick in.
- Win SETUP: Saving and Restoring properties is now only enabled for those using the UI deployment method, we don't want to throw anything in the registry when the MSI package is being deployed through AD or some other deployment mechinism.
- Update localization template.
- MGR: Replace the context sensitive help button on the main simple gui window with a standard bitmap button and use the bitmaps WCG gave us.
- improved message when detach from project mgr
Last edited by rebirther on 22.11.2013, 19:14, edited 6 times in total.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#2 Post by rebirther » 11.01.2007, 09:02

Boinc 5.8.2 Windows
Boinc 5.8.2 Linux

- SCR: Disable the diagnostic support for release builds of the
Windows screensaver. A smarter thing to do in the future is
to write the log files to the 'temp' directory.
- manager: use user-friendly app names
- core client: sort daily stats records in case they get out of order somehow
- manager: fix Unicode build problems (from Frank Weiler)
- manager: various fixes (from Frank Weiler)
- core client: backwards > in PROJECT::some_download_stalled().
This caused the client to keep fetching work from a project with stalled downloads.
- core client: fix problems when user aborts result (mark it as CPU_SCHED_PREEMPTED so scheduler doesn't
try to preempt it; that confuses things)
- changed format of Deferring Comm messages
- core client: Change function that calculates RAM and SWAP used
by a science project to return the max used by a process
instead of totaling the process/child processes. Fixes the problem where the same RAM and SWAP used gets counted multiple times for some science apps.
- Manager: get rid of "CPU throttled" messages
- MGR: Updates to disk usage pie charts from Frank Weiler
- core: if we're preempting an app and leave it in memory
- user web: "old news" was brokenbecause no checkpoint yet, say so in message
- Manager: enhancements to Statistics tab (can click on project name in multi-project view) from Mifistor_x
- core client: Change function that calculates RAM used by a
science project to return the max memory used by one process
instead of totaling the process/child processes. Fixes the
problem where the same RAM used gets counted multiple times for some science apps
- Win BUILD: Remember, when adding .C files to VS project files, you need to change the compiler type to C++ for ALL build configurations
- MGR: Fix crashing issue do to invalid type casts, wxWidgets implements
its own form of type casts for C++ objects which probably uses
the basic RTTI of the compiler at some level, but it also has a few
checks and balences as well. So if you get a hankering of using
dynamic_cast or static_cast use wxDynamicCast and wxStaticCast instead.
- MGR: Remove the ifdefs for SIMPLE GUI, it is now enabled by default on all supported platforms.
- Mac: update XCode project for new ViewMessagesGrid, ViewProjectsGrid source files
- core client: fixed crashing bug that happens when attaching
to a project with wrong URL (e.g.
The fix allows the project to attach but prints a warning.
It would be better to not allow the attach
- user web: say RAM limits enforced in 5.8+; use "class=note" instead of "font size=-2"
- Win SETUP: Make Windows XP or better require passwords for the service accounts again.
- Win SETUP: Fix a spelling mistake that JM7 found
- manager: performance enhancement to grid views (from Frank Weiler)
- DIAG: Clean up some warnings and add a new exception type to the list of known exceptions
- core client: if swap space is zero, it must not have been
measured on this host; don't use it in process scheduling
- user web: don't use font colors this way
- manager: fixes for new task/transfer tabs (from Frank Weiler)
- MGR: Fix segfault in simple gui when message button is clicked.
SetBackgroundStyle() needs to be called after the window is created.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#3 Post by rebirther » 16.01.2007, 16:47

Boinc 5.8.3 Windows
Boinc 5.8.3 Linux

Langersehnte libcurl 7.16.0, mal sehen ob die Abstürze und DNS Probleme aufhören!

- Add script to clean up web cache.
Sometimes the cache gets so full that it takes 30 secs
just to compute free and used disk space,
so that normal cleanup times out before it does anything.
I recommend running clean_cache.php once a day.
- user web: call set_time_limit(0) in cache_check_diskspace().
This will hopefully avoid the situation described above.
- manager: use user-friendly app names (fix to work w/ 5.4.11)
- MGR: Fix build break for Unicode support.
- MGR: Possble fix for the Simple GUI messages dialog?
- Server: change the usage of host.credit_per_cpu_sec so that it is the recent average of granted credit per CPU sec, as computed by Bruce's update_credit_per_cpu_sec() function (finally, a use for hyperbolic trig functions in BOINC). Prior to this it was the most recent value of claimed credit per CPU sec, which is not as useful.
Add a new non-DB member to HOST, claimed_credit_per_cpu_sec, for this purpose.
- db_dump.C: export host.credit_per_cpu_sec
- move update_credit_per_cpu_sec() from lib/util.C to sched/validate_util.C
- manager: don't prepend "(Activities suspended by user)" to result status.
There is no longer a notion of "activities"
- MGR: Streamline the message dialog sync operation a little bit.
- MGR: Fix crashing issue do to invalid type casts, wxWidgets implements
its own form of type casts for C++ objects which probably uses
the basic RTTI of the compiler at some level, but it also has a few
checks and balences as well. So if you get a hankering of using
dynamic_cast or static_cast use wxDynamicCast and wxStaticCast
- install validate_util.h for external building of validators
- make dir_hier_move and dir_hier_path output help/usage strings
- add help/usage string to validator.C
- add explicit build-rule for client/switcher [required to fix 'make tags']
- fix Manager text (see above)
- Update libCurl to 7.16.0 and use sync name resolves instead of async name resolves.
- core client: fix a bug that could cause computation to stop.
The problem: if we suspended a task by sending it a <quit/> message,
we were changing its scheduler state to CPU_SCHED_PREEMPTED but not changing its task state (PROCESS_EXECUTING).
If, for some reason, the process didn't exit right away, the scheduler would treat it as still running, since it builds its "currently running" list based on task_state.
Solution: the scheduler shouldn't be looking at task_state. Use scheduler_state instead. It's still a mystery why the app wasn't quitting.
- db_dump: don't write team.nusers; it's meaningless
- add explicit build-rule for client/switcher [required to fix 'make tags']
- fix boinc_UnzipToMemory()
- correctly build unzip-DLL [for use in boinc_UnzipToMemory()]
- manager: update makefile for ViewMessagesGrid and ViewProjectsGrid source files

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#4 Post by rebirther » 22.01.2007, 09:06

Boinc 5.8.4 Windows
Boinc 5.8.4 Linux

- MGR: Add the help button to the list of images to update when the user selects a different skin.
- core client: don't try to schedule a task whose state is PROCESS_ABORT_PENDING.
- core client: reset 5-minute timer for network activity is user explicitly changes network mode
- Manager: initial checkin of Advanced Prefs dialog
- fix news formatting
- don't start benchmarks if they're already running
- Manager: "Defect from X" -> "Stop using X"
- core client: if starting a file xfer, and file is already as large or larger than it should be, start transfer from the beginning. This fixes some pathological cases found by Rattledagger.
- MGR: Begin changes for wxWidgets 2.8.0. For now, compatibility with wxWidgets 2.6.3 is provided by using "#if wxCHECK_VERSION(2,8,0)" where needed. These conditional compilations should be removed when the transition to 2.8.0 is complete.
- core client: don't garbage-collect a RESULT if an ACTIVE_TASK for it still exists. In principle this shouldn't happen, but maybe it is.
- limit duration correction factor to the range 0.01 .. 100
- Manager: tweaks to advanced prefs dialog and Disks tab
- MGR: Make sure the result records have been updated before displaying the taskbar balloon.
- lib: change retry logic for file system ops so that it does does at least 5 retries AND takes at least 5 seconds.
- core client: if resuming a persistent file xfer, don't print error messages if file has wrong size/checksum/signature. That's a normal condition is a file xfer was interrupted.
- core client: print more info if MFILE vsnprintf() is too big for buffer
- MGR: If the manager detects that the CC has crashed, and it was the one who started the CC to begin with, restart the CC after 30 seconds.
- MGR: Cleanup some of the taskbar interactions where both the tooltip and balloon were being displayed on Windows. Only one should be shown.
- MGR: Allow arguments to be passed to the CC from the manager's parameter list. /b "..." or /boincargs "..." should work.
- CC: Add <p_identifier> to HOST_INFO which contains the family, model, and stepping of the processor for Windows.
Example: <p_identifier>x86 Family 15 Model 2 Stepping 7</p_identifier>
- DIAG: Fix an uninitialized string issue that cropped up after removing the forground window information from the diagnostic output.
- MGR: take Close() function call out of #if/#endif block so the manager exits when the 'exit' menu item is selected.
- MGR: wxPieCtrl changes from Frank Weiler

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#5 Post by rebirther » 24.01.2007, 22:35

Boinc 5.8.5 Windows
Boinc 5.8.5 Linux

- API: use boinc_fopen() instead of fopen() in string variant of boinc_resolve_filename()
- core client: fix get_host_info() for Unix
- core client: update APP::user_friendly_name from scheduler RPC reply
- core client: print error msg if get negative CPU time or checkpoint CPU time from app
- core client: ACTIVE_TASK::runnable(): not runnable if exited, aborted, signaled etc.
- core client: fix "app exits for unknown reason" case (Unix)
- manager: fix task status text
- MGR: When connecting to a remote machine, don't reset the computer name and password back to the local machine during the reconnect state.
- core client: allow <link rel="boinc_scheduler" href="http://a.b.c"> in project master files, as an alternative way of denoting scheduler URLs. If at some point all clients upgrade to this version or later, we can get rid of the old syntax <scheduler>X</scheduler>
- core client: added <work_request_factor> configuration option. Multiplies work requests.
Use values > 1 if your computer often runs out of work while disconnected.
- core client: in error message for unexpected active task, include result name
- manager: code cleanup (from Frank Weiler)
- core client: when preempt a task by quit, don't set task state to UNINITIALIZED; do that when the process exits.
Other code cleanup.
- create_project: put new-style scheduler tags in schedulers.txt
- MGR: Disable older style views
- core client: the task_debug message flag now prints all transitions of ACTIVE_TASK::task_state and RESULT::state
- core client: tweak messages
Weniger Änderungen als vorher aber umso mehr am Core Client und Manager.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#6 Post by rebirther » 26.01.2007, 21:31

Boinc 5.8.6 Windows
Boinc 5.8.6 Linux

- MGR: Disable advanced preferences dialog box.
- MGR: Do not refresh the Simple GUI when the manager is hidden.
- core client: there was logic that wouldn't start a result for a project if it had > 2 active uploads (intended to prevent an unbounded buildup of files for a project whose upload server is broken).
This was never triggered since the default is 2 active transfers per project.
Maybe I meant persistent file transfers. In any case, this is a bad policy because there may be
a project with lots of output files per result, possibly large, and there's no reason to keep it from computing.
So instead, I changed it to not start a result from a project if its number of results in FILES_UPLOADING state exceeds 2*ncpus.
- core client and manager: reorganize message priorities.
There are now three priorities:
Conditions that require user intervention.
These messages are written for non-tech users, and tell the user exactly what to do.
GUI: red letters
Conditions that may indicate a problem or bug in BOINC itself, or with a BOINC project or account manager.
The message is prepended with "[error]".
GUI: black letters
All other messages.
GUI: black letters
Note: all messages that must be enabled by cc_config.xml use MSG_INFO priority
- MGR: Flip the sorting icons for the Grid Control.
- WIN: Remove the Release (SIMPLEGUI) and Debug (SIMPLEGUI) configurations since we'll only be releasing future version with the Simple GUI included.
- WIN: Fix build breaks since not all configurations in all components were kept in sync.
- MGR: Remove legacy tabs.
- MGR: Fix the OnFrameRender function in the Simple GUI, some of the logic in it blows out of the function with a return which was leaving the static variable that was guarding against repeated executions to true. This in turn kept the GUI from updating.
- Remove wxAnimate since it isn't used anywhere.
- MGR: Add a new menu item that'll shutdown the core client that the manager is connected too. It'll prompt for a new computer afterwords.
- core client: another attempt at fixing the problem
where a project is issuing work but not uploading files.
New solution: don't fetch work from a project with
more than 2*ncpus results in FILES_UPLOADING state.
Note: this doesn't address John McLeod's point that we shouldn't increase LTD for projects in this state.
- file upload handler: print more accurate message when fread() returns less than requested
Last edited by rebirther on 27.01.2007, 17:00, edited 1 time in total.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#7 Post by rebirther » 27.01.2007, 10:08

Boinc 5.8.6a Windows


- core client: if account manager reply doesn't specify resource share for a project, revert to the share from project server

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#8 Post by rebirther » 30.01.2007, 17:33

Boinc 5.8.7 Windows
Boinc 5.8.7 Linux

- MGR: fixed bug in dialog options where it doesn't set the slider size automatically. This is a bug in wxGTK so for Linux set the size explicitly
- MGR: Performance Improvements for Projects tab. (from Frank Weiler)
- core client: fix account-manager resource share logic
- manager: Statistics tab fixes (from Mifistor)
- core client: make sure that RAM limits are not zero
- MGR: Update default BOINC skin
- core client: on Unix, raise app stack size limit to max possible value before exec'ing the program.
- Manager: fix crash if select a project that doesn't have a name yet. There were two separate problems:
1) CMainDocument::project() was searching by name but not by master URL
(BTW: all that at(), out-of-range exception stuff isn't needed, or the cut-and-pasted comment).
2) CViewProjects::UpdateSelection() (and its grid counterpart) were checking for project == NULL some of the time, but not all the time
- MGR: Give the user a change to abort a core client shutdown when they select 'shutdown current client'.
- MGR: Special case the authorization error dialog when it is attempting to use the default password, so that it also informs the user they need to run the manager from the same directory as the CC.
- MGR: Revert back to original tabs, grd controls are not going to make it for this release
Last edited by rebirther on 31.01.2007, 09:18, edited 1 time in total.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#9 Post by rebirther » 31.01.2007, 09:18

Boinc 5.8.8 Windows
Boinc 5.8.8 Linux

- manager: fix progress bars for project resource shares (from Frank Weiler)
- core client: computation of duration_correction_factor was messed up.
E.g. when the correct value is .5, it converges to sqrt(.5)
- Comment out the advanced preferences dialog again

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#10 Post by rebirther » 06.02.2007, 10:15

Boinc 5.8.9 Windows

- core client: tweak DCF update computation
- core client: fix bug where client thinks an app is running but it isn't.
Basic problem: there are two layers
1) process control: start/stop/suspend/resume, handle exits. files: app_*.C It owns ACTIVE_TASK::task_state
2) CPU scheduling: decide what should run files: cpu_sched.C
It owns ACTIVE_TASK::scheduler_state.
These layers weren't cleanly separated; e.g. the CPU sched layer relied on the process control layer to set scheduler_state in some cases, and this wasn't always being done. The layers are now separated. Also: added new task_state value, PROCESS_QUIT_PENDING
- core client: small tweak to DCF calculation
- core client: print message if task finishes and output file is missing
- manager: compile fix

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#11 Post by rebirther » 08.02.2007, 00:14

wcg_Boinc 5.8.10 Windows
Boinc 5.8.10 Linux

Changelog (special client for WCG?)
- core client: add messages to debug CPU benchmarks
- changed name of debug flag from <measurement_debug> to <benchmark_debug>
- core client: when new version runs for the first time, do a network access to reference site.
This will trigger personal firewall alerts, that otherwise might happen later when user is not there
- SS: Remove reference to the Climate Change Experiment when the client is being built for WCG

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#12 Post by rebirther » 09.02.2007, 16:25

wcg_Boinc 5.8.11 Windows
Boinc 5.8.11 Windows

- core client: fix bug where screensaver would turn on an off if CPU throttling being used
- core client: fix bug that causes tasks to hang (not running, but BOINC thinks it is) on Windows
- MGR: Add simple validation for the authenticator returned by InternetGetCookie.
- core client: when a scheduler reply has a FILE_INFO for a file for which we already have a FILE_INFO record, overwrite the file_signature field only if the new record actually has one. This fixes a bug where a project used the same file in both an APP_VERSION and a WORKUNIT.
The scheduler reply contained two <file_info> elements for the file; the first had a signature, the second didn't.The second one overwrote the first, and the app version was rejected because one its file wasn't signed.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#13 Post by rebirther » 15.02.2007, 13:12

Boinc 5.8.12 Windows

- core client: don't print misleading error messages when reference site access succeeds on initial startup.
- core client: a few more messages for <benchmark_debug>
- WININSTALL: Force the termination of BOINC and BOINCMGR if we could not gracefully shut them down.
- Win build fix
- WININSTALL: Force the termination of BOINC.SCR if we could not gracefully shut it down.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#14 Post by rebirther » 17.02.2007, 22:37

Boinc 5.8.13 Windows
Boinc 5.8.13 Linux

- core client: don't print "finish file not found" message when app quits because of preemption
- initial checkin for client simulator
- add support for page-level translation
- core client: fix bug where if a task is aborted (e.g. because it exceeds CPU limit) it's restarted on the next enforce_schedule().
The problem: we're deleting the ACTIVE_TASK, but the result is still in the ordered_scheduled_results list.
The solution: call request_schedule_cpus() in handle_finished_apps() when an ACTIVE_TASK is deleted.
- WININSTALL: Use the Unicode version of ShutdownBOINCManager on NT based platforms and use the ANSI version on 9X based platforms
Last edited by rebirther on 18.02.2007, 10:19, edited 1 time in total.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#15 Post by rebirther » 18.02.2007, 10:18

Boinc 5.8.14 Windows

- WININSTALL: Forgot to make the Shutdown BOINC/Shutdown BOINC Screensaver custom actions NT only.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#16 Post by rebirther » 20.02.2007, 09:39

Boinc 5.8.15 Windows
Boinc 5.8.15 Linux

- core client: don't print "finish file not found" message when app quits because of preemption
- core client: when resetting or detaching a project, if a file transfer was active for a project file, the file delete would fail because Curl still has the file open. This would cause the manager to freeze for N*5 seconds.
Fix: in CLIENT_STATE::reset_project(),delete FILE_XFER and PERS_FILE_XFER objects.
- core client: the limits on numbers of simultaneous file transfers (total and per-project) now apply to uploads and downloads separately. We don't want a situation where an upload is blocked because there are N downloads.

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#17 Post by rebirther » 01.03.2007, 16:41

Boinc 5.8.16 Windows
Boinc 5.8.16 Linux

- core client: When we go to kill a science applicaton, make sure all of the science applications child processes are killed too.
- core client: If a compound application's main applicaton gracefully exits but doesn't shutdown its child applications for some reason, forcefully terminate them. (Windows only)
- split out string-related utility functions into a new file, str_util.C
- more work on simulator
- Add "Holy See" to country list
- core client: if benchmark time is in the future (due to user tweak) always run benchmarks
- add <checkpoint_debug> message flag; shows when apps checkpoint
- core client, Win: set processor affinity mask for benchmark threads
- scheduler: remove <?xml> tag at the start of scheduler reply. This apparently breaks 4.19 clients
- core client: disable connection caching in Curl. This may reduce cases where file uploads hang because a server process holds file lock.
- manager: fix status text for file transfers
- core client: add bool detach_when_done to PROJECT.
If set, detach from project when it has not results (i.e. when all work is finished and acknowledged).
Save/restore in client state file.
- core client: add optional <detach_when_done> and <dont_request_more_work> flags to account element in account manager reply messages.
- boinc_cmd: change account_lookup and create_account commands so that they poll until operation,
and show a meaningful result (e.g. an account key).
Remove account_lookup_poll and create_account_poll commands
- core client: when detach from a project, delete its sched_request, sched_reply, and master files
- fix check mark on Snooze taskbar menu item on Windows XP

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#18 Post by rebirther » 08.03.2007, 08:54

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#19 Post by rebirther » 04.04.2007, 20:14

Boinc 5.9.3 Windows
Boinc 5.9.3 Linux

- core client: add "get project list" RPC, called every 2 weeks
- fix a few compiler warnings from gcc 4.1
- more simulator work
- API: use a mutex instead of a boolean variable for mutual exclusion during checkpoint. This should fix a race condition that can result in applications being suspended and not responding to resume messages
- GUI RPC: add several scheduling-related items (not used by Manager, but possibly useful for 3rd-party GUIs)
// tells you if a result is running in EDF mode
bool RESULT::edf_scheduled
// the following were already in the XML but not parsed
// into the C structs
double PROJECT::short_term_debt
double PROJECT::long_term_debt
double PROJECT::duration_correction_factor
- core client: if can't chdir to the dir specified by --dir, quit
- show_shmem: show homogeneous redundancy class
- file upload handler: say "out of space on server" instead of "out of space on device"; users get confused by the latter, think it refers to their disk
- MGR: Rough draft for presenting an interface of known projects based on David's March 3rd "get project list" checkin.
- MGR: Choosing from the project list now works, although the combo box is really busy right now.
- MGR: Use just the project name in the project list for now
- Update OpenSSL modules for windows to OpenSSL 0.9.8e
- Update cURL modules for windows to cURL 7.16.1
- remove msg parameter of resolve_hostname()
- WIN: Change the sse3 CPU feature detection flag from 'sse3' to 'pni'.
- MGR: Commit Frank Weiler's lastest ViewProjectsGrid.
- work fetch fixes (from John McLeod)
- implement work_fetch_factor correctly
- ignore duration_correction_factor if it's out of bounds
- MGR: Do not allow multiple dial-up promtps to appear when the CC needs to connect, it is annoying and will eventually blow the stack.
- API: my checkin of Mar 8 was flawed and causes an app hang.
Revert to the previous way (bool var, not mutex) but with an additional check in worker_signal_handler() that should fix the original race condition (from Jonathan Armstrong)
- core client: fix bug where, if host is in "suspended to disk" state for a long time, its next debt adjustment assumes that apps were running the entire time.
The fix: if more than 2xcpu_sched_period has elapsed since last debt adjustment, ignore the period.
- Add data structures for day-of-week preferences (but don't actually implement much)
- core client: change the way slot directories are assigned, and the way things are cleaned up.
The new design ensures that apps always start running in an empty directory.
assign new ACTIVE_TASK the lowest slot number not in use.
When the app starts, try to clean out the slot dir.
If can't clean it out, rename it (to DELETE_ME_*) and create another dir.
On startup, delete dirs named DELETE_ME_*
The problem: if you can't clean out a dir (on Windows) you're not going to be able to rename it.
So the app will start in a non-empty dir.
assign new ACTIVE_TASK the lowest slot number not in use and for which an empty directory can be created.
On start, delete dirs and files not in use by an active task.
- core client: fix bug where clean_out_dir() could return zero even though the dir isn't emptied.
- MGR: Revamped project selection list. It is mostly done, I just have to figure out how to trap static text click events, right now you have to click on areas where there isn't any text.
- MGR: Fill in the missing piece with trapping static text control mouse movement and clicks.
- core client: fetch all-projects list at startup if it's not there.
- core client: write rr_sim_missed_deadline only for GUI RPC, not statefile
- MGR: Strip out all the extra fluff, and add a website link.
- removed [features] from p_model; move it to a separate field, p_features, which is stored on the client and sent to server but not stored in server DB.
- fix gcc 4.x warnings
- core client: added more support for day-of-week time preferences. They're now enforced, and times are expressed as doubles (hours, 0..24)
- core client: bug fixes in prefs
- MGR: Randomize the project selection list
- MGR: Last few tweaks to the project selection list
- API: boinc_checkpoint_completed(): don't call update_app_progress() unless options.send_status_msgs is set (fixes bug in wrappers that call this)
- lib: add linux_cpu_time() function (get CPU time of another process)
- core client: if "no more work" or "detach when done" tag is missing from account manager reply, don't change value. Note: this is implemented using new OPTIONAL_BOOL and OPTIONAL_DOUBLE types that may be useful elsewere as well.
- core client: fixed bug where a <result_abort_if_unstarted> in scheduler reply would crash client.
- Manager: show "detach when done" if set
- MGR: Extend browser cookie detection framework so that additional browsers can be used.
- MGR: Checkin Frank's latest changes to the Advanced Preferences dialog
- client: on startup, show how much RAM and disk are usable (taking prefs into account)
- core client: add work_buf_additional_days preference; track variability in completion times (from John McLeod VII)
- API: don't report CPU time and fraction done while suspended (not needed, and wastes CPU time)
- core client: include MD5 in file upload handler requests, so that the server can (if it wants) verify the MD5
- MGR: Prevent crash in the projects tab by checking to see if there is really anything to display, if not delete all rows and then return.
- Manager: improvements to advanced Prefs dialog (from Frank Weiler)
- MGR: Check firefox cookies for a projects authenticator which might have been assigned during a web based registration scenario
- MGR: Fix detech from project crashing condition
- MGR: Fix variuos performance problems with the Grid based views. Best rule of thumb is to not set/change any value in a control unless it has really changed. Doing so causes the RECT to become invalidated which causes the OS to want to repaint it. Data processing is always faster than repainting.
- MGR: Don't delete all the rows of a grid just to recreate them a few steps later, you really only need to add or delete the difference since the last update.
- MGR: Avoid using 'wxString("Some static Text", wxConvUTF8)' to handle literal strings for Unicode, the wxT() macro allows the compiler to take care of it at compile time, instead of run-time.
- MGR: Add a generic 'BOINC help' link that can be used to go to help.php.
- MGR: All help menu items are now redirected using the manager_links.php page.
- MGR: Add version information to the manager_links.php requests.
- CC: Fix the display of the processor features. It is useful for those who want to run optimized clients but don't really know what processor features are supported by their processor/os combination.
- DBG: Include all the 64-bit registers in the debug output on a 64-bit Windows machine.
- core client: don't print "process not found" unless task_debug set
- core client: fix parsing of <link rel="boinc_scheduler" ... in scheduler reply
- WIN: Introduce assembly manifests for all binaries produced for Windows.
- WIN: Code sign each of the binaries produced for Windows.
- core client: round fractional work request up to 1 sec
- MGR: Remove save/restore selection calls from the various Grid based views as it isn't needed anymore
- MGR: Move grid event trapping code into the BOINCBaseView class and delete the duplicated code from each of the views
- MGR: UpdateSelection should be called on any selection change

User avatar
Posts: 2848
Joined: 19.12.2005, 00:59
Location: Germany

#20 Post by rebirther » 20.04.2007, 20:19

Boinc 5.9.4 Windows
- core client: fix bug where, if client runs at boot time and DNS system isn't up yet, entries in remote_hosts.cfg will fail to resolve, and the core client will be inaccessible.
Fix: we already have a mechanism in which GUI_RPC_CONN_SET::init() is called 30 times, at 1-sec interval, until it succeeds. Extend this to cover the parsing of remote_hosts.cfg also
- core client: work fetch skip a project if its # deadline misses is >= #cpus (not just > 0)
- define a set of process exit codes (currently just 3 of them) separate from function return values.
Process exit codes are limited to 8 bits in Unix; use positive numbers starting at 192
- core client: canonicalize account manager URL
- boinc_cmd: add --join_acct_mgr, --quit_acct_mgr commands; remove --acct_mgr_op command.
- updater:
- make program more general (array of files)
- if get an error before installing new version, run the old version (core and/or mgr).
- if launch of new core client or manager fails or program exits within 5 seconds, back out the update and run old version
- when running core client (old or new) pass --run_by_updater flag
- move files instead of copy
- core client:
- add --run_by_updater cmdlines option;
if set, and updater version > client version,
set "install_failed" flag in AUTO_UPDATE.
This prevents the client from trying the update again.
- if updater doesn't run or exits within 5 seconds,
mark update as failed (stick with current version)
- update netsoft URL
- MGR: Do not attempt a refresh of the old grid header if the old value is -1. (From Walt G.)
- core client: adjustment to anticipated debt is resource_share*expected_payoff, not (1-resource_share)*expected_payoff
- boinc_cmd: add --read_cc_config command
- client: write availability info to a log file Don't let file exceed 1 MB or 1 year, whichever is larger
- client: work fetch tweak: add notion of fetchable_resource_share
- client: remove BOINC_OUTAGE code
- client: remove leftover CURL temp files (blc*) on startup
- client: remove duration_variability code
- client: in maintaining availability info (TIME_STATS), ignore CPU throttling.
- Manager: don't divide work_buf_additional_days by 86400 (??)
- client: log job completions
- client: add optional tags <send_time_stats_log> and <send_job_log> to scheduler RPC reply; next scheduler RPC request will contain the indicated subset of the time stats log or job log. (no server-side support for this yet)
- fixed the crash when sorting the grid headers, and some changes to the statistics view.