Commit Graph

157 Commits

Author SHA1 Message Date
Charlie Fenton 98ae7219a4 client: Fix build breaks on Mac due to removal of headers from cpp.h
svn path=/trunk/boinc/; revision=15582
2008-07-09 11:08:53 +00:00
Eric J. Korpela 0124e04750 Fixes ticket #537. Forces use of small files in zlib.h and when /proc
filesystem is used on solaris.

svn path=/trunk/boinc/; revision=15530
2008-07-01 21:27:25 +00:00
David Anderson fd6bb6e637 - client: on Windows (at least) if you kill a task (e.g. reset project)
ACTIVE_TASK::handle_exited_app() never gets called,
    so the coprocessors weren't getting freed.
    Fix this.

svn path=/trunk/boinc/; revision=15242
2008-05-16 22:52:09 +00:00
David Anderson b13ad4da38 David May 9 2008
- client: increase <abort> timeout from 5 sec to 60;
        this gives the diagnostic system time to download
        symbol files (which may be several MB) and write a stack trace.

svn path=/trunk/boinc/; revision=15162
2008-05-09 16:27:20 +00:00
David Anderson 0e4eb7f6e7 - client: if we request that an app exit,
and it doesn't do so within 10 seconds, kill it.
        This deals with the situation where the app is ignoring messages
        (e.g. because it forgot to end a critical section).
    - client: if either the FP or int benchmark runs less than
        3 CPU seconds (out of 10 seconds of wall time) ignore the benchmark.
        This is an effort to deal with a problem where (for unknown reasons)
        the int benchmark runs for a tiny amount of CPU time,
        leading to an absurdly large result
    - Manager: don't prepend "[error]" to MSG_INTERNAL_ERROR messages;
        the client already does this.

    THESE ARE ALL BUG FIXES

svn path=/trunk/boinc/; revision=15128
2008-05-05 00:51:20 +00:00
David Anderson 9fa202d8f0 - client: add coprocessor support: i.e., parse the list of coprocs
in <app_version>s from the server,
    keep track of the number free of each type of coproc,
    and don't run an app that needs more than are available.
    (not quite working yet)

svn path=/trunk/boinc/; revision=14992
2008-04-01 15:08:47 +00:00
David Anderson 95772cba77 - removed boinc_ncpus_available() and boinc_nthreads() calls.
The design has been changed to constant #threads per app version
    Various changes from Kevin Reed/WCG:
    - server: add workunit.rsc_bandwidth_bound: if nonzero,
        send this WU only to hosts with that much download bandwidth
    - assimilators: if a handler returns DEFER_ASSIMILATION,
        the WU remains in INIT state and will be handled when the
        next instance completes.
        Useful if you want the assimilator to see all instances.
    - scheduler: when setting result.outcome = DETACHED,
        set received_time to now
    - scheduler: removed the reliable_time and reliable_min_avg_credit
        options
    - scheduler/web: add optional <allow_non_preferred_projects>
        in project preferences.
        If present, user will accept work from non-selected apps
        if no work is available for selected apps
    - scheduler: improved messages for projects with multiple apps
    - scheduler: added config options
        <granted_credit_weight> and <granted_credit_ramp_up>.
        Used in calculating host.claimed_credit_per_cpu_sec,
        but I'm not sure how.
    - Added two new credit-granting formulas (validate_util.C):
        stddev_credit() and two_credit()
    - server DB: add rollback_transaction() and affected_rows() to DB_CONN

    NOTE: DB update required

svn path=/trunk/boinc/; revision=14870
2008-03-07 21:13:01 +00:00
David Anderson a323eba986 - scheduler: fix bone-head mistake in HR code
svn path=/trunk/boinc/; revision=14715
2008-02-10 05:17:57 +00:00
David Anderson ea8914e7d1 - scheduler: fix weak auth bug
svn path=/trunk/boinc/; revision=14552
2008-01-14 19:59:16 +00:00
David Anderson d0241d359c - renamed clean_out_dir() to client_clean_out_dir(),
and put the original clean_out_dir() back in lib/filesys.C

svn path=/trunk/boinc/; revision=14549
2008-01-14 18:32:20 +00:00
David Anderson 2be6f8e53a - Client: add <run_apps_manually> config flag.
This is for debugging apps (currently works only in Unix).
    What it does: when running an app,
    the client does everything except actually fork/exec the app,
    i.e. it sets up the slot dir, creates shared mem segment etc.
    It then continues as if the app were actually running,
    and you can then manually run your app under a debugger
    in the slot directory.
    Note: the client won't notice the termination of your app.
