Changes between Version 4 and Version 5 of ServerDebug

Show
Ignore:
Author:
davea (IP: 128.32.18.181)
Timestamp:
06/16/09 13:07:01 (5 months ago)
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: 

If this page is incomplete or incorrect, please edit it or add it to the wiki to-do list. To do this, you must be logged in; click Login or Register above.