Changes between Version 4 and Version 5 of ServerDebug


Ignore:
Timestamp:
Jun 16, 2009, 1:07:01 PM (15 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ServerDebug

    v4 v5  
    55== Log files ==
    66
    7 Most error conditions are reported in the log files. Make sure you know where these are. If you're interested in the history of a particular WU or result, grep for `WU#12345` or `RESULT#12345` (where 12345 represents the ID) in the log files. The [HtmlOps html/ops pages] also provide an interface for this.
     7Each server component (scheduler, feeder, transitioner, etc.) has its own log file.
     8Most error conditions are reported in the log files;
     9make sure you know where they are.
     10If you're interested in the history of a particular WU or result,
     11grep for `WU#12345` or `RESULT#12345` (where 12345 represents the ID) in the log files.
     12The [HtmlOps html/ops pages] also provide an interface for this.
     13
     14To control the verbosity of the log files:
     15
     16 * Scheduler: set the desired [ProjectOptions#Scheduler:logging logging options]
     17 * File upload handler: set [ProjectOptions#misc fuh_debug_level].
     18 * Other components: pass "-d N" (1=least verbose, 3=most verbose)
    819
    920== Debugging the scheduler ==
    1021
     22Start by setting the appropriate logging options and examining the log file.
     23
     24If this doesn't reveal the problem, or if the scheduler is crashing,
     25you can run it under a debugger like `gdb`.
    1126The scheduler is a CGI program;
    1227it reads a request from stdin and writes a reply to stdout.
    13 You can run it with a command-line debugger like `gdb`:
     28So you can debug it as follows:
     29
    1430 * Copy the "scheduler_request_X.xml" file from a client to the machine running the scheduler. (X = your project URL)
    1531 * Run the scheduler under the debugger, giving it this file as stdin, i.e.:
     
    2440}}}
    2541
    26 This is useful for figuring out why your project is generating 'no work available' messages.  As an alternative to this, edit `handle_request.C`, and put a call to `debug_sched(sreq, sreply, "../debug_sched")` just before `sreply.write(fout)`. Then, after recompiling, touch a file called 'debug_sched' in the project root directory. This will cause transcripts of all subsequent scheduler requests and replies to be written to the `cgi-bin/` directory with separate small files for each request.  The file names are `sched_request_H_R` where H=hostid and R=rpc sequence number. This can be turned off by deleting the 'debug_sched' file.
     42This is useful for figuring out why your project is generating 'no work available' messages.
     43As an alternative to this, edit `handle_request.C`,
     44and put a call to `debug_sched(sreq, sreply, "../debug_sched")` just before `sreply.write(fout)`.
     45Then, after recompiling, touch a file called 'debug_sched' in the project root directory.
     46This will cause transcripts of all subsequent scheduler requests and replies
     47to be written to the `cgi-bin/` directory with separate small files for each request.
     48The file names are `sched_request_H_R` where H=hostid and R=rpc sequence number.
     49This can be turned off by deleting the 'debug_sched' file.
    2750
    2851To get core files for scheduler crashes, put the following line in sched/main.C, and recompile: