David 3 Jan 2010 - client: ATI available RAM wasn't being detected correctly client/ coproc_detect.cpp David 4 Jan 2010 - web: don't show news items if they're hidden html/inc/ news.inc David 4 Jan 2010 - client: RSS feed stuff client/ cs_notice.cpp,h lib/ notice.cpp Rom 4 Jan 2010 - lib: fixup notice RPCs to make them manager compatible. - lib: remove memset from notice constructor, bad things can happen when you null out a std::string structure. lib/ gui_rpc_client.h gui_rpc_client_ops.cpp notice.cpp, .h Rom 4 Jan 2010 - MGR: Implement Notice RPC infrastructure. clientgui/ AsyncRPC.cpp, .h MainDocument.cpp, .h Rom 4 Jan 2010 - MGR: Implement UI plumbing for notices clientgui/ ViewNotifications.cpp, .h Rom 4 Jan 2010 - MGR: Display each notice in the notices tab. clientgui/ MainDocument.cpp ViewNotifications.cpp, .h David 4 Jan 2010 - GUI RPC: return notices in order of increasing seqno, not decreasing client/ cs_notice.cpp Rom 4 Jan 2010 - MGR: Present the newest notices first. clientgui/ MainDocument.cpp lib/ gui_rpc_client_ops.cpp Bernd 5 Jan 2010 a couple of locality scheduling fixes: - remove obsolete and buggy code from transitioner (create_result() in backend_lib) - account for 'mixed' scheduling in explain_to_user() in sched_send.cpp - finish transition to configurable patterns for distinguishing files reported by the client in the Einstein@home-specific part of send_work_locality in sched_locality (removed previous hardcoded strcmps) tools/ backend_lib.cpp sched/ sched_send.cpp sched_locality.cpp David 4 Jan 2010 - code shuffle client/ work_fetch.cpp David 4 Jan 2010 - client: fix format strings for ninstances (can be fraction now) client/ scheduler_op.cpp work_fetch.cpp David 5 Jan 2010 - client: scheduling problem: - a project overestimates job FLOP counts - the client starts jobs in EDF mode - as job progresses and fraction done increases, its completion time estimate decreases until it's no longer a deadline miss. - job gets preempted by other job from that project; you end up with lots of partly completed jobs. Solution (I hope): if an app version has running jobs, compute a "temp DCF" for the app version, which is the min of dynamic/static estimates for its jobs. Apply this scaling factor to completion time estimates for unstarted jobs in RR simulation - client: the estimation of remaining time of running jobs was wrong (how did this bug survive so long?) client/ app.h client_types.h rr_sim.cpp work_fetch.cpp Charlie 6 Jan 2010 - client: Eliminate x86_64 Mac client; i386 client determines if system supports x86_64 applications and sets HOSTTYPE and platform accordingly. This allows us to link with the 32-bit CUDA libraries. The one other effect is that the benchmarks are run in 32-bit mode even on a 64-bit capable Mac. - client: Async get_state RPC was not updating state.have_ati field. - MGR: Rebuild Advanced Menu and Taskbar Menu after connecting to client, so GPU Activity and Snooze GPU items are displayed if needed. client/ cs_cmdline.cpp cs_platforms.cpp clientgui/ AdvancedFrame.cpp AsyncRPC.cpp sg_BoincSimpleGUI.cpp mac/ config.h mac_build/ boinc.xcodeproj/ project.pbxproj David 6 Jan 2010 - client: bug in ACTIVE_TASK::est_dur() client/ work_fetch.cpp David 6 Jan 2010 - client: notice fixes client/ client_state.cpp cs_notice.cpp,h David 6 Jan 2010 - admin web: allow setting per-app HR class html/ops/ manage_apps.php Charlie 6 Jan 2010 - client: Fix compiler warning. - client: Fix crash bug. NOTE: do not call memset(this, 0, sizeof(*this)) when the data contains a std::string. client/ cs_notice.cpp David 6 Jan 2010 - boinccmd: add --get_notices option client/ boinc_cmd.cpp Charlie 7 Jan 2010 - Mac: Fix bug in backtrace code which showed up only under OS 10.6. lib/ mac/ mac_backtrace.C Charlie 7 Jan 2010 - Mac: Fix bug in backtrace code which showed up only under OS 10.6. - Mac installer: Add CUDA information to Mac ReadMe files. lib/ mac/ mac_backtrace.C mac_installer/ GR-ReadMe.rtf PTP-ReadMe.rtf ReadMe.rtf David 7 Jan 2010 - manager: tweak notice appearance client/ cs_notice.cpp clientgui/ ViewNotifications.cpp David 7 Jan 2010 - client: work fetch fix: avoid sending null request in certain cases. - client: fix crash in notices code client/ cs_notice.cpp work_fetch.cpp Rom 7 Jan 2010 - MGR: Prevent timer events from causing recursive ui issues. clientgui/ ViewNotifications.cpp Charlie 8 Jan 2010 - client: Fix another crash bug due to calling memset(this, 0, sizeof(*this)) when the data contains a std::string. client/ cs_notice.cpp Charlie 8 Jan 2010 - MGR: Separate refresh of Event Log from refresh of tabs. - MGR: Update Notices tab only when data has changed. - MGR: Clean up some async RPC logic. clientgui/ AdvancedFrame.cpp AsyncRPC.cpp, .h DlgEventLog.cpp, .h MainDocument.cpp, .h sg_BoincSimpleGUI.cpp ViewNotifications.cpp, .h Charlie 8 Jan 2010 - MGR: When Event Log is open, do get_messages RPC once per second but do view-specific periodic RPCs at their normal View refresh rate. clientgui/ AdvancedFrame.cpp BOINCBaseFrame.cpp, .h MainDocument.cpp, .h David 9 Jan 2010 - client (Mac): append /usr/local/cuda/lib to LD_LIBRARY_PATH and DYLD_LIBRARY_PATH - client simulator: compile fixes client/ app.cpp app_start.cpp client_state.h cs_apps.cpp rr_sim.cpp sim.cpp,h time_stats.cpp work_fetch.cpp David 9 Jan 2010 - user web: make user search translatable html/user/ donations.php user_search.php David 10 Jan 2010 - client: fix notification display logic clientgui/ ViewNotifications.cpp David 10 Jan 2010 - fix python deprecation warning (from Jeremy Cowles) py/Boinc/ tools.py David 11 Jan 2010 - API: if app can't acquire lock file, tell the client not to restart app for 10 minutes. Hopefully what will happen is: - another instance of app is running in slot dir (shouldn't happen, but sometimes does) - that app will eventually finish, and will write a checkpoint file saying so. It will call boinc_finish(0), but the client won't notice that it has exited. - the next time the client starts the app, it will acquire lock, see that it's done, and call boinc_finish(0). This time the client will notice, and the job will be reported as correct. The downside to all this is that the client won't know that the CPU is in use, and will schedule NCPUS jobs. api/ boinc_api.cpp Charlie 12 Jan 2010 - client sandbox: set LD_LIBRARY_PATH and DYLD_LIBRARY_PATH in switcher. For unknown reasons, the these 2 environment variables are not passed in to switcher, though all other environment variables do get propagated. client/ switcher.cpp mac_build/ boinc.xcodeproj/ project.pbxproj Bernd 12 Jan 2010 - file_deleter: - Limit the number of files to be deleted in one 'antique deletion' pass to 50000 (can be changed with -delete_antiques_limit). Previously large number of antiques led to not deleting any at all. - Allow to change the interval between passes with -delete_antiques_interval. - Allow to specify the name of an application instead of the appid. sched/ file_deleter.cpp David 12 Jan 2010 - client: add config option; sends the first rather than last 64KB of stderr to server. This doesn't belong here; this choice should come from the server. I may take this out later. - user web: when add a private message, always add a notification client/ app_control.cpp log_flags.cpp,h html/ inc/ news.inc pm.inc project.sample/ project.inc user/ edit_form_preferences_form.php rss_main.php lib/ util.cpp David 12 Jan 2010 - manager: "Notifications" => "Notices". Consistent terminology. clientgui/ Events.h AdvancedFrame.cpp Makefile.am ViewNotifications* -> ViewNotices* David 12 Jan 2010 - client: small tweak to work fetch: if project has crazy DCF, don't automatically request 1 sec; only request work if there's a shortfall. - intermediate checkin for notices stuff client/ Makefile.am work_fetch.cpp html/ inc/ forum_rss.inc notify.inc pm.inc user/ notices.php (new) sched handle_request.cpp sched_types.cpp,h David 12 Jan 2010 - Notices: put message bodies inside CDATA - XML_PARSER: handle CDATA client/ cs_notice.cpp,h lib/ notice.cpp parse.cpp,h Charlie 13 Jan 2010 - MGR: The fix of 14 Oct 2009 for "initial first connection problem on startup" caused the Tools menu to be incorrect when switching from Simple to Advanced View if using an account manager: solve this by calling pDoc->IsConnected() in CAdvancedFrame::CreateMenu() instead of using bool argument bRPCsSafe. Remove unused bRPCsSafe arg from CAdvancedFrame::CreateNotebook(), CAdvancedFrame::CreateStatusbar(). - Mac: Update XCode project for ViewNotifications* -> ViewNotices*. clientgui/ AdvancedFrame.cpp, .h mac_build/ boinc.xcodeproj/ project.pbxproj David 13 Jan 2010 - server: client version numbers are represented as 10000*major + 100*minor + release, rather than 100*major + minor. Sometimes you need release-level resolution. This affects: - app_version.min_core_version - config: min_core_client_version_announced - config: min_core_client_version Projects using these must multiply them by 100. html/inc/ notify.inc forum_rss.inc sched/ sched_types.cpp,h sched_send.cpp handle_request.cpp David 13 Jan 2010 - scheduler: close DB connection on SIGTERM (from Bernd M.) sched/ sched_main.cpp David 13 Jan 2010 - manager: in Notices tab, direct links to default web browser clientgui/ ViewNotices.cpp,h Rom 14 Jan 2010 - MGR: Use an event handler, the function overload is deprecated. clientgui/ ViewNotices.cpp,h David 15 Jan 2010 - web DB code: fix PHP warning when enumeration returns nothing. From Nicolas. fixes #974 - client: tiny code shuffle client/ work_fetch.cpp cpu_sched.cpp html/inc/ db_conn.inc David 15 Jan 2010 - user web: make a bunch of strings translatable (from Nicolas) html/ inc/ pm.inc user.inc util.inc user/ language_select.php edit_passwd_form.php edit_email_form.php locale/templates/ BOINC-Project-Generic.pot Charlie 16 Jan 2010 - Mac Installer: fix bug launching client when configured as a service. mac_installer/ PostInstall.cpp David 17 Jan 2010 - scheduler/feeder: if any client version number field (min_core_version etc.) is < 10000, multiply it by 100 and print a warning. sched/ sched_config.cpp sched_send.cpp sched_shmem.cpp handle_request.cpp Rytis 18 Jan 2010 - user web: do SQL escaping before storing prefs in the database as some projects store user-editable strings in the preferences. html/inc/ prefs.inc David 18 Jan 2010 - scheduler: use COPROC_REQ instead of COPROC when parsing anonymous-platform app versions. Otherwise fractional GPU requirements get truncated to zero. Thanks to Crunch3r for identifying the problem. sched/ sched_types.cpp David 18 Jan 2010 - API: fix crashing bug. Don't memset(0) APP_INIT_DATA; it contains HOST_INFO, which now contains COPROCS, which has a vector. Define a clear() for APP_INIT_DATA. lib/ app_ipc.cpp,h David 18 Jan 2010 - client: initial checkin for "don't compute if CPU usage above X" client/ app.cpp,h coproc_detect.cpp cs_prefs.cpp lib/ common_defs.h procinfo_win.cpp win_build/ libboinc.vcproj David 18 Jan 2010 - client and user web: finish the above. Should add the Adv Prefs dialog as well. client/ cs_prefs.cpp html/inc/ prefs.inc lib/ prefs.cpp,h Rom 19 Jan 2010 - lib: Don't allow the diagnostics threads to be suspended. If a crash happens within the remaining threads the process will deadlock. lib/ diagnostics.h diagnostics_win.cpp win_util.cpp David 19 Jan 2010 - API: fix crashing bug. There was a leftover memset(aid, 0) in boinc_parse_init_data_file() - client sim: make it work again api/ boinc_api.cpp client/ sim.cpp sim_util.cpp David 19 Jan 2010 - web: translation fix from Nicolas: "There is a bug in tra() that causes problems if one of the arguments contains a replacement marker itself. For example, if the first argument contains an encoded URL, which contains '%2', the second argument may appear in the middle of the URL." - client simulator: further fiddling around. Not done. html/inc/ translation.inc client/ sim.cpp work_fetch.cpp cpu_sched.cpp David 19 Jan 2010 - client simulator: done for now client/ sim.cpp rr_sim.cpp