- API, Unix: in situations where the timer thread wants to exit
    (e.g. it notices a missing heartbeat).
    don't directly call boinc_exit(),
    since this touches data structures that the worker thread
    may be using concurrently.
    Instead, set a flag telling the worker thread to call boinc_exit()
    (which it will do from its signal handler)
    This is an attempt to fix problems reported by Bernd;
    I haven't tested it.
- scheduler: add config flag for uploading usage data
- web: show account key and weak account key on user page
- added some code for multithread support (not finished)

api/
    boinc_api.C


svn path=/trunk/boinc/; revision=14542
2008-01-13 00:12:14 +00:00
David Anderson b3cc67a480 - client, Win: check for two process exit codes (0x40010004 and 0xc000013a)
that appear to happen when the process is killed externally;
    seems to happen mostly or entirely on Vista

svn path=/trunk/boinc/; revision=14496
2008-01-08 19:45:28 +00:00
David Anderson f7c8bc5280 - client: fix bug that would falsely report DLL init errors
- client: don't crash when detach a project using anonymous platform
        (fixes #511)

svn path=/trunk/boinc/; revision=14348
2007-12-03 17:46:07 +00:00
David Anderson 4525b2677b - client: clean up logic of handling DLL_INIT_FAILED exits on Win.
Shouldn't cause any functional change

svn path=/trunk/boinc/; revision=14310
2007-11-27 21:54:17 +00:00
Rom Walton ae321f631b - CC: Treat the return code 0xC0000142 as though it is a temporary
error. 0xC0000142 means STATUS_DLL_INIT_FAILED which can happen
        when an application attempts to create a new process while the OS
        is shutting down, and when the desktop heap is fully utilized.
        
        This will keep an app from erroring out during Vista's shutdown
        sequence. Only a reboot can fix the desktop heap.
        
    client/
        app.h
        app_control.C

svn path=/trunk/boinc/; revision=14080
2007-11-05 15:03:16 +00:00
Rom Walton f77ad4b0aa - client: read_file_string was modified sometime ago to support tail
functionality, we really do want only the last 63KB of stderr
        for science applications.
    
    client/
        app_control.C

svn path=/trunk/boinc/; revision=13935
2007-10-23 14:50:02 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
Charlie Fenton 3158d103ab client/manager/API: Finish & fix bugs in code cleanup to disentangle sandbox code from lib/.
svn path=/trunk/boinc/; revision=13798
2007-10-09 00:34:38 +00:00
David Anderson d302a5e107 - client/manager/API: code cleanup to disentangle sandbox code from lib/.
- move client sandbox-specific code to a new file, sandbox.C
    - remove g_use_sandbox from util.C; move to MainDocument.cpp (manager)
        and sandbox.C (client)
    - don't declare check_security() in util.h; it's not in util.C
    - don't call remove_project_owned_file_or_dir() in
        boinc_delete_file_aux() or boinc_rmdir();
        rather, at the points in the client that delete
        dirs that are usually owned by boinc_projects,
        call remove_project_owned_file_or_dir() first,
        then clean_out_dir().
    - rename boinc_exec() to switcher_exec() and move it to sandbox.C

Note: this change was sparked by needing to remove a call to getgrnam()
from boinclib, to avoid requiring the same version of glibc
on both compile and target hosts

svn path=/trunk/boinc/; revision=13784
2007-10-05 16:47:07 +00:00
David Anderson dabba949a4 - client: when a job finishes, read last (not first) 63KB of stderr
- client: parse <cpid_time> in scheduler reply;
        add cpid_time field to PROJECT.
        This defaults to the user_create_time.
        In deciding which CPID to send in a scheduler request,
        use the one with oldest cpid_time (not user_create_time).
        This is the client half of fixing a bug that causes
        CPID to flip/flop between to values in a certain case.

svn path=/trunk/boinc/; revision=13531
2007-09-03 23:00:22 +00:00
Charlie Fenton 82f1708512 Create boinc_exec() function for invoking switcher and setprojectgrp utilities instead of calling system()
svn path=/trunk/boinc/; revision=13311
2007-08-14 10:08:36 +00:00
David Anderson 803152369a - client: fix bug that caused "no shared memory segment" errors,
introduced in 20 July checkin

svn path=/trunk/boinc/; revision=13230
2007-07-27 18:22:52 +00:00
David Anderson aefd2d4c88 - client: add mechanism to abort results if they get > 100
"premature exits" (exit(0) without finish file) between checkpoints


svn path=/trunk/boinc/; revision=13207
2007-07-20 23:42:20 +00:00
Rom Walton 24c3a5e7bc svn path=/trunk/boinc/; revision=13080 2007-07-02 18:12:15 +00:00
Charlie Fenton 390633ff7e Back out my shared memory changes of 27 June because it might prevent compound applications from attaching to the shared memory as needed
svn path=/trunk/boinc/; revision=13046
2007-06-28 11:09:07 +00:00
Charlie Fenton fdf8973685 CC: Mark shmem segment for eventual destruction on first msg from task (*nix only)
svn path=/trunk/boinc/; revision=13034
2007-06-27 10:29:31 +00:00
Charlie Fenton 7bb1b1a0d4 CC: Add logic to scheduler, etc. for systems which limit the number of shared memory segments per process and / or system-wide.
svn path=/trunk/boinc/; revision=13015
2007-06-25 11:46:15 +00:00
David Anderson 0a19dddf18 - client: read only first 63KB of stderr.txt
- user web: default work_buf_min_days is 0, not ""

html/inc/
    prefs.inc
client/
    app_control.C

svn path=/trunk/boinc/; revision=12987
2007-06-22 22:18:28 +00:00
Charlie Fenton ad416918ff Sandbox: fix switcher call to kill to eliminate error message and to correctly send SIGKILL instead of SIGTERM.
svn path=/trunk/boinc/; revision=12979
2007-06-22 10:09:13 +00:00
David Anderson 601403d9aa - Client (Unix) show process exit codes as negative numbers also
(e.g., to show BOINC error codes correctly)
- get_project_config.php: add an element that lists the
    platforms supported by this project
    (i.e. for which there's a non-deprecated app version)
    Cache this info in a file (cache/platform_list.xml)
    so that it will be available even when the project's DB is down.
- Rename sample_get_project_config.php to get_project_config.php;
    a project should no longer need its own version of this file.
    Change setup_project accordingly.

client/
    app_control.C
html/user/
    get_project_config.php (new)
    sample_get_project_config.php (removed)
py/Boinc/
    setup_project.py

svn path=/trunk/boinc/; revision=12814
2007-06-04 20:32:47 +00:00
Charlie Fenton 09081b11b1 Revert previous changes
svn path=/trunk/boinc/; revision=12321
2007-04-05 10:46:24 +00:00
Charlie Fenton 60bfbaaba6 *** empty log message ***
svn path=/trunk/boinc/; revision=12320
2007-04-05 10:22:31 +00:00
David Anderson e4ddb2a0a1 *** empty log message ***
svn path=/trunk/boinc/; revision=12302
2007-04-03 19:06:26 +00:00
David Anderson ebf7dd730d *** empty log message ***
svn path=/trunk/boinc/; revision=12301
2007-04-03 17:16:39 +00:00
David Anderson 2b67a5e84e *** empty log message ***
svn path=/trunk/boinc/; revision=12185
2007-03-04 02:30:48 +00:00
Charlie Fenton c195fed96b *** empty log message ***
svn path=/trunk/boinc/; revision=12174
2007-02-28 17:33:58 +00:00
Charlie Fenton adb4670d67 *** empty log message ***
svn path=/trunk/boinc/; revision=12170
2007-02-28 16:10:17 +00:00
David Anderson 6ff0977570 *** empty log message ***
svn path=/trunk/boinc/; revision=12139
2007-02-22 16:33:37 +00:00
David Anderson e3dd5f75f9 *** empty log message ***
svn path=/trunk/boinc/; revision=12136
2007-02-21 22:27:35 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
Rom Walton b8cf48e398 *** empty log message ***
svn path=/trunk/boinc/; revision=12123
2007-02-20 18:25:04 +00:00
Rom Walton 46a45958c2 *** empty log message ***
svn path=/trunk/boinc/; revision=12122
2007-02-20 16:27:15 +00:00
David Anderson e980ba94af *** empty log message ***
svn path=/trunk/boinc/; revision=12096
2007-02-15 21:11:05 +00:00
David Anderson 3b27b99b0e *** empty log message ***
svn path=/trunk/boinc/; revision=12056
2007-02-08 21:06:03 +00:00
David Anderson ac3e809427 *** empty log message ***
svn path=/trunk/boinc/; revision=12026
2007-02-02 17:12:07 +00:00
David Anderson a26b6a2215 *** empty log message ***
svn path=/trunk/boinc/; revision=11972
2007-01-25 23:39:06 +00:00
David Anderson 6a10211584 *** empty log message ***
svn path=/trunk/boinc/; revision=11960
2007-01-24 22:55:00 +00:00
David Anderson 71fc6345b7 *** empty log message ***
svn path=/trunk/boinc/; revision=11957
2007-01-24 21:20:57 +00:00
David Anderson 2b3045ac49 *** empty log message ***
svn path=/trunk/boinc/; revision=11951
2007-01-24 19:31:49 +00:00
David Anderson c12709c7e2 *** empty log message ***
svn path=/trunk/boinc/; revision=11938
2007-01-23 17:24:43 +00:00